From 84580cc2d12b390d9bf99040769e719750a3c5ca Mon Sep 17 00:00:00 2001 From: Brandon Max Date: Wed, 30 Aug 2017 00:02:54 -0400 Subject: [PATCH] =?UTF-8?q?Refactor=20es2015-loose=20and=20es2015-no-commo?= =?UTF-8?q?njs=20presets=20to=20use=20preset=20op=E2=80=A6=20(#6168)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/babel-standalone/package.json | 2 + packages/babel-standalone/src/index.js | 74 +++---------------------- packages/babel-standalone/test/babel.js | 19 ++++++- yarn.lock | 10 +--- 4 files changed, 30 insertions(+), 75 deletions(-) diff --git a/packages/babel-standalone/package.json b/packages/babel-standalone/package.json index 3fddafefae..7b70964ad4 100644 --- a/packages/babel-standalone/package.json +++ b/packages/babel-standalone/package.json @@ -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", diff --git a/packages/babel-standalone/src/index.js b/packages/babel-standalone/src/index.js index 0281596c2e..cbf51df44c 100644 --- a/packages/babel-standalone/src/index.js +++ b/packages/babel-standalone/src/index.js @@ -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; diff --git a/packages/babel-standalone/test/babel.js b/packages/babel-standalone/test/babel.js index ba74034d24..6dd00e9695 100644 --- a/packages/babel-standalone/test/babel.js +++ b/packages/babel-standalone/test/babel.js @@ -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", diff --git a/yarn.lock b/yarn.lock index 569ecccd1c..adc97a8bc5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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"