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: prefer-named-capture-group add suggestions #16544

Conversation

JoshuaKGoldberg
Copy link
Contributor

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)
[ ] Changes an existing rule (template)
[x] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:

Fixes #16530

What changes did you make? (Give an overview)

Adds meta.hasSuggestions to prefer-named-capture-group for two suggestions:

  • Changing a capture group to named: e.g. (?<temp1>a)
  • Changing a capture group to non-named: e.g. (?:a)

Is there anything you'd like reviewers to focus on?

I don't work with named capture groups much in regular expressions, so I'm not highly confident there aren't edge cases I didn't think of.

@eslint-github-bot eslint-github-bot bot added triage An ESLint team member will look at this issue soon feature This change adds a new feature to ESLint labels Nov 12, 2022
@netlify
Copy link

netlify bot commented Nov 12, 2022

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit a2c4ed1
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/6382f310f2c6e80009eaf9f0

@JoshuaKGoldberg JoshuaKGoldberg force-pushed the prefer-named-capture-group-suggestions branch from 4b1241a to 2c24f2c Compare November 12, 2022 12:52
@JoshuaKGoldberg
Copy link
Contributor Author

Err, the Netlify builds don't look like a 'me' thing, so I will wait to take any action on them.

7:52:20 AM: Failed during stage 'building site': Build script returned non-zero exit code: 2 (https://ntl.fyi/exit-code-2)
7:52:19 AM: ​
7:52:19 AM: $ npm run build
7:52:19 AM: npm ERR! Missing script: "build"

@harish-sethuraman
Copy link
Member

weird that build failed 🤔 Did you try re running?

@mdjermanovic
Copy link
Member

Try rebasing onto latest main. It seems that Netlify checks out pull/16544/head (not pull/16544/merge), so the version it works on does not have docs/package.json because your commit's parent commit is 79b6340 from January.

@mdjermanovic mdjermanovic added enhancement This change enhances an existing feature of ESLint rule Relates to ESLint's core rules accepted There is consensus among the team that this change meets the criteria for inclusion and removed triage An ESLint team member will look at this issue soon labels Nov 12, 2022
@JoshuaKGoldberg JoshuaKGoldberg force-pushed the prefer-named-capture-group-suggestions branch from 2c24f2c to 4e1438e Compare November 12, 2022 19:45
@mdjermanovic
Copy link
Member

Your branch is still on top of 79b6340:

image

I'd guess that you have an outdated main locally. You could add remote for this repo, and then rebase.

@JoshuaKGoldberg JoshuaKGoldberg force-pushed the prefer-named-capture-group-suggestions branch from ea45df1 to a056125 Compare November 12, 2022 22:00
@JoshuaKGoldberg JoshuaKGoldberg force-pushed the prefer-named-capture-group-suggestions branch from a056125 to 446a12b Compare November 12, 2022 22:20
lib/rules/prefer-named-capture-group.js Outdated Show resolved Hide resolved
lib/rules/prefer-named-capture-group.js Outdated Show resolved Hide resolved
tests/lib/rules/prefer-named-capture-group.js Outdated Show resolved Hide resolved
Copy link
Contributor

@snitin315 snitin315 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 for contributing.

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!

@mdjermanovic mdjermanovic merged commit e6a865d into eslint:main Nov 27, 2022
@JoshuaKGoldberg
Copy link
Contributor Author

Yay! Thanks for all the helpful reviews ☺️

@JoshuaKGoldberg JoshuaKGoldberg deleted the prefer-named-capture-group-suggestions branch November 27, 2022 14:11
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 contributor pool enhancement This change enhances an existing feature of ESLint 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.

Rule Change: prefer-named-capture-group: add suggestion fixer
4 participants