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(linter): support nested extending #9472

Merged
merged 1 commit into from
Mar 4, 2025

Conversation

camchenry
Copy link
Member

@camchenry camchenry commented Mar 1, 2025

Allows for using the extends keyword to chain multiple extended config files together: for example, a package config that extends a base config that extends a config from node_modules and so on.

I don't really love what we're having to do here with using both override_rules and ConfigStoreBuilder.with_rule. I think there is a refactoring opportunity to merge some functionality together here, but I don't want to refactor and optimize before we have a more comprehensive test suite.

Copy link
Member Author

camchenry commented Mar 1, 2025


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link

codspeed-hq bot commented Mar 1, 2025

CodSpeed Performance Report

Merging #9472 will not alter performance

Comparing 03-01-fix_linter_support_nested_extending (5ecda01) with main (fc74849)

Summary

✅ 33 untouched benchmarks

@camchenry camchenry force-pushed the 03-01-fix_linter_support_nested_extending branch from 1dc2156 to d83d6c5 Compare March 1, 2025 19:03
@camchenry camchenry force-pushed the 02-23-feat_linter_inherit_rules_via_the_extended_config_files branch from dd36f3c to 4cfdc59 Compare March 1, 2025 22:35
@camchenry camchenry force-pushed the 03-01-fix_linter_support_nested_extending branch from d83d6c5 to edc1d63 Compare March 1, 2025 22:36
@camchenry camchenry force-pushed the 03-01-fix_linter_support_nested_extending branch from edc1d63 to 2fc1e32 Compare March 1, 2025 22:49
@camchenry camchenry marked this pull request as ready for review March 1, 2025 22:50
@camchenry camchenry force-pushed the 02-23-feat_linter_inherit_rules_via_the_extended_config_files branch from 4cfdc59 to 63b413f Compare March 3, 2025 18:12
@camchenry camchenry force-pushed the 03-01-fix_linter_support_nested_extending branch from 2fc1e32 to 606233c Compare March 3, 2025 18:32
@camchenry camchenry added the 0-merge Merge with Graphite Merge Queue label Mar 4, 2025
Copy link
Member Author

camchenry commented Mar 4, 2025

Merge activity

  • Mar 3, 9:36 PM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
  • Mar 3, 9:37 PM EST: A user added this pull request to the Graphite merge queue.
  • Mar 3, 9:45 PM EST: The Graphite merge queue couldn't merge this PR because it had conflicts with the trunk branch.
  • Mar 3, 10:36 PM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
  • Mar 3, 10:36 PM EST: A user added this pull request to the Graphite merge queue.
  • Mar 3, 10:42 PM EST: A user merged this pull request with the Graphite merge queue.

@camchenry camchenry changed the base branch from 02-23-feat_linter_inherit_rules_via_the_extended_config_files to graphite-base/9472 March 4, 2025 02:37
@graphite-app graphite-app bot changed the base branch from graphite-base/9472 to main March 4, 2025 02:44
@graphite-app graphite-app bot removed the 0-merge Merge with Graphite Merge Queue label Mar 4, 2025
@github-actions github-actions bot added the A-editor Area - Editor and Language Server label Mar 4, 2025
@camchenry camchenry force-pushed the 03-01-fix_linter_support_nested_extending branch from 606233c to 3d787c0 Compare March 4, 2025 02:57
@camchenry camchenry added the 0-merge Merge with Graphite Merge Queue label Mar 4, 2025
- part of #9307

Allows for using the `extends` keyword to chain multiple extended config files together: for example, a package config that extends a base config that extends a config from `node_modules` and so on.

