refactor: replace regexp-tree by regexpu (#10430)

This commit is contained in:
Huáng Jùnliàng 2019-09-17 18:38:15 -04:00 committed by Brian Ng
parent 0ef4972295
commit 87dc201411
3 changed files with 19 additions and 13 deletions

View File

@ -11,10 +11,14 @@
"regexp",
"regular expressions"
],
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-named-capturing-groups-regex",
"repository": {
"type": "git",
"url": "https://github.com/babel/babel.git",
"directory": "packages/babel-plugin-transform-named-capturing-groups-regex"
},
"bugs": "https://github.com/babel/babel/issues",
"dependencies": {
"regexp-tree": "^0.1.13"
"regexpu-core": "^4.6.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0"

View File

@ -1,4 +1,4 @@
import regexpTree from "regexp-tree";
import rewritePattern from "regexpu-core";
export default function({ types: t }, options) {
const { runtime = true } = options;
@ -19,16 +19,18 @@ export default function({ types: t }, options) {
return;
}
const result = regexpTree.compatTranspile(node.extra.raw, [
"namedCapturingGroups",
]);
const { namedCapturingGroups } = result.getExtra();
const namedCapturingGroups = {};
const result = rewritePattern(node.pattern, node.flags, {
namedGroup: true,
//todo: consider refactor `lookbehind` true as modular plugin
lookbehind: true,
onNamedGroup(name, index) {
namedCapturingGroups[name] = index;
},
});
if (
namedCapturingGroups &&
Object.keys(namedCapturingGroups).length > 0
) {
node.pattern = result.getSource();
if (Object.keys(namedCapturingGroups).length > 0) {
node.pattern = result;
if (runtime && !isRegExpTest(path)) {
path.replaceWith(

View File

@ -1,3 +1,3 @@
{
"throws": "invalid group Unicode name \"\\u{41}\", use `u` flag."
"throws": "Invalid escape sequence at position 3"
}