From fc87c009806dcc98867f6b58efe29b042aa01dee Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Mon, 18 May 2026 23:10:59 +0800 Subject: node: update --- .../lib/index.js | 53 ---------------------- 1 file changed, 53 deletions(-) delete mode 100644 node_modules/babel-plugin-transform-regexp-constructors/lib/index.js (limited to 'node_modules/babel-plugin-transform-regexp-constructors/lib/index.js') diff --git a/node_modules/babel-plugin-transform-regexp-constructors/lib/index.js b/node_modules/babel-plugin-transform-regexp-constructors/lib/index.js deleted file mode 100644 index be79d8df..00000000 --- a/node_modules/babel-plugin-transform-regexp-constructors/lib/index.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; - -function createRegExpLiteral(args, prettify, t) { - const evaluatedArgs = args.map(a => a.evaluate()); - - if (!evaluatedArgs.every(a => a.confident && typeof a.value === "string")) { - return; - } - - let pattern = evaluatedArgs.length >= 1 && evaluatedArgs[0].value !== "" ? evaluatedArgs[0].value : "(?:)"; - const flags = evaluatedArgs.length >= 2 ? evaluatedArgs[1].value : ""; - pattern = new RegExp(pattern).source; - - if (prettify) { - pattern = pattern.replace(/\n/g, "\\n").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/[\b]/g, "[\\b]").replace(/\v/g, "\\v").replace(/\f/g, "\\f").replace(/\r/g, "\\r"); - } - - pattern = pattern.replace(/\0/g, "\\0"); - return t.regExpLiteral(pattern, flags); -} - -function maybeReplaceWithRegExpLiteral(path, t) { - if (!t.isIdentifier(path.node.callee, { - name: "RegExp" - })) { - return; - } - - const regExpLiteral = createRegExpLiteral(path.get("arguments"), true, t); - - if (regExpLiteral) { - path.replaceWith(regExpLiteral); - } -} - -module.exports = function ({ - types: t -}) { - return { - name: "transform-regexp-constructors", - visitor: { - NewExpression(path) { - maybeReplaceWithRegExpLiteral(path, t); - }, - - CallExpression(path) { - // equivalent to `new RegExp()` according to ยง21.2.3 - maybeReplaceWithRegExpLiteral(path, t); - } - - } - }; -}; \ No newline at end of file -- cgit v1.2.3