From 993e5b503beeb372426148fa28730df5201d353a Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Sat, 23 Mar 2019 10:10:17 +0700 Subject: [PATCH 1/3] normalize `core-js` entry points names --- .../src/polyfills/corejs3/entry-plugin.js | 3 +++ .../fixtures/corejs3/entry-normalization/input.mjs | 5 +++++ .../corejs3/entry-normalization/options.json | 12 ++++++++++++ .../fixtures/corejs3/entry-normalization/output.mjs | 9 +++++++++ 4 files changed, 29 insertions(+) create mode 100644 packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/input.mjs create mode 100644 packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/options.json create mode 100644 packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/output.mjs 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 da8034779d7c..6570b87dd4c1 100644 --- a/packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js +++ b/packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js @@ -21,6 +21,9 @@ function isBabelPolyfillSource(source) { } function isCoreJSSource(source) { + if (typeof source === "string") { + source = source.replace(/(\/(index)?)?(\.js)?$/i, "").toLowerCase(); + } return has(corejsEntries, source) && corejsEntries[source]; } diff --git a/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/input.mjs b/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/input.mjs new file mode 100644 index 000000000000..e957ba4b82d3 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/input.mjs @@ -0,0 +1,5 @@ +import 'core-js/es/map/index.js'; +import 'core-js/es/set/index'; +import 'core-js/es/array/from.js'; +import 'core-js/es/promise/'; +import 'foo/index.js'; diff --git a/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/options.json b/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/options.json new file mode 100644 index 000000000000..fe930890ee20 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/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-normalization/output.mjs b/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/output.mjs new file mode 100644 index 000000000000..4e50993dfe6b --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/output.mjs @@ -0,0 +1,9 @@ +import "core-js/modules/es.array.from"; +import "core-js/modules/es.map"; +import "core-js/modules/es.object.to-string"; +import "core-js/modules/es.promise"; +import "core-js/modules/es.promise.finally"; +import "core-js/modules/es.set"; +import "core-js/modules/es.string.iterator"; +import "core-js/modules/web.dom-collections.iterator"; +import 'foo/index.js'; From 21bfee344fe9d6495541ebdd85bd210e893b53b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Sun, 24 Mar 2019 05:45:44 +0700 Subject: [PATCH 2/3] Update packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js Co-Authored-By: zloirock --- packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 6570b87dd4c1..862e6ef9f219 100644 --- a/packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js +++ b/packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js @@ -22,7 +22,7 @@ function isBabelPolyfillSource(source) { function isCoreJSSource(source) { if (typeof source === "string") { - source = source.replace(/(\/(index)?)?(\.js)?$/i, "").toLowerCase(); + source = source.replace(/([\\/](index)?)?(\.js)?$/i, "").toLowerCase(); } return has(corejsEntries, source) && corejsEntries[source]; } From c111dcdcdaae688f2e07e1abb68730eacf64211e Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Sun, 24 Mar 2019 06:30:07 +0700 Subject: [PATCH 3/3] handle windows paths --- .../babel-preset-env/src/polyfills/corejs3/entry-plugin.js | 5 ++++- .../test/fixtures/corejs3/entry-normalization/input.mjs | 2 ++ .../test/fixtures/corejs3/entry-normalization/output.mjs | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) 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 862e6ef9f219..1d8d3df0a2fa 100644 --- a/packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js +++ b/packages/babel-preset-env/src/polyfills/corejs3/entry-plugin.js @@ -22,7 +22,10 @@ function isBabelPolyfillSource(source) { function isCoreJSSource(source) { if (typeof source === "string") { - source = source.replace(/([\\/](index)?)?(\.js)?$/i, "").toLowerCase(); + source = source + .replace(/\\/g, "/") + .replace(/(\/(index)?)?(\.js)?$/i, "") + .toLowerCase(); } return has(corejsEntries, source) && corejsEntries[source]; } diff --git a/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/input.mjs b/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/input.mjs index e957ba4b82d3..5617711cfa60 100644 --- a/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/input.mjs +++ b/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/input.mjs @@ -2,4 +2,6 @@ import 'core-js/es/map/index.js'; import 'core-js/es/set/index'; import 'core-js/es/array/from.js'; import 'core-js/es/promise/'; +import 'cOrE-jS/eS/SymBOL/iTERator'; +import 'core-js\\es\\symbol\\async-iterator'; import 'foo/index.js'; diff --git a/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/output.mjs b/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/output.mjs index 4e50993dfe6b..479672b52e8e 100644 --- a/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/output.mjs +++ b/packages/babel-preset-env/test/fixtures/corejs3/entry-normalization/output.mjs @@ -1,3 +1,5 @@ +import "core-js/modules/es.symbol.async-iterator"; +import "core-js/modules/es.symbol.iterator"; import "core-js/modules/es.array.from"; import "core-js/modules/es.map"; import "core-js/modules/es.object.to-string";