diff options
Diffstat (limited to 'node_modules/babel-plugin-transform-regexp-constructors')
3 files changed, 0 insertions, 118 deletions
diff --git a/node_modules/babel-plugin-transform-regexp-constructors/README.md b/node_modules/babel-plugin-transform-regexp-constructors/README.md deleted file mode 100644 index 037522e6..00000000 --- a/node_modules/babel-plugin-transform-regexp-constructors/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# babel-plugin-transform-regexp-constructors - -This changes RegExp constructors into literals if the RegExp arguments are strings. - -## Example - -**In** - -```javascript -const foo = 'ab+'; -var a = new RegExp(foo+'c', 'i'); -``` - -**Out** - -```javascript -const foo = 'ab+'; -var a = /ab+c/i; -``` - -## Installation - -```sh -npm install babel-plugin-transform-regexp-constructors --save-dev -``` - -## Usage - -### Via `.babelrc` (Recommended) - -**.babelrc** - -```json -{ - "plugins": ["transform-regexp-constructors"] -} -``` - -### Via CLI - -```sh -babel --plugins transform-regexp-constructors script.js -``` - -### Via Node API - -```javascript -require("@babel/core").transform("code", { - plugins: ["transform-regexp-constructors"] -}); -``` 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 diff --git a/node_modules/babel-plugin-transform-regexp-constructors/package.json b/node_modules/babel-plugin-transform-regexp-constructors/package.json deleted file mode 100644 index 6942db3e..00000000 --- a/node_modules/babel-plugin-transform-regexp-constructors/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "babel-plugin-transform-regexp-constructors", - "version": "0.4.3", - "description": "This changes RegExp constructors into literals if the RegExp arguments are strings.", - "keywords": [ - "babel-plugin" - ], - "homepage": "https://github.com/babel/minify#readme", - "bugs": "https://github.com/babel/minify/issues", - "license": "MIT", - "author": "shinew", - "main": "lib/index.js", - "repository": "https://github.com/babel/minify/tree/master/packages/babel-plugin-transform-regexp-constructors" -} |
