Conversation
Follows oxc-project/oxc#19937: `typeAware`, `reportUnusedDisableDirectives` and `respectEslintDisableDirectives` are resolved per file from the config which governs it, so a single package can opt into type-aware linting. `typeCheck` is still reported per run and `denyWarnings`/`maxWarnings` still decide the exit code, so both belong in the root config and now warn when set in a nested one. `generated-config.md` and `generated-lsp-config.md` were edited by hand to keep the diff to the descriptions that changed; regenerating them with `just website` reformats the whole file until `vp fmt` runs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Follows the review of oxc-project/oxc#19937: an option a nested config leaves unset takes its default rather than the root config's value, so a file is linted the same way whether the repository root or the package folder is opened, and whether CI runs from the root or from the package. `extends` is how a value is shared, and a package config can override it. Also document the warning oxlint now prints when a nested config enables type-aware rules without setting `options.typeAware`, and add the "type-aware everywhere except one package" variant of the example. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
✅ Deploy Preview for oxc-project ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
KuSh
force-pushed
the
docs/scoped-root-only-options
branch
from
September 19, 2026 10:04
21da2dd to
4c37b32
Compare
This branch has not been deployed
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.
Documentation counterpart of oxc-project/oxc#26342, which makes the "root-only" linter options resolve by scope instead of by config file. Design discussion: oxc-project/oxc#19937.
nested-config.mdcurrently says:That is replaced by a "Linter options in nested configs" section covering the three scopes:
typeAware,reportUnusedDisableDirectivesandrespectEslintDisableDirectivesare resolved from the config which governs each file, so a single package can opt into type-aware linting. They are not inherited from the root config —extendsis how a value is shared — which keeps a file's result independent of the directory Oxlint was started from.typeCheckis reported per run by tsgolint, not per directory, so it belongs in the root config and warns when set in a nested one.denyWarningsandmaxWarningsdecide the exit code of the run; a nested config which sets one gets a warning and the option is ignored, instead of the whole config being rejected.Plus a worked example (type-aware for one package, and the inverse), and a note about the warning Oxlint prints when a nested config enables type-aware rules without setting
options.typeAware.config.md,type-aware.mdandeditors.mdhad the same "only supported in the root config file" claim and now link tonested-config.generated-config.mdandgenerated-lsp-config.mdare edited by hand so the diff stays on the descriptions that changed: regenerating them withjust websitereformats the whole file untilvp fmtruns, which would bury the change under ~350 lines of unrelated churn. Running the real flow will produce the same content.The two commits are the original documentation change and the update after the design review, kept separate for review.
🤖 Generated with Claude Code