chore(oxlint/lsp): define rulesCustomization#21756
Merged
graphite-app[bot] merged 1 commit intoMay 5, 2026
Merged
Conversation
Member
Author
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
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. |
f45ac81 to
5b158c3
Compare
5b158c3 to
56fe146
Compare
Sysix
commented
Apr 26, 2026
56fe146 to
82da3b2
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Defines a new LSP-side configuration option, rulesCustomization, intended to let editors override reported diagnostics severity and whether a rule participates in “fix all” code actions—without changing the underlying linting behavior.
Changes:
- Adds
rulesCustomization(rule-name → customization map) toLintOptionsand introduces the supporting types. - Implements custom deserialization that skips invalid per-rule customization entries instead of failing the whole options object.
- Extends unit tests to cover valid/invalid customization payloads.
82da3b2 to
2b5e037
Compare
16b132b to
17c73ea
Compare
17c73ea to
be04882
Compare
Contributor
Merge activity
|
Related oxc-project/oxc-vscode#22 Created a POC form a new LSP configuration `ruleCustomization`, which allows users to override the **output** of the linter. It will not change the behavior, because the integration with nested config and Co. would to too much for it. This aligns how VS Code ESLint does it: microsoft/vscode-eslint#1541 VS Code ESLint supports with `eslint.rules.customizations` another structure with "glob" support (see related issue). For simplicity, I created a normal map. I am not sure, if glob features are really needed. Because of this, the struct is different from `eslint.rules.customizations`. - `severity` will change the output diagnostic, or remove it completely with "off", I think that what VS Code does too - `autofix` is new and has nothing to do with `fixable` from ESLint. It will disable the fix for the code actions on save. Allowing users to avoid unexpected remove of code described by #21538
be04882 to
b2e3df4
Compare
This was referenced May 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Related oxc-project/oxc-vscode#22
Created a POC form a new LSP configuration
ruleCustomization, which allows users to override the output of the linter. It will not change the behavior, because the integration with nested config and Co. would to too much for it.This aligns how VS Code ESLint does it: microsoft/vscode-eslint#1541
VS Code ESLint supports with
eslint.rules.customizationsanother structure with "glob" support (see related issue).For simplicity, I created a normal map. I am not sure, if glob features are really needed.
Because of this, the struct is different from
eslint.rules.customizations.severitywill change the output diagnostic, or remove it completely with "off", I think that what VS Code does tooautofixis new and has nothing to do withfixablefrom ESLint. It will disable the fix for the code actions on save. Allowing users to avoid unexpected remove of code described by linter: Allow filtering rules that are applied on save by name #21538