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 unnecessary use of SourceCode#getAncestors in rules #17075

Merged
merged 1 commit into from Apr 11, 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:

While reviewing #17059, I noticed that several rules use SourceCode#getAncestors just to get the parent or grandparent node. This logic probably originates from time when nodes didn't have the parent property.

What changes did you make? (Give an overview)

Since it's more efficient and more common in core rules to simply use the parent property, I replaced SourceCode#getAncestors usage with node.parent in 6 core rules.

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

@mdjermanovic mdjermanovic added the chore This change is not user-facing label Apr 8, 2023
@mdjermanovic mdjermanovic requested a review from a team as a code owner April 8, 2023 19:24
@netlify
Copy link

netlify bot commented Apr 8, 2023

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit 3ccf4f7
🔍 Latest deploy log https://app.netlify.com/sites/docs-eslint/deploys/6431bf67c940660008fb6886

@snitin315 snitin315 added the accepted There is consensus among the team that this change meets the criteria for inclusion label Apr 9, 2023
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.

I'll leave it open in case someone else wants to review it.

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. Just waiting to see if we need a patch release.

@nzakas nzakas merged commit eac4943 into main Apr 11, 2023
21 checks passed
@nzakas nzakas deleted the getancestors-parent branch April 11, 2023 19:24
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Apr 27, 2023
This PR contains the following updates:

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

---

### Release Notes

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

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

[Compare Source](eslint/eslint@v8.38.0...v8.39.0)

#### Features

-   [`3f7af9f`](eslint/eslint@3f7af9f) feat: Implement `SourceCode#markVariableAsUsed()` ([#&#8203;17086](eslint/eslint#17086)) (Nicholas C. Zakas)

#### Documentation

-   [`6987dc5`](eslint/eslint@6987dc5) docs: Fix formatting in Custom Rules docs ([#&#8203;17097](eslint/eslint#17097)) (Milos Djermanovic)
-   [`4ee92e5`](eslint/eslint@4ee92e5) docs: Update README (GitHub Actions Bot)
-   [`d8e9887`](eslint/eslint@d8e9887) docs: Custom Rules cleanup/expansion ([#&#8203;16906](eslint/eslint#16906)) (Ben Perlmutter)
-   [`1fea279`](eslint/eslint@1fea279) docs: Clarify how to add to tsc agenda ([#&#8203;17084](eslint/eslint#17084)) (Nicholas C. Zakas)
-   [`970ef1c`](eslint/eslint@970ef1c) docs: Update triage board location (Nicholas C. Zakas)
-   [`6d8bffd`](eslint/eslint@6d8bffd) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`60a6f26`](eslint/eslint@60a6f26) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).39.0 ([#&#8203;17102](eslint/eslint#17102)) (Milos Djermanovic)
-   [`d5ba5c0`](eslint/eslint@d5ba5c0) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`f57eff2`](eslint/eslint@f57eff2) ci: run tests on Node.js v20 ([#&#8203;17093](eslint/eslint#17093)) (Nitin Kumar)
-   [`9d1b8fc`](eslint/eslint@9d1b8fc) perf: Binary search in token store `utils.search` ([#&#8203;17066](eslint/eslint#17066)) (Francesco Trotta)
-   [`07a4435`](eslint/eslint@07a4435) chore: Add request for minimal repro to bug report ([#&#8203;17081](eslint/eslint#17081)) (Nicholas C. Zakas)
-   [`eac4943`](eslint/eslint@eac4943) refactor: remove unnecessary use of `SourceCode#getAncestors` in rules ([#&#8203;17075](eslint/eslint#17075)) (Milos Djermanovic)
-   [`0a7b60a`](eslint/eslint@0a7b60a) chore: update description of `SourceCode#getDeclaredVariables` ([#&#8203;17072](eslint/eslint#17072)) (Milos Djermanovic)
-   [`6e2df71`](eslint/eslint@6e2df71) chore: remove unnecessary references to the LICENSE file ([#&#8203;17071](eslint/eslint#17071)) (Milos Djermanovic)

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

[Compare Source](eslint/eslint@v8.37.0...v8.38.0)

#### Features

-   [`a1d561d`](eslint/eslint@a1d561d) feat: Move getDeclaredVariables and getAncestors to SourceCode ([#&#8203;17059](eslint/eslint#17059)) (Nicholas C. Zakas)

#### Bug Fixes

-   [`1c1ece2`](eslint/eslint@1c1ece2) fix: do not report on `RegExp(...args)` in `require-unicode-regexp` ([#&#8203;17037](eslint/eslint#17037)) (Francesco Trotta)

#### Documentation

-   [`7162d34`](eslint/eslint@7162d34) docs: Mention new config system is complete ([#&#8203;17068](eslint/eslint#17068)) (Nicholas C. Zakas)
-   [`0fd6bb2`](eslint/eslint@0fd6bb2) docs: Update README (GitHub Actions Bot)
-   [`c83531c`](eslint/eslint@c83531c) docs: Update/remove external links, eg. point to `eslint-community` ([#&#8203;17061](eslint/eslint#17061)) (Pelle Wessman)
-   [`a3aa6f5`](eslint/eslint@a3aa6f5) docs: Clarify `no-div-regex` rule docs ([#&#8203;17051](eslint/eslint#17051)) (Francesco Trotta)
-   [`b0f11cf`](eslint/eslint@b0f11cf) docs: Update README (GitHub Actions Bot)
-   [`da8d52a`](eslint/eslint@da8d52a) docs: Update the second object instance for the "no-new" rule ([#&#8203;17020](eslint/eslint#17020)) (Ahmadou Waly NDIAYE)
-   [`518130a`](eslint/eslint@518130a) docs: switch language based on current path ([#&#8203;16687](eslint/eslint#16687)) (Percy Ma)
-   [`24206c4`](eslint/eslint@24206c4) docs: Update README (GitHub Actions Bot)

#### Chores

-   [`59ed060`](eslint/eslint@59ed060) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;8](https://github.com/8).38.0 ([#&#8203;17069](eslint/eslint#17069)) (Milos Djermanovic)
-   [`88c0898`](eslint/eslint@88c0898) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (ESLint Jenkins)
-   [`cf682d2`](eslint/eslint@cf682d2) refactor: simplify new-parens rule schema ([#&#8203;17060](eslint/eslint#17060)) (MHO)
-   [`0dde022`](eslint/eslint@0dde022) ci: bump actions/add-to-project from 0.4.1 to 0.5.0 ([#&#8203;17055](eslint/eslint#17055)) (dependabot\[bot])

</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:eyJjcmVhdGVkSW5WZXIiOiIzNS4zNS4xIiwidXBkYXRlZEluVmVyIjoiMzUuNTUuMSJ9-->

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1852
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 Oct 9, 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 Oct 9, 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 chore This change is not user-facing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants