From 08cd975eb45bb0cc43d9a0035109ec0258e936aa Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Thu, 8 Dec 2016 14:54:06 -0500 Subject: [PATCH] always include web polyfills for now --- .../src/transformPolyfillRequirePlugin.js | 10 ++++++++-- .../plugin-options/filters-duplicates/expected.js | 3 +++ .../plugin-options/regenerator-false/expected.js | 3 +++ .../plugin-options/regenerator-true/expected.js | 5 ++++- .../test/fixtures/preset-options/core-js/expected.js | 5 ++++- .../fixtures/preset-options/empty-options/expected.js | 2 +- .../fixtures/preset-options/modules-false/expected.js | 2 +- .../fixtures/preset-options/no-options/expected.js | 2 +- .../preset-options/use-builtins-chrome-48/expected.js | 5 ++++- .../preset-options/use-builtins-chrome-49/expected.js | 5 ++++- .../preset-options/use-builtins-import/expected.js | 5 ++++- .../use-builtins-multiple-imports/expected.js | 5 ++++- .../use-builtins-regenerator-true/expected.js | 5 ++++- .../preset-options/use-builtins-require/expected.js | 8 +++++++- .../test/fixtures/preset-options/whitelist/expected.js | 2 +- 15 files changed, 53 insertions(+), 14 deletions(-) diff --git a/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js b/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js index e82fb2009d..11782b1dd7 100644 --- a/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js +++ b/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js @@ -2,6 +2,12 @@ function isPolyfillSource(value) { return value === "babel-polyfill" || value === "core-js"; } +const whitelist = [ + "web.timers", + "web.immediate", + "web.dom.iterable" +]; + export default function ({ types: t }) { function createImportDeclaration(polyfill) { let declar = t.importDeclaration([], t.stringLiteral(`core-js/modules/${polyfill}`)); @@ -60,7 +66,7 @@ export default function ({ types: t }) { } path.replaceWithMultiple( - createImports(state.opts.polyfills, "import", state.opts.regenerator) + createImports([...state.opts.polyfills, ...whitelist], "import", state.opts.regenerator) ); } }, @@ -81,7 +87,7 @@ to the "transform-polyfill-require" plugin } bodyPath.replaceWithMultiple( - createImports(state.opts.polyfills, "require", state.opts.regenerator) + createImports([...state.opts.polyfills, ...whitelist], "require", state.opts.regenerator) ); } }); diff --git a/experimental/babel-preset-env/test/fixtures/plugin-options/filters-duplicates/expected.js b/experimental/babel-preset-env/test/fixtures/plugin-options/filters-duplicates/expected.js index 6a01cbb4c3..81d166d7ff 100644 --- a/experimental/babel-preset-env/test/fixtures/plugin-options/filters-duplicates/expected.js +++ b/experimental/babel-preset-env/test/fixtures/plugin-options/filters-duplicates/expected.js @@ -1,2 +1,5 @@ import "core-js/modules/es6.typed.data-view"; import "core-js/modules/es6.reflect.apply"; +import "core-js/modules/web.timers"; +import "core-js/modules/web.immediate"; +import "core-js/modules/web.dom.iterable"; diff --git a/experimental/babel-preset-env/test/fixtures/plugin-options/regenerator-false/expected.js b/experimental/babel-preset-env/test/fixtures/plugin-options/regenerator-false/expected.js index e69de29bb2..949a0f6afe 100644 --- a/experimental/babel-preset-env/test/fixtures/plugin-options/regenerator-false/expected.js +++ b/experimental/babel-preset-env/test/fixtures/plugin-options/regenerator-false/expected.js @@ -0,0 +1,3 @@ +import "core-js/modules/web.timers"; +import "core-js/modules/web.immediate"; +import "core-js/modules/web.dom.iterable"; \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/plugin-options/regenerator-true/expected.js b/experimental/babel-preset-env/test/fixtures/plugin-options/regenerator-true/expected.js index 1cedc1eb21..80b0d61e35 100644 --- a/experimental/babel-preset-env/test/fixtures/plugin-options/regenerator-true/expected.js +++ b/experimental/babel-preset-env/test/fixtures/plugin-options/regenerator-true/expected.js @@ -1 +1,4 @@ -import "core-js/modules/regenerator-runtime/runtime"; \ No newline at end of file +import "core-js/modules/web.timers"; +import "core-js/modules/web.immediate"; +import "core-js/modules/web.dom.iterable"; +import "core-js/modules/regenerator-runtime/runtime"; diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/core-js/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/core-js/expected.js index 531f909e8e..2f3d87c876 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/core-js/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/core-js/expected.js @@ -1,2 +1,5 @@ import "core-js/modules/es7.string.pad-start"; -import "core-js/modules/es7.string.pad-end"; \ No newline at end of file +import "core-js/modules/es7.string.pad-end"; +import "core-js/modules/web.timers"; +import "core-js/modules/web.immediate"; +import "core-js/modules/web.dom.iterable"; \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/empty-options/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/empty-options/expected.js index b298c5e19d..e5daec6125 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/empty-options/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/empty-options/expected.js @@ -1,3 +1,3 @@ "use strict"; -var a = "1"; +var a = "1"; \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/modules-false/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/modules-false/expected.js index 4b992e32e1..6705308072 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/modules-false/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/modules-false/expected.js @@ -1 +1 @@ -import a from "a"; +import a from "a"; \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/no-options/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/no-options/expected.js index b298c5e19d..e5daec6125 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/no-options/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/no-options/expected.js @@ -1,3 +1,3 @@ "use strict"; -var a = "1"; +var a = "1"; \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/expected.js index ff0cef88f6..a5aab0e153 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-48/expected.js @@ -29,6 +29,9 @@ import "core-js/modules/es7.object.entries"; import "core-js/modules/es7.object.get-own-property-descriptors"; import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; +import "core-js/modules/web.timers"; +import "core-js/modules/web.immediate"; +import "core-js/modules/web.dom.iterable"; import "core-js/modules/regenerator-runtime/runtime"; -Math.pow(1, 2); +Math.pow(1, 2); \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/expected.js index 234cb96ac1..a9683cfbd6 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-chrome-49/expected.js @@ -15,6 +15,9 @@ import "core-js/modules/es7.object.entries"; import "core-js/modules/es7.object.get-own-property-descriptors"; import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; +import "core-js/modules/web.timers"; +import "core-js/modules/web.immediate"; +import "core-js/modules/web.dom.iterable"; import "core-js/modules/regenerator-runtime/runtime"; -Math.pow(1, 2); +Math.pow(1, 2); \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-import/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-import/expected.js index 5fe99c52a3..9e8a5ca09d 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-import/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-import/expected.js @@ -1,4 +1,7 @@ import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; +import "core-js/modules/web.timers"; +import "core-js/modules/web.immediate"; +import "core-js/modules/web.dom.iterable"; -1 ** 2; +1 ** 2; \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-multiple-imports/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-multiple-imports/expected.js index 5fe99c52a3..9e8a5ca09d 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-multiple-imports/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-multiple-imports/expected.js @@ -1,4 +1,7 @@ import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; +import "core-js/modules/web.timers"; +import "core-js/modules/web.immediate"; +import "core-js/modules/web.dom.iterable"; -1 ** 2; +1 ** 2; \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-regenerator-true/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-regenerator-true/expected.js index 80bd6e9561..90382f6a1a 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-regenerator-true/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-regenerator-true/expected.js @@ -81,6 +81,9 @@ import "core-js/modules/es7.object.entries"; import "core-js/modules/es7.object.get-own-property-descriptors"; import "core-js/modules/es7.string.pad-start"; import "core-js/modules/es7.string.pad-end"; +import "core-js/modules/web.timers"; +import "core-js/modules/web.immediate"; +import "core-js/modules/web.dom.iterable"; import "core-js/modules/regenerator-runtime/runtime"; -Math.pow(1, 2); +Math.pow(1, 2); \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-require/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-require/expected.js index 8b669141c2..5b1e24da7e 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-require/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/use-builtins-require/expected.js @@ -2,4 +2,10 @@ require("core-js/modules/es7.string.pad-start"); require("core-js/modules/es7.string.pad-end"); -1 ** 2; +require("core-js/modules/web.timers"); + +require("core-js/modules/web.immediate"); + +require("core-js/modules/web.dom.iterable"); + +1 ** 2; \ No newline at end of file diff --git a/experimental/babel-preset-env/test/fixtures/preset-options/whitelist/expected.js b/experimental/babel-preset-env/test/fixtures/preset-options/whitelist/expected.js index 30b4a43e11..431d61e441 100644 --- a/experimental/babel-preset-env/test/fixtures/preset-options/whitelist/expected.js +++ b/experimental/babel-preset-env/test/fixtures/preset-options/whitelist/expected.js @@ -4,4 +4,4 @@ var _a = require("a"); var _a2 = _interopRequireDefault(_a); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } \ No newline at end of file