Refactor es2015-loose and es2015-no-commonjs presets to use preset op… (#6168)

This commit is contained in:
Brandon Max
2017-08-30 00:02:54 -04:00
committed by Justin Ridgewell
parent d70603ffa9
commit 84580cc2d1
4 changed files with 30 additions and 75 deletions

View File

@@ -82,6 +82,7 @@
"babel-plugin-transform-runtime": "7.0.0-alpha.19",
"babel-plugin-transform-strict-mode": "7.0.0-alpha.19",
"babel-preset-env": "2.0.0-alpha.19",
"babel-preset-flow": "7.0.0-alpha.19",
"babel-preset-es2015": "7.0.0-alpha.19",
"babel-preset-es2016": "7.0.0-alpha.19",
"babel-preset-es2017": "7.0.0-alpha.19",
@@ -90,6 +91,7 @@
"babel-preset-stage-1": "7.0.0-alpha.19",
"babel-preset-stage-2": "7.0.0-alpha.19",
"babel-preset-stage-3": "7.0.0-alpha.19",
"babel-preset-typescript": "7.0.0-alpha.19",
"gulp-rename": "^1.2.2",
"gulp-uglify": "^3.0.0",
"json-loader": "^0.5.7",

View File

@@ -218,75 +218,15 @@ registerPresets({
"stage-1": require("babel-preset-stage-1"),
"stage-2": require("babel-preset-stage-2"),
"stage-3": require("babel-preset-stage-3"),
// ES2015 preset with es2015-modules-commonjs removed
// Plugin list copied from babel-preset-es2015/index.js
"es2015-no-commonjs": {
plugins: [
require("babel-plugin-transform-es2015-template-literals"),
require("babel-plugin-transform-es2015-literals"),
require("babel-plugin-transform-es2015-function-name"),
require("babel-plugin-transform-es2015-arrow-functions"),
require("babel-plugin-transform-es2015-block-scoped-functions"),
require("babel-plugin-transform-es2015-classes"),
require("babel-plugin-transform-es2015-object-super"),
require("babel-plugin-transform-es2015-shorthand-properties"),
require("babel-plugin-transform-es2015-computed-properties"),
require("babel-plugin-transform-es2015-for-of"),
require("babel-plugin-transform-es2015-sticky-regex"),
require("babel-plugin-transform-es2015-unicode-regex"),
require("babel-plugin-check-es2015-constants"),
require("babel-plugin-transform-es2015-spread"),
require("babel-plugin-transform-es2015-parameters"),
require("babel-plugin-transform-es2015-destructuring"),
require("babel-plugin-transform-es2015-block-scoping"),
require("babel-plugin-transform-es2015-typeof-symbol"),
[
require("babel-plugin-transform-regenerator"),
{ async: false, asyncGenerators: false },
],
],
},
// ES2015 preset with plugins set to loose mode.
// Based off https://github.com/bkonkle/babel-preset-es2015-loose/blob/master/index.js
"es2015-loose": {
plugins: [
[
require("babel-plugin-transform-es2015-template-literals"),
{ loose: true },
],
require("babel-plugin-transform-es2015-literals"),
require("babel-plugin-transform-es2015-function-name"),
require("babel-plugin-transform-es2015-arrow-functions"),
require("babel-plugin-transform-es2015-block-scoped-functions"),
[require("babel-plugin-transform-es2015-classes"), { loose: true }],
require("babel-plugin-transform-es2015-object-super"),
require("babel-plugin-transform-es2015-shorthand-properties"),
require("babel-plugin-transform-es2015-duplicate-keys"),
[
require("babel-plugin-transform-es2015-computed-properties"),
{ loose: true },
],
[require("babel-plugin-transform-es2015-for-of"), { loose: true }],
require("babel-plugin-transform-es2015-sticky-regex"),
require("babel-plugin-transform-es2015-unicode-regex"),
require("babel-plugin-check-es2015-constants"),
[require("babel-plugin-transform-es2015-spread"), { loose: true }],
require("babel-plugin-transform-es2015-parameters"),
[require("babel-plugin-transform-es2015-destructuring"), { loose: true }],
require("babel-plugin-transform-es2015-block-scoping"),
require("babel-plugin-transform-es2015-typeof-symbol"),
[
require("babel-plugin-transform-es2015-modules-commonjs"),
{ loose: true },
],
[
require("babel-plugin-transform-regenerator"),
{ async: false, asyncGenerators: false },
],
],
presets: [[require("babel-preset-es2015"), { loose: true }]],
},
// ES2015 preset with es2015-modules-commonjs removed
"es2015-no-commonjs": {
presets: [[require("babel-preset-es2015"), { modules: false }]],
},
typescript: require("babel-preset-typescript"),
flow: require("babel-preset-flow"),
});
export const version = VERSION;

View File

@@ -14,7 +14,24 @@ describe("babel-standalone", () => {
"};",
);
});
it("handles the es2015-loose preset", () => {
const output = Babel.transform("class A {}", {
presets: ["es2015-loose"],
}).code;
assert.equal(output, '"use strict";\n\nvar A = function A() {};');
});
it("handles the typescript preset", () => {
const output = Babel.transform("var a: string;", {
presets: ["typescript"],
}).code;
assert.equal(output, "var a;");
});
it("handles the flow preset", () => {
const output = Babel.transform("var a: string;", {
presets: ["flow"],
}).code;
assert.equal(output, "var a;");
});
it("can translate simple ast", () => {
const ast = {
type: "Program",

View File

@@ -1172,9 +1172,9 @@ babylon@7.0.0-beta.18:
version "7.0.0-beta.18"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.18.tgz#5c23ee3fdb66358aabf3789779319c5b78a233c7"
babylon@7.0.0-beta.19:
version "7.0.0-beta.19"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.19.tgz#e928c7e807e970e0536b078ab3e0c48f9e052503"
babylon@7.0.0-beta.22, babylon@^7.0.0-beta.22:
version "7.0.0-beta.22"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.22.tgz#74f0ad82ed7c7c3cfeab74cf684f815104161b65"
babylon@^6.17.0:
version "6.18.0"
@@ -1184,10 +1184,6 @@ babylon@^6.17.2, babylon@^6.17.4:
version "6.17.4"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a"
babylon@^7.0.0-beta.19:
version "7.0.0-beta.20"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.20.tgz#7dbc70cc88de13334066fe5200e0efaa30c0490e"
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"