Skip to content
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

Merged
merged 1 commit into from Nov 27, 2022

Conversation

trosos
Copy link
Contributor

@trosos trosos commented Nov 25, 2022

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.

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Nov 25, 2022

CLA Signed

The committers listed above are authorized under a signed CLA.

@eslint-github-bot eslint-github-bot bot added triage An ESLint team member will look at this issue soon bug ESLint is working incorrectly labels Nov 25, 2022
@netlify
Copy link

netlify bot commented Nov 25, 2022

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit 6076bdc
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/6381017af2c6e80009c9ba79

@mdjermanovic mdjermanovic added rule Relates to ESLint's core rules accepted There is consensus among the team that this change meets the criteria for inclusion feature This change adds a new feature to ESLint and removed triage An ESLint team member will look at this issue soon labels Nov 26, 2022
Copy link
Member

@mdjermanovic mdjermanovic left a 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.

@mdjermanovic mdjermanovic merged commit a91332b into eslint:main Nov 27, 2022
@nzakas
Copy link
Member

nzakas commented Dec 1, 2022

@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!

crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Dec 16, 2022
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 ([#&#8203;16561](eslint/eslint#16561)) (Nitin Kumar)
-   [`e6a865d`](eslint/eslint@e6a865d) feat: `prefer-named-capture-group` add suggestions ([#&#8203;16544](eslint/eslint#16544)) (Josh Goldberg)
-   [`a91332b`](eslint/eslint@a91332b) feat: In no-invalid-regexp validate flags also for non-literal patterns ([#&#8203;16583](eslint/eslint#16583)) (trosos)

#### Documentation

-   [`0311d81`](eslint/eslint@0311d81) docs: Configuring Plugins page intro, page tweaks, and rename ([#&#8203;16534](eslint/eslint#16534)) (Ben Perlmutter)
-   [`57089b1`](eslint/eslint@57089b1) docs: add a property assignment example for camelcase rule ([#&#8203;16605](eslint/eslint#16605)) (Milos Djermanovic)
-   [`b6ab030`](eslint/eslint@b6ab030) docs: add docs codeowners ([#&#8203;16601](eslint/eslint#16601)) (Strek)
-   [`6380c87`](eslint/eslint@6380c87) docs: fix sitemap and feed ([#&#8203;16592](eslint/eslint#16592)) (Milos Djermanovic)
-   [`ade621d`](eslint/eslint@ade621d) docs: perf debounce the search query ([#&#8203;16586](eslint/eslint#16586)) (Shanmughapriyan S)
-   [`fbcf3ab`](eslint/eslint@fbcf3ab) docs: fix searchbar clear button ([#&#8203;16585](eslint/eslint#16585)) (Shanmughapriyan S)
-   [`f894035`](eslint/eslint@f894035) docs: HTTPS link to yeoman.io ([#&#8203;16582](eslint/eslint#16582)) (Christian Oliff)
-   [`de12b26`](eslint/eslint@de12b26) docs: Update configuration file pages ([#&#8203;16509](eslint/eslint#16509)) (Ben Perlmutter)
-   [`1ae9f20`](eslint/eslint@1ae9f20) docs: update correct code examples for `no-extra-parens` rule ([#&#8203;16560](eslint/eslint#16560)) (Nitin Kumar)

#### Chores

-   [`7628403`](eslint/eslint@7628403) chore: add discord channel link ([#&#8203;16590](eslint/eslint#16590)) (Amaresh  S M)
-   [`f5808cb`](eslint/eslint@f5808cb) chore: fix rule doc headers check ([#&#8203;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>
@eslint-github-bot eslint-github-bot bot locked and limited conversation to collaborators May 27, 2023
@eslint-github-bot eslint-github-bot bot added the archived due to age This issue has been archived; please open a new issue for any further discussion label May 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accepted There is consensus among the team that this change meets the criteria for inclusion archived due to age This issue has been archived; please open a new issue for any further discussion bug ESLint is working incorrectly contributor pool feature This change adds a new feature to ESLint rule Relates to ESLint's core rules
Projects
None yet
Development

Successfully merging this pull request may close these issues.

no-invalid-regexp: Validate flags even for non-literal patterns
3 participants