oxc-project
oxc
BlogDocsChangelog

fix(linter): don't report unknown rules as unused directives (#11983)

#14818
Comparing
taearls:11983/fix/custom-lint-rules-reported-unused
(
74a721b
) with
main
(
e064079
)
CodSpeed Performance Gauge
0%
Untouched
4
Skipped
33

Benchmarks

Skipped (33)

mangler[cal.com.tsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler
Skipped
2.9 ms*
mangler[react.development.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler
Skipped
267.2 µs*
minifier[cal.com.tsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier
Skipped
36 ms*
mangler[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler
Skipped
13.4 µs*
mangler[binder.ts]
tasks/benchmark/benches/minifier.rs::minifier::bench_mangler
Skipped
763.1 µs*
minifier[react.development.js]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier
Skipped
2.5 ms*
minifier[binder.ts]
tasks/benchmark/benches/minifier.rs::minifier::bench_minifier
Skipped
4 ms*
codegen[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen
Skipped
122.7 µs*
codegen[react.development.js]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen
Skipped
1.9 ms*
codegen[cal.com.tsx]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen
Skipped
33.9 ms*
codegen[binder.ts]
tasks/benchmark/benches/codegen.rs::codegen::bench_codegen
Skipped
4.3 ms*
estree[checker.ts]
tasks/benchmark/benches/parser.rs::parser::bench_estree
Skipped
104.6 ms*
parser[binder.ts]
tasks/benchmark/benches/parser.rs::parser::bench_parser
Skipped
3.2 ms*
parser[react.development.js]
tasks/benchmark/benches/parser.rs::parser::bench_parser
Skipped
1.3 ms*
parser[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser
Skipped
81.8 µs*
parser[cal.com.tsx]
tasks/benchmark/benches/parser.rs::parser::bench_parser
Skipped
26.1 ms*
formatter[react.development.js]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
Skipped
10.6 ms*
formatter[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
Skipped
512.2 µs*
formatter[cal.com.tsx]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
Skipped
187.4 ms*
formatter[binder.ts]
tasks/benchmark/benches/formatter.rs::formatter::bench_formatter
Skipped
21.1 ms*
lexer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
Skipped
21.1 µs*
lexer[cal.com.tsx]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
Skipped
5.4 ms*
lexer[binder.ts]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
Skipped
879.6 µs*
lexer[react.development.js]
tasks/benchmark/benches/lexer.rs::lexer::bench_lexer
Skipped
355.3 µs*
transformer[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
Skipped
135.7 µs*
transformer[cal.com.tsx]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
Skipped
26.6 ms*
transformer[binder.ts]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
Skipped
1.7 ms*
transformer[react.development.js]
tasks/benchmark/benches/transformer.rs::transformer::bench_transformer
Skipped
709.3 µs*
isolated-declarations[vue-id.ts]
tasks/benchmark/benches/transformer.rs::transformer::bench_isolated_declarations
Skipped
56.9 ms*
semantic[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic
Skipped
71.6 µs*
semantic[binder.ts]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic
Skipped
4 ms*
semantic[react.development.js]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic
Skipped
1.6 ms*
semantic[cal.com.tsx]
tasks/benchmark/benches/semantic.rs::semantic::bench_semantic
Skipped
26.1 ms*

Passed

linter[RadixUIAdoptionSection.jsx]
tasks/benchmark/benches/linter.rs::linter::bench_linter
CodSpeed Performance Gauge
0%
708.4 µs706.5 µs
linter[cal.com.tsx]
tasks/benchmark/benches/linter.rs::linter::bench_linter
CodSpeed Performance Gauge
0%
465.9 ms466 ms
linter[react.development.js]
tasks/benchmark/benches/linter.rs::linter::bench_linter
CodSpeed Performance Gauge
0%
18.7 ms18.7 ms
linter[binder.ts]
tasks/benchmark/benches/linter.rs::linter::bench_linter
CodSpeed Performance Gauge
0%
46.7 ms46.8 ms

Commits

Click on a commit to change the comparison range
Base
main
e064079
+0.03%
fix(linter): recognize @typescript-eslint/* format for typescript plugin rules Fixes regression where `@typescript-eslint/no-floating-promises` and other typescript plugin rules were incorrectly classified as "unknown" in disable directives, preventing them from being reported as unused. The `is_known_rule()` function was caching typescript rules using the internal format `@typescript/rule-name`, but ESLint users write `@typescript-eslint/rule-name` in their disable comments (following the official @typescript-eslint plugin convention). This commit adds special handling to recognize both formats, similar to the existing jest→vitest and eslint→typescript remapping logic. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
74a721b
2 months ago
by taearls
© 2026 CodSpeed Technology
Home Terms Privacy Docs