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

refactor: remove Identifier listener in no-irregular-whitespace #17235

Merged
merged 1 commit into from Jun 2, 2023

Conversation

mdjermanovic
Copy link
Member

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

In the no-irregular-whitespace rule, this removes an Identifier listener that is essentially a no-op since the removeInvalidNodeErrorsInIdentifierOrLiteral function has effects only when it's given a string literal node (the typeof node.value === "string" condition) or a regex literal node (the Boolean(node.regex) condition).

What changes did you make? (Give an overview)

Removed the listener and renamed function removeInvalidNodeErrorsInIdentifierOrLiteral to removeInvalidNodeErrorsInLiteral.

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

I checked the commits/PRs/issues history for this rule and have no idea why it was checking Identifier nodes. The listener is present since the original commit 77b0181. The only comment I could find about it (and generally about identifiers in regard to this rule) is https://github.com/eslint/eslint/pull/2381/files#r29104317.

@mdjermanovic mdjermanovic added rule Relates to ESLint's core rules chore This change is not user-facing labels Jun 2, 2023
@mdjermanovic mdjermanovic requested a review from a team as a code owner June 2, 2023 15:46
@netlify
Copy link

netlify bot commented Jun 2, 2023

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit ab2c4d7
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/647a0ec18db2f700084e0eca

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.

If we can remove this without breaking any tests then chances are it's safe to remove.

The only thing I'm not sure of is if zero-width characters are valid identifier characters. It seems we don't have any tests for that, so feel free to merge.

@mdjermanovic mdjermanovic merged commit 0892412 into main Jun 2, 2023
22 checks passed
@mdjermanovic mdjermanovic deleted the noirregularwhitespace-identifier branch June 2, 2023 20:28
@mdjermanovic
Copy link
Member Author

if zero-width characters are valid identifier characters

I believe they're not valid identifier characters. I wrote this to check if any of the irregular characters this rule checks are allowed per prod-IdentifierName:

/[\p{ID_Start}\p{ID_Continue}$_\u200c\u200d]/u.test("\f\v\u0085\ufeff\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u202f\u205f\u3000\u2028\u2029"); // false

Per this test, neither of them is a valid identifier character. I'm not 100% sure that my test is correct, but either way even if the intent of the removed code was to allow irregular characters in identifiers, it wasn't working.

crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Jun 8, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`8.41.0` -> `8.42.0`](https://renovatebot.com/diffs/npm/eslint/8.41.0/8.42.0) |

---

### Release Notes

<details>
<summary>eslint/eslint</summary>

### [`v8.42.0`](https://github.com/eslint/eslint/releases/tag/v8.42.0)

[Compare Source](eslint/eslint@v8.41.0...v8.42.0)

#### Features

-   [`b8448ff`](eslint/eslint@b8448ff) feat: correct no-useless-return behaviour in try statements ([#&#8203;16996](eslint/eslint#16996)) (Nitin Kumar)

#### Bug Fixes

-   [`a589636`](eslint/eslint@a589636) fix: Config with `ignores` and without `files` should not always apply ([#&#8203;17181](eslint/eslint#17181)) (Milos Djermanovic)
-   [`c4fad17`](eslint/eslint@c4fad17) fix: Correct ignore message for "node_modules" subfolders ([#&#8203;17217](eslint/eslint#17217)) (Francesco Trotta)

#### Documentation

-   [`01d7142`](eslint/eslint@01d7142) docs: Update README (GitHub Actions Bot)
-   [`e5182b7`](eslint/eslint@e5182b7) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`6ca5b7c`](eslint/eslint@6ca5b7c) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).42.0 ([#&#8203;17236](eslint/eslint#17236)) (Milos Djermanovic)
-   [`67fc5e7`](eslint/eslint@67fc5e7) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`0892412`](eslint/eslint@0892412) refactor: remove `Identifier` listener in no-irregular-whitespace ([#&#8203;17235](eslint/eslint#17235)) (Milos Djermanovic)
-   [`f67d298`](eslint/eslint@f67d298) test: Add `FlatESLint` tests with missing config files ([#&#8203;17164](eslint/eslint#17164)) (Milos Djermanovic)
-   [`5b68d51`](eslint/eslint@5b68d51) chore: Fix `fixedsize` attribute in code path analysis DOT debug output ([#&#8203;17202](eslint/eslint#17202)) (Milos Djermanovic)
-   [`37432f2`](eslint/eslint@37432f2) chore: update descriptions in key-spacing tests ([#&#8203;17195](eslint/eslint#17195)) (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:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTMuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMy4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9-->

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1923
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 Nov 30, 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 Nov 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
archived due to age This issue has been archived; please open a new issue for any further discussion chore This change is not user-facing rule Relates to ESLint's core rules
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants