-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: In no-invalid-regexp, validate flags also for non-literal patterns #16583
Conversation
|
✅ Deploy Preview for docs-eslint canceled.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
I'll merge this as feat:
per our semver policies as this is a bug fix in a rule that results in ESLint reporting more linting errors.
@trosos we would like to pay you for this pull request. Please email contact (at) eslint (dot) org so we can send you the instructions. Thanks! |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`8.28.0` -> `8.29.0`](https://renovatebot.com/diffs/npm/eslint/8.28.0/8.29.0) | --- ### Release Notes <details> <summary>eslint/eslint</summary> ### [`v8.29.0`](https://github.com/eslint/eslint/releases/tag/v8.29.0) [Compare Source](eslint/eslint@v8.28.0...v8.29.0) #### Features - [`49a07c5`](eslint/eslint@49a07c5) feat: add `allowParensAfterCommentPattern` option to no-extra-parens ([#​16561](eslint/eslint#16561)) (Nitin Kumar) - [`e6a865d`](eslint/eslint@e6a865d) feat: `prefer-named-capture-group` add suggestions ([#​16544](eslint/eslint#16544)) (Josh Goldberg) - [`a91332b`](eslint/eslint@a91332b) feat: In no-invalid-regexp validate flags also for non-literal patterns ([#​16583](eslint/eslint#16583)) (trosos) #### Documentation - [`0311d81`](eslint/eslint@0311d81) docs: Configuring Plugins page intro, page tweaks, and rename ([#​16534](eslint/eslint#16534)) (Ben Perlmutter) - [`57089b1`](eslint/eslint@57089b1) docs: add a property assignment example for camelcase rule ([#​16605](eslint/eslint#16605)) (Milos Djermanovic) - [`b6ab030`](eslint/eslint@b6ab030) docs: add docs codeowners ([#​16601](eslint/eslint#16601)) (Strek) - [`6380c87`](eslint/eslint@6380c87) docs: fix sitemap and feed ([#​16592](eslint/eslint#16592)) (Milos Djermanovic) - [`ade621d`](eslint/eslint@ade621d) docs: perf debounce the search query ([#​16586](eslint/eslint#16586)) (Shanmughapriyan S) - [`fbcf3ab`](eslint/eslint@fbcf3ab) docs: fix searchbar clear button ([#​16585](eslint/eslint#16585)) (Shanmughapriyan S) - [`f894035`](eslint/eslint@f894035) docs: HTTPS link to yeoman.io ([#​16582](eslint/eslint#16582)) (Christian Oliff) - [`de12b26`](eslint/eslint@de12b26) docs: Update configuration file pages ([#​16509](eslint/eslint#16509)) (Ben Perlmutter) - [`1ae9f20`](eslint/eslint@1ae9f20) docs: update correct code examples for `no-extra-parens` rule ([#​16560](eslint/eslint#16560)) (Nitin Kumar) #### Chores - [`7628403`](eslint/eslint@7628403) chore: add discord channel link ([#​16590](eslint/eslint#16590)) (Amaresh S M) - [`f5808cb`](eslint/eslint@f5808cb) chore: fix rule doc headers check ([#​16564](eslint/eslint#16564)) (Milos Djermanovic) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC40Ny4xIiwidXBkYXRlZEluVmVyIjoiMzQuNTQuMiJ9--> Co-authored-by: cabr2-bot <cabr2.help@gmail.com> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1667 Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org> Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org> Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Fixes #16573
Prerequisites checklist
What is the purpose of this pull request? (put an "X" next to an item)
[ ] Documentation update
[x] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:
What changes did you make? (Give an overview)
Previously, the no-invalid-regexp rule skipped flag validation for regexps with non-literal pattern.
This PR fixes the rule so that flags are validated no matter what the pattern is.
Is there anything you'd like reviewers to focus on?
The schema could be updated, adding a separate messageId for invalid flags, but I didn't do so - to stay focused and not to break existing tests.
I needed to reorganize the code somewhat, but I tried to keep the overall feel of the coding style established in the rule.