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

feat!: no-invalid-regexp make allowConstructorFlags case-sensitive #17533

Conversation

JoshuaKGoldberg
Copy link
Contributor

@JoshuaKGoldberg JoshuaKGoldberg commented Sep 5, 2023

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[x] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:
What change do you want to make (place an "X" next to just one item)?

[x] Generate more warnings
[ ] Generate fewer warnings
[ ] Implement autofix
[ ] Implement suggestions

How will the change be implemented (place an "X" next to just one item)?

[ ] A new option
[x] A new default behavior
[ ] Other

Please provide some example code that this change will affect:

const ESLint = require("eslint");
console.log(
  new ESLint.Linter().verify('RegExp(".", "A");', {
    rules: { "no-invalid-regexp": [1, { allowConstructorFlags: ["a"] }] },
  })
);

What does the rule currently do for this code?

Treats all allowed constructor flags as case-insensitive.

What will the rule do after it's changed?

They're now case-sensitive, as per the issue.

Adds a unit test for code being lowercase vs. rule config being uppercase, and vice-versa.

Fixes #16574.

@eslint-github-bot eslint-github-bot bot added breaking This change is backwards-incompatible feature This change adds a new feature to ESLint labels Sep 5, 2023
@netlify
Copy link

netlify bot commented Sep 5, 2023

Deploy Preview for docs-eslint ready!

Name Link
🔨 Latest commit fc173aa
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/64fa35b11cb9920008437d42
😎 Deploy Preview https://deploy-preview-17533--docs-eslint.netlify.app/rules/no-invalid-regexp
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Member

@nzakas nzakas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code LGTM. Can you also add a note in the docs indicating that this option is case sensitive?

Copy link
Member

@nzakas nzakas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Will let this sit until we're ready to merge v9 PRs.

@github-actions
Copy link

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Sep 23, 2023
@fasttime fasttime removed the Stale label Sep 24, 2023
@nzakas nzakas self-assigned this Sep 25, 2023
@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 labels Nov 5, 2023
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!

@JoshuaKGoldberg JoshuaKGoldberg marked this pull request as ready for review November 5, 2023 18:43
@JoshuaKGoldberg JoshuaKGoldberg requested a review from a team as a code owner November 5, 2023 18:43
@mdjermanovic mdjermanovic marked this pull request as draft November 6, 2023 18:23
@mdjermanovic mdjermanovic marked this pull request as ready for review December 20, 2023 14:32
@mdjermanovic mdjermanovic merged commit e563c52 into eslint:main Dec 20, 2023
22 checks passed
@JoshuaKGoldberg JoshuaKGoldberg deleted the no-invalid-regexp-allow-constructor-flags-case-sensitive branch December 20, 2023 16:02
bmish added a commit to bmish/eslint that referenced this pull request Dec 27, 2023
* main: (25 commits)
  test: ensure that CLI tests run with FlatESLint (eslint#17884)
  fix!: Behavior of CLI when no arguments are passed (eslint#17644)
  docs: Update README
  Revert "feat!: Remove CodePath#currentSegments" (eslint#17890)
  feat!: Update shouldUseFlatConfig and CLI so flat config is default (eslint#17748)
  feat!: Remove CodePath#currentSegments (eslint#17756)
  chore: update dependency markdownlint-cli to ^0.38.0 (eslint#17865)
  feat!: deprecate no-new-symbol, recommend no-new-native-nonconstructor (eslint#17710)
  feat!: check for parsing errors in suggestion fixes (eslint#16639)
  feat!: assert suggestion messages are unique in rule testers (eslint#17532)
  feat!: `no-invalid-regexp` make allowConstructorFlags case-sensitive (eslint#17533)
  fix!: no-sequences rule schema correction (eslint#17878)
  feat!: Update `eslint:recommended` configuration (eslint#17716)
  feat!: drop support for string configurations in flat config array (eslint#17717)
  feat!: Remove `SourceCode#getComments()` (eslint#17715)
  feat!: Remove deprecated context methods (eslint#17698)
  feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API (eslint#17823)
  feat!: remove formatters except html, json(-with-metadata), and stylish (eslint#17531)
  feat!: Require Node.js `^18.18.0 || ^20.9.0 || >=21.1.0` (eslint#17725)
  fix: allow circular references in config (eslint#17752)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted There is consensus among the team that this change meets the criteria for inclusion breaking This change is backwards-incompatible feature This change adds a new feature to ESLint rule Relates to ESLint's core rules
Projects
Status: Complete
Development

Successfully merging this pull request may close these issues.

no-invalid-regexp: Make allowConstructorFlags option case sensitive
4 participants