diff --git a/packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js b/packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js index caa8de4cff31..1ad1aa996269 100644 --- a/packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js +++ b/packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js @@ -56,7 +56,8 @@ export default function ( modules.length === 1 && polyfills.has(modules[0]) && available.has(modules[0]) && - getModulePath(modules[0]) === source + (getModulePath(modules[0]) === source || + getModulePath(modules[0]) === `${source}.js`) ) { return false; } diff --git a/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-chrome-71/output.mjs b/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-chrome-71/output.mjs index 397c25c08b26..55d6e9dbd5c4 100644 --- a/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-chrome-71/output.mjs +++ b/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-chrome-71/output.mjs @@ -1,2 +1,2 @@ -import "core-js/modules/es.object.from-entries.js"; -import "core-js/modules/esnext.string.replace-all.js"; +import 'core-js/modules/es.object.from-entries'; +import 'core-js/modules/esnext.string.replace-all'; diff --git a/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-with-extensions/input.mjs b/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-with-extensions/input.mjs new file mode 100644 index 000000000000..48ce95b3c86f --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-with-extensions/input.mjs @@ -0,0 +1,3 @@ +import 'core-js/modules/es.symbol.js'; +import 'core-js/modules/es.object.from-entries.js'; +import 'core-js/modules/esnext.string.replace-all.js'; diff --git a/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-with-extensions/options.json b/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-with-extensions/options.json new file mode 100644 index 000000000000..fe930890ee20 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-with-extensions/options.json @@ -0,0 +1,12 @@ +{ + "presets": [ + [ + "../../../../lib", + { + "modules": false, + "useBuiltIns": "entry", + "corejs": 3 + } + ] + ] +} diff --git a/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-with-extensions/output.mjs b/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-with-extensions/output.mjs new file mode 100644 index 000000000000..48ce95b3c86f --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules-with-extensions/output.mjs @@ -0,0 +1,3 @@ +import 'core-js/modules/es.symbol.js'; +import 'core-js/modules/es.object.from-entries.js'; +import 'core-js/modules/esnext.string.replace-all.js'; diff --git a/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules/output.mjs b/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules/output.mjs index 332d84698bac..e761a4ac12c5 100644 --- a/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules/output.mjs +++ b/packages/babel-preset-env/test/fixtures/corejs3/entry-entries-modules/output.mjs @@ -1,3 +1,3 @@ -import "core-js/modules/es.symbol.js"; -import "core-js/modules/es.object.from-entries.js"; -import "core-js/modules/esnext.string.replace-all.js"; +import 'core-js/modules/es.symbol'; +import 'core-js/modules/es.object.from-entries'; +import 'core-js/modules/esnext.string.replace-all';