feat(linter): support overrides config field#6974
Conversation
Your org has enabled the Graphite merge queue for merging into mainAdd the label “0-merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
This stack of pull requests is managed by Graphite. Learn more about stacking. |
10fd2be to
3f72622
Compare
3f72622 to
aa1cfea
Compare
4c1f24b to
f6a7fbb
Compare
aa1cfea to
75b2411
Compare
|
Still needs tests. I'll add those tomorrow. |
CodSpeed Performance ReportMerging #6974 will not alter performanceComparing Summary
|
I wonder how much of that is related to just reading the config file? What happens if you pass Nothing sticks out at me as being extremely slow here, I think I'd need to dive in and do some profiling first. |
f6a7fbb to
0be2975
Compare
3018e86 to
37bb623
Compare
0be2975 to
8f1460e
Compare
37bb623 to
abc9ffd
Compare
Boshen
left a comment
There was a problem hiding this comment.
I see we have a bit of refactoring going on in this PR, I'd try and get them merged first.
closes #194 Long way for the goal: - [x] support simple "rules" block - [x] support simple "categories" block - [x] support simple "plugins" block - [x] support "categories" on, and "rules" off * - [x] support "plugins" on, and "rules off * - [x] numbers instead of `off`, `warn` or `error` - [x] configuration array like: `no-magic_numbers: ["off", {...}]` - [x] filter rules which are not enabled by plugin - [x] all other wierd combinations - [x] enable eslint always - [x] check import from `../scripts` folder in build file - [x] support jsonc / comments in files - [x] prepare for overrides oxc-project/oxc#6974 - [x] Docs - [x] more tests - [x] test rules count with oxlint command - [x] ~~depends on oxc-project/oxc#6896 workaround in tests - [x] ~~depends on oxc-project/oxc#7031 disabled `nursery` in integration test \* the rules block overrides the rules from the other blocks, so this should be enabled in eslint ```json { "categories": { "correctness": "error", } "rules": { "no-invalid-regexp": "off" } } ```
555ca15 to
b97ae7e
Compare
I had intended to leave this in until we could rework some of the rule/plugin name resolution code, however this is causing issues with merging #6974. The mutability of `self` is difficult to resolve in that PR without more drastic changes. Since this isn't currently helping us out, I am simply removing the code for now until we can revisit this.
9c18f1b to
c6a4868
Compare
e84a98e to
21f5b71
Compare
Merge activity
|
21f5b71 to
2268a0e
Compare
I had intended to leave this in until we could rework some of the rule/plugin name resolution code, however this is causing issues with merging #6974. The mutability of `self` is difficult to resolve in that PR without more drastic changes. Since this isn't currently helping us out, I am simply removing the code for now until we can revisit this.
I had intended to leave this in until we could rework some of the rule/plugin name resolution code, however this is causing issues with merging #6974. The mutability of `self` is difficult to resolve in that PR without more drastic changes. Since this isn't currently helping us out, I am simply removing the code for now until we can revisit this.
I had intended to leave this in until we could rework some of the rule/plugin name resolution code, however this is causing issues with merging #6974. The mutability of `self` is difficult to resolve in that PR without more drastic changes. Since this isn't currently helping us out, I am simply removing the code for now until we can revisit this.
## [0.12.0] - 2024-11-20 - 20d9080 linter: [**BREAKING**] Override plugins array when passed in config file (#7303) (camchenry) ### Features - 1d9f528 linter: Implement `unicorn/prefer-string-raw` lint rule (#7335) (Ryan Walker) - d445e0f linter: Implement `unicorn/consistent-existence-index-check` (#7262) (Ryan Walker) - 01ddf37 linter: Add `allowReject` option to `no-useless-promise-resolve-reject` (#7274) (no-yan) - 755a31b linter: Support bind function case for compatibility with `promise/no-return-wrap` (#7232) (no-yan) - 428770e linter: Add `import/no-namespace` rule (#7229) (Dmitry Zakharov) - 9c91151 linter: Implement typescript/no-empty-object-type (#6977) (Orenbek) - 2268a0e linter: Support `overrides` config field (#6974) (DonIsaac) - 3dcac1a linter: React/exhaustive-deps (#7151) (camc314) - d3a0119 oxlint: Add `cwd` property to `LintRunner` (#7352) (Alexander S.) ### Bug Fixes - ba0b2ff editor: Reload workspace configuration after change (#7302) (Alexander S.) - bc0e72c linter: Handle user variables correctly for import/no_commonjs (#7316) (Dmitry Zakharov) - bf839c1 linter: False positive in `jest/expect-expect` (#7341) (dalaoshu) - ff2a1d4 linter: Move `exhaustive-deps` to `react` (#7251) (camc314) - df5c535 linter: Revert unmatched rule error (#7257) (Cameron A McHenry) - c4ed230 linter: Fix false positive in eslint/no-cond-assign (#7241) (camc314) - ef847da linter: False positive in `jsx-a11y/iframe-has-title` (#7253) (dalaoshu) - 62b6327 linter: React/exhaustive-deps update span for unknown deps diagnostic (#7249) (camc314) ### Documentation - 4c124a8 editor/vscode: Update VS Code readme with installation instructions and available features (#7306) (Nicholas Rayburn) ### Refactor - c6a4868 linter: Temporarily remove unknown rules checking (#7260) (camchenry) ### Testing - 5190b7f editor: Add test setup (#7361) (Alexander S.) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>


Part of #5653