From 9df07542c040f633266ee546bf45b50fe24e0e30 Mon Sep 17 00:00:00 2001 From: fisker Date: Sat, 30 Nov 2019 10:17:42 +0800 Subject: [PATCH] skip u flag before parse --- rules/regex-shorthand.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/rules/regex-shorthand.js b/rules/regex-shorthand.js index 78ebf302e4..1494ef49c0 100644 --- a/rules/regex-shorthand.js +++ b/rules/regex-shorthand.js @@ -9,12 +9,18 @@ const message = 'Use regex shorthands to improve readability.'; const create = context => { return { 'Literal[regex]': node => { - const {type, value} = context.getSourceCode().getFirstToken(node); + const {type, value, regex} = context.getSourceCode().getFirstToken(node); if (type !== 'RegularExpression') { return; } + // Regex with `u` flag is not well handled by `regexp-tree` + // https://github.com/DmitrySoshnikov/regexp-tree/issues/162 + if (regex.flags.includes('u')) { + return; + } + let parsedSource; try { parsedSource = parse(value); @@ -31,12 +37,6 @@ const create = context => { return; } - // `u` flag regex is not well handled by `regexp-tree` - // https://github.com/DmitrySoshnikov/regexp-tree/issues/162 - if (parsedSource.flags.includes('u')) { - return; - } - const originalRegex = generate(parsedSource).toString(); const optimizedRegex = optimize(value).toString();