diff --git a/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js b/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js index 11782b1dd7..87702c4c47 100644 --- a/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js +++ b/experimental/babel-preset-env/src/transformPolyfillRequirePlugin.js @@ -10,7 +10,7 @@ const whitelist = [ export default function ({ types: t }) { function createImportDeclaration(polyfill) { - let declar = t.importDeclaration([], t.stringLiteral(`core-js/modules/${polyfill}`)); + let declar = t.importDeclaration([], t.stringLiteral(polyfill)); declar._blockHoist = 3; return declar; } @@ -20,7 +20,7 @@ export default function ({ types: t }) { t.callExpression( t.identifier("require"), [ - t.stringLiteral(`core-js/modules/${polyfill}`) + t.stringLiteral(polyfill) ] ) ); @@ -36,7 +36,11 @@ export default function ({ types: t }) { isPolyfillSource(path.node.expression.arguments[0].value); } - function createImport(polyfill, requireType) { + function createImport(polyfill, requireType, core) { + if (core) { + polyfill = `core-js/modules/${polyfill}`; + } + if (requireType === "import") { return createImportDeclaration(polyfill); } else { @@ -47,7 +51,7 @@ export default function ({ types: t }) { function createImports(polyfills, requireType, regenerator) { let imports = polyfills .filter((el, i, arr) => arr.indexOf(el) === i) - .map((polyfill) => createImport(polyfill, requireType)); + .map((polyfill) => createImport(polyfill, requireType, true)); return [ ...imports, 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 80b0d61e35..2936f42f1d 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,4 +1,4 @@ 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"; +import "regenerator-runtime/runtime"; 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 a5aab0e153..d05a5f07c3 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 @@ -32,6 +32,6 @@ 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"; +import "regenerator-runtime/runtime"; -Math.pow(1, 2); \ No newline at end of file +Math.pow(1, 2); 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 a9683cfbd6..9f8a019a16 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 @@ -18,6 +18,6 @@ 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"; +import "regenerator-runtime/runtime"; -Math.pow(1, 2); \ No newline at end of file +Math.pow(1, 2); 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 90382f6a1a..dbc56104f3 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 @@ -84,6 +84,6 @@ 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"; +import "regenerator-runtime/runtime"; -Math.pow(1, 2); \ No newline at end of file +Math.pow(1, 2);