From 76788e29db98890da38f18036fac583849804123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Mon, 22 May 2023 11:18:56 +0200 Subject: [PATCH] Fix ESM build --- packages/babel-preset-env/src/available-plugins.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/babel-preset-env/src/available-plugins.ts b/packages/babel-preset-env/src/available-plugins.ts index 5789a97ca46f..1191ec290637 100644 --- a/packages/babel-preset-env/src/available-plugins.ts +++ b/packages/babel-preset-env/src/available-plugins.ts @@ -1,5 +1,7 @@ /* eslint sort-keys: "error" */ +declare const USE_ESM: boolean; + import syntaxAsyncGenerators from "@babel/plugin-syntax-async-generators"; import syntaxClassProperties from "@babel/plugin-syntax-class-properties"; import syntaxClassStaticBlock from "@babel/plugin-syntax-class-static-block"; @@ -101,7 +103,13 @@ export default { "syntax-optional-chaining": () => syntaxOptionalChaining, "syntax-private-property-in-object": () => syntaxPrivatePropertyInObject, "syntax-top-level-await": () => syntaxTopLevelAwait, - "syntax-unicode-sets-regex": () => syntaxUnicodeSetsRegex, + // This is a CJS plugin that depends on a package from the monorepo, so it + // breaks using ESM. Given that ESM builds are new enough to have this + // syntax enabled by default, we can safely skip enabling it. + "syntax-unicode-sets-regex": USE_ESM + ? null + : // eslint-disable-next-line no-restricted-globals + () => require("@babel/plugin-syntax-unicode-sets-regex"), "transform-arrow-functions": () => transformArrowFunctions, "transform-async-generator-functions": () => proposalAsyncGeneratorFunctions, "transform-async-to-generator": () => transformAsyncToGenerator,