feat(linter): introduce typeCheck config option#19764
Merged
graphite-app[bot] merged 1 commit intomainfrom Feb 26, 2026
Merged
Conversation
Merging this PR will not alter performance
Comparing Footnotes
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a new typeCheck configuration option to enable experimental TypeScript compiler diagnostics through the config file, mirroring the existing --type-check CLI flag functionality.
Changes:
- Added
typeCheckboolean option toOxlintOptionsconfiguration structure - Extended configuration validation to reject
typeCheckin nested configs (root-only restriction) - Integrated config option with CLI flag system, allowing CLI to override config file settings
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tasks/website_linter/src/snapshots/schema_markdown.snap | Added documentation for typeCheck option |
| tasks/website_linter/src/snapshots/schema_json.snap | Added JSON schema definition for typeCheck option |
| npm/oxlint/configuration_schema.json | Added typeCheck property to OxlintOptions schema |
| crates/oxc_linter/src/config/oxlintrc.rs | Added typeCheck field to OxlintOptions, updated is_empty() and merge() methods, extended tests |
| crates/oxc_linter/src/config/config_store.rs | Added type_check_enabled() method and corresponding tests |
| crates/oxc_linter/src/config/config_builder.rs | Added type_check() getter method and extended integration tests |
| crates/oxc_linter/src/config/config_loader.rs | Added validation to reject typeCheck in nested configs, extended tests |
| apps/oxlint/src/lint.rs | Integrated config-based type_check with CLI flag (OR logic), added tests |
| apps/oxlint/src-js/package/config.generated.ts | Added TypeScript type definition for typeCheck option |
| crates/oxc_linter/fixtures/extends_config/options/type_check_*.json | Added fixture files for testing config extension behavior |
| apps/oxlint/fixtures/tsgolint_type_error/config-type-check*.json | Added fixture configs for testing typeCheck functionality |
| apps/oxlint/test/fixtures/js_config_dynamic_type_check/* | Added end-to-end test fixture for JS config with dynamic typeCheck |
Contributor
Author
Merge activity
|
ac10479 to
f34f6fa
Compare
7 tasks
wagenet
added a commit
to wagenet/oxc
that referenced
this pull request
Feb 27, 2026
Closes oxc-project#15972. Adds `options.reportUnusedDisableDirectives` to `.oxlintrc.json`, following the same pattern as `typeAware` (oxc-project#19614) and `typeCheck` (oxc-project#19764). - Root-config-only (nested configs are rejected with a clear error) - CLI `--report-unused-disable-directives[-severity]` takes precedence over the config file value - Schema, TypeScript types, and website snapshots regenerated Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5 tasks
camc314
pushed a commit
that referenced
this pull request
Mar 2, 2026
# Oxlint ### 🚀 Features - 2e0e1d0 linter/no-unused-vars: Add experimental fix mode controls (off|suggestion|fix) (#19774) (camc314) - f34f6fa linter: Introduce typeCheck config option (#19764) (camc314) - 694be7d linter: Introduce typeAware as config options (#19614) (camc314) - 655c38f semantic: Add "did you mean?" suggestions to undefined name errors (#19102) (copilot-swe-agent) - e97a57e linter/id-length: Use serde to deserialize rule options (#19636) (camc314) - c4a3677 parser: Report error for initializer in ambient context (#19187) (camc314) - 346045a linter/id-length: Add `checkGeneric` option (#19634) (camc314) ### 🐛 Bug Fixes - 1b7a937 linter: Correct double-comparisons fix with swapped operands (#19846) (camc314) - c308857 linter/consistent_type_imports: Add missing help and notes to diagnostics (#19827) (Daniel Osmond) - 7682e5a linter/plugins: Decode escapes in identifier tokens (#19838) (overlookmotel) - f368fcd linter/consistent_type_assertions: Add missing with_help and with_note to diagnostics (#19826) (Daniel Osmond) - 04e6223 npm: Add `preferUnplugged` for Yarn PnP compatibility (#19829) (Boshen) - 86d5037 linter: Add help text to no-extend-native, no-useless-backreference (#19733) (Anthony Amaro) - 50e8eff linter: Add .with_help() to operator-assignment, no-nonoctal-decimal-escape (#19732) (Anthony Amaro) - 1417bdc linter/no-wrapper-object-types: Add help messages to missing diagnostics (#19771) (Daniel Osmond) - 0838477 linter/ban_ts_comment: Add help and notes to missing diagnostics (#19781) (Daniel Osmond) - e8c77cf linter/adjacent_overload_signatures: Add missing diagnostics (#19780) (Daniel Osmond) - 28834ac linter/ban_types: Add missing help and note to diagnostics (#19782) (Daniel Osmond) - fd938d3 linter/prefer-enum-initializers: Add help messages to missing diagnostics (#19772) (Daniel Osmond) - eb928ee linter/no-dynamic-delete: Add help messages to missing diagnostics (#19768) (Daniel Osmond) - a985666 linter/no-empty-interface: Add help messages to missing diagnostics (#19769) (Daniel Osmond) - 2dc0ceb linter/no-extra-non-null-assertion: Add help messages to missing diagnostics (#19770) (Daniel Osmond) - 95d5d66 linter/no-dupe-keys: Handle `__proto__` proto setters in (#19762) (camc314) - 24ff0db linter/exhaustive-deps: False positive for member expressions in IIFEs (#19751) (Dennis Chen) - 7243a58 linter/no-use-before-define: Honor `ignoreTypeReferences` when value and type name collisions (#19747) (Dimava) - eefd818 linter/explicit-module-boundary-types: Add help messages to missing diagnostics (#19736) (Daniel Osmond) - 0440e9a linter: Add help text to no_control_regex, no_fallthrough, no_param_reassign (#19655) (Anthony Amaro) - e84cb2f react/display-name: Handle merged type+value context symbols (#19608) (camc314) - ce7e253 linter/prefer-object-from-entries: Require exact path match in unicorn helper (#19687) (camc314) - f5694ce estree/tokens: Reverse field order of `regex` object in tokens (#19679) (overlookmotel) - b2b7a55 estree/tokens: Generate tokens for files with BOM (#19535) (overlookmotel) - 0722721 linter/jsx-curly-brace-presence: False positive with prop & mixed quotes (#19674) (camc314) - 3496acd linter: Enhance diagnostic help messages for eslint rules (#19653) (Anthony Amaro) - e384e94 linter: Enhance help diagnostic messages for more eslint rules (#19658) (Anthony Amaro) - a4d5b34 linter: Avoid non-promise catch false positives (#19574) (camc314) - 5706f38 linter: `unicorn/no-array-callback-reference` skip `Effect.*` array-like methods name. (#19633) (Said Atrahouch) ### ⚡ Performance - 05ccf9f linter/plugins: Transfer tokens via raw transfer (#19893) (overlookmotel) - 4b0611a estree/tokens: Introduce `ESTreeTokenConfig` trait (#19842) (overlookmotel) - ec88f6a estree/tokens: Serialize tokens while visiting AST (#19726) (overlookmotel) - d4dcf26 linter/plugins: Remove `typescript` from bundle (#19531) (overlookmotel) - 6a6513c linter/plugins: Use Oxc tokens in plugins (#19498) (camc314) ### 📚 Documentation - d86f59e linter: Improve docs for no-useless-concat, mark as pending fixer. (#19859) (connorshea) - caa091d linter/plugins: Correct doc comments for `initTokens` (#19530) (overlookmotel) - 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen) - dc0ff73 linter/no-useless-constructor: Warn for parameter properties as well (#19638) (Ole Asteo) # Oxfmt ### 🚀 Features - 5141bc2 formatter: Support trailing ignore comments (#19304) (Andreas Lubbe) - 4888a99 oxfmt/lsp: Support other schemes beside `file://` and `untitled://` (#19872) (Sysix) - 14a0181 oxfmt: Support `graphql()` variant for gql-in-js (#19703) (leaysgur) - ca68ea6 oxfmt: Support gql-in-js substitution (#19670) (leaysgur) - 035933c formatter,oxfmt: Support js-in-vue (partially) (#19514) (leaysgur) - 9e11dc6 parser,estree,coverage: Collect tokens in parser and convert to ESTree format (#19497) (camc314) ### 🐛 Bug Fixes - 8e3842d oxfmt: Avoid embedded TSFN crash by returning errors as data (take2) (#19806) (Yuji Sugiura) - 04e6223 npm: Add `preferUnplugged` for Yarn PnP compatibility (#19829) (Boshen) - e540585 oxfmt: Support tailwind sort for CSS/LESS/SCSS (#19803) (leaysgur) - 93bb861 formatter: Trim trailing whitespace before breaking line (#19740) (leaysgur) - b85f97b formatter: Drop blank line between terminal call and first chain member (#19659) (Dunqing) ### ⚡ Performance - b3b2d30 parser: Introduce `ParserConfig` (#19637) (overlookmotel) ### 📚 Documentation - 2fa936f README.md: Map npm package links to npmx.dev (#19666) (Boshen) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
camc314
pushed a commit
to wagenet/oxc
that referenced
this pull request
Mar 2, 2026
Closes oxc-project#15972. Adds `options.reportUnusedDisableDirectives` to `.oxlintrc.json`, following the same pattern as `typeAware` (oxc-project#19614) and `typeCheck` (oxc-project#19764). - Root-config-only (nested configs are rejected with a clear error) - CLI `--report-unused-disable-directives[-severity]` takes precedence over the config file value - Schema, TypeScript types, and website snapshots regenerated Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
camc314
pushed a commit
to wagenet/oxc
that referenced
this pull request
Mar 2, 2026
Closes oxc-project#15972. Adds `options.reportUnusedDisableDirectives` to `.oxlintrc.json`, following the same pattern as `typeAware` (oxc-project#19614) and `typeCheck` (oxc-project#19764). - Root-config-only (nested configs are rejected with a clear error) - CLI `--report-unused-disable-directives[-severity]` takes precedence over the config file value - Schema, TypeScript types, and website snapshots regenerated Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
No description provided.