]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/lib/rules/wrap-regex.js
2 * @fileoverview Rule to flag when regex literals are not wrapped in parens
3 * @author Matt DuVall <http://www.mattduvall.com>
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
17 description
: "require parenthesis around regex literals",
18 category
: "Stylistic Issues",
20 url
: "https://eslint.org/docs/rules/wrap-regex"
27 requireParens
: "Wrap the regexp literal in parens to disambiguate the slash."
32 const sourceCode
= context
.getSourceCode();
37 const token
= sourceCode
.getFirstToken(node
),
38 nodeType
= token
.type
;
40 if (nodeType
=== "RegularExpression") {
41 const beforeToken
= sourceCode
.getTokenBefore(node
);
42 const afterToken
= sourceCode
.getTokenAfter(node
);
43 const ancestors
= context
.getAncestors();
44 const grandparent
= ancestors
[ancestors
.length
- 1];
46 if (grandparent
.type
=== "MemberExpression" && grandparent
.object
=== node
&&
47 !(beforeToken
&& beforeToken
.value
=== "(" && afterToken
&& afterToken
.value
=== ")")) {
50 messageId
: "requireParens",
51 fix
: fixer
=> fixer
.replaceText(node
, `(${sourceCode.getText(node)})`)