From 812a8562e645a9c4ed01390a878a8a5c336a4da3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Fri, 26 Jan 2024 19:42:36 +0100 Subject: [PATCH] Use `moduleName` to overwrite polyfill provider preference --- packages/babel-plugin-transform-runtime/src/index.ts | 11 ++++------- .../input.js | 3 --- .../output.mjs | 7 ------- .../moduleName/core-js-in-helpers/options.json | 7 ------- .../input.js | 0 .../options.json | 2 +- .../output.mjs | 0 .../moduleName/overwrite-polyfill-provider/input.js | 1 + .../overwrite-polyfill-provider/options.json | 8 ++++++++ .../moduleName/overwrite-polyfill-provider/output.mjs | 5 +++++ 10 files changed, 19 insertions(+), 25 deletions(-) delete mode 100644 packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/input.js delete mode 100644 packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/output.mjs delete mode 100644 packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers/options.json rename packages/babel-plugin-transform-runtime/test/fixtures/moduleName/{core-js-in-helpers => defaults-to-polyfill-provider}/input.js (100%) rename packages/babel-plugin-transform-runtime/test/fixtures/moduleName/{core-js-in-helpers-with-polyfill-provider => defaults-to-polyfill-provider}/options.json (66%) rename packages/babel-plugin-transform-runtime/test/fixtures/moduleName/{core-js-in-helpers => defaults-to-polyfill-provider}/output.mjs (100%) create mode 100644 packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/input.js create mode 100644 packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/options.json create mode 100644 packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/output.mjs diff --git a/packages/babel-plugin-transform-runtime/src/index.ts b/packages/babel-plugin-transform-runtime/src/index.ts index 7135ca45ff3d..0c26bbaa94c6 100644 --- a/packages/babel-plugin-transform-runtime/src/index.ts +++ b/packages/babel-plugin-transform-runtime/src/index.ts @@ -14,12 +14,7 @@ export interface Options { corejs?: string | number | { version: string | number; proposals?: boolean }; helpers?: boolean; version?: string; - moduleName?: - | null - | "@babel/runtime" - | "@babel/runtime-corejs2" - | "@babel/runtime-corejs3" - | string; + moduleName?: null | string; } export default declare((api, options: Options, dirname) => { @@ -163,7 +158,9 @@ export default declare((api, options: Options, dirname) => { file.set("helperGenerator", (name: string) => { modulePath ??= getRuntimePath( - file.get("runtimeHelpersModuleName") ?? "@babel/runtime", + moduleName ?? + file.get("runtimeHelpersModuleName") ?? + "@babel/runtime", dirname, absoluteRuntime, ); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/input.js deleted file mode 100644 index 72506ebf9708..000000000000 --- a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/input.js +++ /dev/null @@ -1,3 +0,0 @@ -class A {} - -Array.from(x); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/output.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/output.mjs deleted file mode 100644 index 3243fef1b6f0..000000000000 --- a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/output.mjs +++ /dev/null @@ -1,7 +0,0 @@ -import _createClass from "@babel/runtime-corejs3/helpers/createClass"; -import _classCallCheck from "@babel/runtime-corejs3/helpers/classCallCheck"; -import _Array$from from "core-js-pure/stable/array/from.js"; -let A = /*#__PURE__*/_createClass(function A() { - _classCallCheck(this, A); -}); -_Array$from(x); diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers/options.json deleted file mode 100644 index c92ffac71baf..000000000000 --- a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers/options.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "sourceType": "module", - "plugins": [ - "transform-classes", - ["transform-runtime", { "moduleName": "@babel/runtime-corejs3" }] - ] -} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/defaults-to-polyfill-provider/input.js similarity index 100% rename from packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers/input.js rename to packages/babel-plugin-transform-runtime/test/fixtures/moduleName/defaults-to-polyfill-provider/input.js diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/defaults-to-polyfill-provider/options.json similarity index 66% rename from packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/options.json rename to packages/babel-plugin-transform-runtime/test/fixtures/moduleName/defaults-to-polyfill-provider/options.json index c2535099e4a8..fbab5b474780 100644 --- a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers-with-polyfill-provider/options.json +++ b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/defaults-to-polyfill-provider/options.json @@ -2,7 +2,7 @@ "sourceType": "module", "plugins": [ "transform-classes", - ["transform-runtime", { "moduleName": "@babel/runtime-corejs3" }], + ["transform-runtime", { "moduleName": null }], ["babel-plugin-polyfill-corejs3", { "method": "usage-pure" }] ] } diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers/output.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/defaults-to-polyfill-provider/output.mjs similarity index 100% rename from packages/babel-plugin-transform-runtime/test/fixtures/moduleName/core-js-in-helpers/output.mjs rename to packages/babel-plugin-transform-runtime/test/fixtures/moduleName/defaults-to-polyfill-provider/output.mjs diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/input.js b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/input.js new file mode 100644 index 000000000000..37bdd2221a71 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/input.js @@ -0,0 +1 @@ +class A {} \ No newline at end of file diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/options.json b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/options.json new file mode 100644 index 000000000000..cee3e3523ffa --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/options.json @@ -0,0 +1,8 @@ +{ + "sourceType": "module", + "plugins": [ + "transform-classes", + ["transform-runtime", { "moduleName": "lol" }], + ["babel-plugin-polyfill-corejs3", { "method": "usage-pure" }] + ] +} diff --git a/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/output.mjs b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/output.mjs new file mode 100644 index 000000000000..25854f286d97 --- /dev/null +++ b/packages/babel-plugin-transform-runtime/test/fixtures/moduleName/overwrite-polyfill-provider/output.mjs @@ -0,0 +1,5 @@ +import _createClass from "lol/helpers/createClass"; +import _classCallCheck from "lol/helpers/classCallCheck"; +let A = /*#__PURE__*/_createClass(function A() { + _classCallCheck(this, A); +});