diff --git a/packages/babel-standalone/package.json b/packages/babel-standalone/package.json index 1763af880f83..b8b2c1323235 100644 --- a/packages/babel-standalone/package.json +++ b/packages/babel-standalone/package.json @@ -33,6 +33,7 @@ "@babel/plugin-proposal-private-property-in-object": "workspace:^", "@babel/plugin-proposal-throw-expressions": "workspace:^", "@babel/plugin-proposal-unicode-property-regex": "workspace:^", + "@babel/plugin-proposal-unicode-sets-regex": "workspace:^", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", diff --git a/packages/babel-standalone/scripts/pluginConfig.json b/packages/babel-standalone/scripts/pluginConfig.json index 11bb05332ab1..363b180479f9 100644 --- a/packages/babel-standalone/scripts/pluginConfig.json +++ b/packages/babel-standalone/scripts/pluginConfig.json @@ -44,6 +44,7 @@ "proposal-private-property-in-object", "proposal-throw-expressions", "proposal-unicode-property-regex", + "proposal-unicode-sets-regex", "transform-async-to-generator", "transform-arrow-functions", "transform-block-scoped-functions", diff --git a/packages/babel-standalone/src/generated/plugins.ts b/packages/babel-standalone/src/generated/plugins.ts index 55d24bbdad1f..0e9e6f9c1efb 100644 --- a/packages/babel-standalone/src/generated/plugins.ts +++ b/packages/babel-standalone/src/generated/plugins.ts @@ -47,6 +47,7 @@ import proposalPrivateMethods from "@babel/plugin-proposal-private-methods"; import proposalPrivatePropertyInObject from "@babel/plugin-proposal-private-property-in-object"; import proposalThrowExpressions from "@babel/plugin-proposal-throw-expressions"; import proposalUnicodePropertyRegex from "@babel/plugin-proposal-unicode-property-regex"; +import proposalUnicodeSetsRegex from "@babel/plugin-proposal-unicode-sets-regex"; import transformAsyncToGenerator from "@babel/plugin-transform-async-to-generator"; import transformArrowFunctions from "@babel/plugin-transform-arrow-functions"; import transformBlockScopedFunctions from "@babel/plugin-transform-block-scoped-functions"; @@ -144,6 +145,7 @@ export { proposalPrivatePropertyInObject, proposalThrowExpressions, proposalUnicodePropertyRegex, + proposalUnicodeSetsRegex, transformAsyncToGenerator, transformArrowFunctions, transformBlockScopedFunctions, @@ -242,6 +244,7 @@ export const all: { [k: string]: any } = { "proposal-private-property-in-object": proposalPrivatePropertyInObject, "proposal-throw-expressions": proposalThrowExpressions, "proposal-unicode-property-regex": proposalUnicodePropertyRegex, + "proposal-unicode-sets-regex": proposalUnicodeSetsRegex, "transform-async-to-generator": transformAsyncToGenerator, "transform-arrow-functions": transformArrowFunctions, "transform-block-scoped-functions": transformBlockScopedFunctions, diff --git a/packages/babel-standalone/src/preset-stage-3.ts b/packages/babel-standalone/src/preset-stage-3.ts index d8a8bfcb467d..7c7d73d73862 100644 --- a/packages/babel-standalone/src/preset-stage-3.ts +++ b/packages/babel-standalone/src/preset-stage-3.ts @@ -4,7 +4,7 @@ export default (_: any, { loose = false } = {}) => { // todo(flow->ts) improve types const plugins: any[] = [ babelPlugins.syntaxImportAssertions, - babelPlugins.proposalClassStaticBlock, + babelPlugins.proposalUnicodeSetsRegex, ]; if (!process.env.BABEL_8_BREAKING) { @@ -21,6 +21,7 @@ export default (_: any, { loose = false } = {}) => { babelPlugins.proposalNumericSeparator, [babelPlugins.proposalPrivateMethods, { loose }], babelPlugins.proposalPrivatePropertyInObject, + babelPlugins.proposalClassStaticBlock, ); } diff --git a/packages/babel-standalone/test/preset-stage-1.test.js b/packages/babel-standalone/test/preset-stage-1.test.js index c9a64c3326b1..fe900ce7ff49 100644 --- a/packages/babel-standalone/test/preset-stage-1.test.js +++ b/packages/babel-standalone/test/preset-stage-1.test.js @@ -68,5 +68,11 @@ const require = createRequire(import.meta.url); }).code; expect(output).not.toContain("#x:"); }); + it("should support regexp v flag", () => { + const output = Babel.transform("/[[a-p]&&[d-z]]/v", { + presets: [["stage-1", { decoratorsVersion: "2021-12" }]], + }).code; + expect(output).toMatchInlineSnapshot(`"/[d-p]/u;"`); + }); }, ); diff --git a/yarn.lock b/yarn.lock index 9023777afb47..a230237fc341 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1730,7 +1730,7 @@ __metadata: languageName: unknown linkType: soft -"@babel/plugin-proposal-unicode-sets-regex@workspace:packages/babel-plugin-proposal-unicode-sets-regex": +"@babel/plugin-proposal-unicode-sets-regex@workspace:^, @babel/plugin-proposal-unicode-sets-regex@workspace:packages/babel-plugin-proposal-unicode-sets-regex": version: 0.0.0-use.local resolution: "@babel/plugin-proposal-unicode-sets-regex@workspace:packages/babel-plugin-proposal-unicode-sets-regex" dependencies: @@ -3610,6 +3610,7 @@ __metadata: "@babel/plugin-proposal-private-property-in-object": "workspace:^" "@babel/plugin-proposal-throw-expressions": "workspace:^" "@babel/plugin-proposal-unicode-property-regex": "workspace:^" + "@babel/plugin-proposal-unicode-sets-regex": "workspace:^" "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-class-properties": ^7.12.13 "@babel/plugin-syntax-class-static-block": ^7.14.5