diff --git a/packages/babel-helper-create-regexp-features-plugin/package.json b/packages/babel-helper-create-regexp-features-plugin/package.json index f1e476f881eb..3b34ca4d5f54 100644 --- a/packages/babel-helper-create-regexp-features-plugin/package.json +++ b/packages/babel-helper-create-regexp-features-plugin/package.json @@ -19,7 +19,6 @@ ], "dependencies": { "@babel/helper-annotate-as-pure": "workspace:^7.10.4", - "@babel/helper-regex": "workspace:^7.10.4", "regexpu-core": "^4.7.1" }, "peerDependencies": { diff --git a/packages/babel-helper-create-regexp-features-plugin/src/index.js b/packages/babel-helper-create-regexp-features-plugin/src/index.js index 60b7f2a682d2..7c9e5802d163 100644 --- a/packages/babel-helper-create-regexp-features-plugin/src/index.js +++ b/packages/babel-helper-create-regexp-features-plugin/src/index.js @@ -10,9 +10,21 @@ import { generateRegexpuOptions } from "./util"; import pkg from "../package.json"; import { types as t } from "@babel/core"; -import { pullFlag } from "@babel/helper-regex"; import annotateAsPure from "@babel/helper-annotate-as-pure"; +type RegExpFlags = "i" | "g" | "m" | "s" | "u" | "y"; + +/** + * Remove given flag from given RegExpLiteral node + * + * @param {RegExpLiteral} node + * @param {RegExpFlags} flag + * @returns {void} + */ +function pullFlag(node, flag: RegExpFlags): void { + node.flags = node.flags.replace(flag, ""); +} + // Note: Versions are represented as an integer. e.g. 7.1.5 is represented // as 70000100005. This method is easier than using a semver-parsing // package, but it breaks if we release x.y.z where x, y or z are diff --git a/packages/babel-plugin-transform-sticky-regex/package.json b/packages/babel-plugin-transform-sticky-regex/package.json index 8e63e3d275ae..816dc3586849 100644 --- a/packages/babel-plugin-transform-sticky-regex/package.json +++ b/packages/babel-plugin-transform-sticky-regex/package.json @@ -16,8 +16,7 @@ "babel-plugin" ], "dependencies": { - "@babel/helper-plugin-utils": "workspace:^7.10.4", - "@babel/helper-regex": "workspace:^7.10.4" + "@babel/helper-plugin-utils": "workspace:^7.10.4" }, "peerDependencies": { "@babel/core": "^7.0.0-0" diff --git a/packages/babel-plugin-transform-sticky-regex/src/index.js b/packages/babel-plugin-transform-sticky-regex/src/index.js index e5961dfee699..3fee3bb2b80e 100644 --- a/packages/babel-plugin-transform-sticky-regex/src/index.js +++ b/packages/babel-plugin-transform-sticky-regex/src/index.js @@ -1,5 +1,4 @@ import { declare } from "@babel/helper-plugin-utils"; -import * as regex from "@babel/helper-regex"; import { types as t } from "@babel/core"; export default declare(api => { @@ -11,7 +10,7 @@ export default declare(api => { visitor: { RegExpLiteral(path) { const { node } = path; - if (!regex.is(node, "y")) return; + if (!node.flags.includes("y")) return; path.replaceWith( t.newExpression(t.identifier("RegExp"), [ diff --git a/yarn.lock b/yarn.lock index 79d9298dd813..840ce43edf9b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -409,7 +409,6 @@ __metadata: "@babel/core": "workspace:*" "@babel/helper-annotate-as-pure": "workspace:^7.10.4" "@babel/helper-plugin-test-runner": "workspace:*" - "@babel/helper-regex": "workspace:^7.10.4" regexpu-core: ^4.7.1 peerDependencies: "@babel/core": ^7.0.0 @@ -646,7 +645,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-regex@workspace:^7.10.4, @babel/helper-regex@workspace:packages/babel-helper-regex": +"@babel/helper-regex@workspace:packages/babel-helper-regex": version: 0.0.0-use.local resolution: "@babel/helper-regex@workspace:packages/babel-helper-regex" dependencies: @@ -2748,7 +2747,6 @@ __metadata: "@babel/core": "workspace:*" "@babel/helper-plugin-test-runner": "workspace:*" "@babel/helper-plugin-utils": "workspace:^7.10.4" - "@babel/helper-regex": "workspace:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 languageName: unknown