I don't really love what we're having to do here with using both `override_rules` and `ConfigStoreBuilder.with_rule`. I think there is a refactoring opportunity to merge some functionality together here, but I don't want to refactor and optimize before we have a more comprehensive test suite.
@graphite-app graphite-app bot force-pushed the 03-01-fix_linter_support_nested_extending branch from 3d787c0 to 5ecda01 Compare March 4, 2025 03:37
@graphite-app graphite-app bot merged commit 5ecda01 into main Mar 4, 2025
25 checks passed
@graphite-app graphite-app bot deleted the 03-01-fix_linter_support_nested_extending branch March 4, 2025 03:42
Boshen added a commit that referenced this pull request Mar 11, 2025
## [0.15.14] - 2025-03-11

### Features

- 0815fe8 linter: Add `promise/no-return-wrap` (#9537) (therewillbecode)
- ae7bb75 linter: Add react/jsx-filename-extension rule (#9474) (Cédric
DIRAND)
- 50327f3 linter: Add import/exports-last (#9578) (yefan)
- 75e4b8d linter: Add import/no-anonymous-default-export rule (#9481)
(yefan)
- 2f08b16 linter: Add `promise/prefer-catch` (#9488) (therewillbecode)
- 41f32ea linter: Allow adding more overrides via `extends` configs
(#9475) (camchenry)
- fb7cf10 linter: Allowing `plugins` to be extended with `extends`
(#9473) (camchenry)
- fc74849 linter: Inherit `rules` via the extended config files (#9308)
(camchenry)
- 3fce826 linter: Add support for `extends` property in oxlintrc (#9217)
(camchenry)

### Bug Fixes

- 2d42569 linter: Rule `eslint/no-unsafe-optional-chaining` (#9632)
(therewillbecode)
- a9d7df9 linter: False positive in `unicorn/escape-case` (#9638)
(shulaoda)
- 3831819 linter: Fix example lint declaration and macro syntax (#9626)
(Uli)
- 4ca62ab linter: Output right file line and column for `.vue`, `.astro`
and `.svelte` files (#9484) (Sysix)
- 3105159 linter: Do not output number of rules with nested configs
(#9476) (camchenry)
- 5ecda01 linter: Support nested extending (#9472) (camchenry)

### Documentation

- b7c61e9 linter: Improve docs for `eslint-guard-for-in` (#9658)
(therewillbecode)
- 1cc43f7 linter: Improve the documentation of `eslint-no-console`
(#9612) (therewillbecode)
- 608bb77 linter: Improve the docs and add test case for
`typescript-no-extra-non-null-assertion` (#9609) (therewillbecode)
- 43add5d linter: Better docs for
`typescript-no-non-null-asserted-nullish-coalescing` rule (#9610)
(therewillbecode)
- bd90ce6 linter: Improve the docs and add test cases for
`eslint-no-shadow-restricted-names` (#9597) (therewillbecode)
- a0c9f7c linter: Improve the documentation of `eslint-no-func-assign`
(#9596) (therewillbecode)
- ec922e9 linter: Improve the documentation of
`typescript-consistent-type-definitions` (#9575) (therewillbecode)
- 165c89d linter: Improve the documentation of `typescript-no-namespace`
(#9545) (therewillbecode)

### Refactor

- c174600 linter: Improve `eslint/no-duplicate-imports` (#9627)
(therewillbecode)
- 31ba425 linter: Improve `eslint/no-self-assign` (#9635)
(therewillbecode)
- 03a40df linter: Access scoping from `ctx` directly (#9624) (Boshen)
- be5e5dc linter: Improve `unicorn/escape-case` (#9568) (shulaoda)
- b7f82fc linter: Improve `unicorn/error-message` (#9560) (shulaoda)
- 069ef2d linter: Improve `promise/no-nesting` (#9544) (therewillbecode)
- 62bffed rust: Allow a few annoying clippy rules (#9588) (Boshen)

### Testing

- 934a387 linter: Remove test dependency on oxlint (#9513) (camchenry)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0-merge Merge with Graphite Merge Queue A-cli Area - CLI A-editor Area - Editor and Language Server A-linter Area - Linter C-bug Category - Bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants