ESLint: Added regexp plugin #2924
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds the
eslint-plugin-regexpplugin. This plugin statically analyses regex patterns and usages to find potential problems and suggest improvements. (Full disclaimer: I am a maintainer of the plugin.)Right now, I only enabled a few rules to handle common things in code review (all warnings) and a few rules to detect (potential) errors.
@LeaVerou @Golmote @mAAdhaTTah
There is another really good rule I am unsure about adding, the
regexp/no-dupe-disjunctionsrule. This rule actually finds more than a dozen bugs in our regexes (not fixed here) and even points out likely causes of exp backtracking directly and live in the IDE.However, the rule is slow. Right now, it increases the total linting time 5x (
npm run lint), from 5s to 25s on my machine. This doesn't seem to be a problem for live code editing/viewing.Should I also enable the
regexp/no-dupe-disjunctionsrule?