diff --git a/apps/oxlint/fixtures/issue_11054/.oxlintrc.json b/apps/oxlint/fixtures/issue_11054/.oxlintrc.json new file mode 100644 index 0000000000000..933355aaa4b99 --- /dev/null +++ b/apps/oxlint/fixtures/issue_11054/.oxlintrc.json @@ -0,0 +1,12 @@ +{ + "rules": { + "no-unused-vars": [ + 2, + { + "args": "none", + "caughtErrors": "none", + "varsIgnorePattern": "^h|React|createElement|Fragment$" + } + ] + } +} diff --git a/apps/oxlint/fixtures/issue_11054/index.js b/apps/oxlint/fixtures/issue_11054/index.js new file mode 100644 index 0000000000000..24624c8ef0d1d --- /dev/null +++ b/apps/oxlint/fixtures/issue_11054/index.js @@ -0,0 +1 @@ +import { createElement } from "preact"; diff --git a/apps/oxlint/src/lint.rs b/apps/oxlint/src/lint.rs index c1cd57f404625..b1f1184f41709 100644 --- a/apps/oxlint/src/lint.rs +++ b/apps/oxlint/src/lint.rs @@ -1159,4 +1159,10 @@ mod test { let args = &["--import-plugin", "-D", "import/no-cycle"]; Tester::new().with_cwd("fixtures/import-cycle".into()).test_and_snapshot(args); } + + #[test] + fn test_rule_config_being_enabled_correctly() { + let args = &["-c", ".oxlintrc.json"]; + Tester::new().with_cwd("fixtures/issue_11054".into()).test_and_snapshot(args); + } } diff --git a/apps/oxlint/src/snapshots/fixtures__issue_11054_-c .oxlintrc.json@oxlint.snap b/apps/oxlint/src/snapshots/fixtures__issue_11054_-c .oxlintrc.json@oxlint.snap new file mode 100644 index 0000000000000..3621a4b8c0e1f --- /dev/null +++ b/apps/oxlint/src/snapshots/fixtures__issue_11054_-c .oxlintrc.json@oxlint.snap @@ -0,0 +1,12 @@ +--- +source: apps/oxlint/src/tester.rs +--- +########## +arguments: -c .oxlintrc.json +working directory: fixtures/issue_11054 +---------- +Found 0 warnings and 0 errors. +Finished in ms on 1 file with 101 rules using 1 threads. +---------- +CLI result: LintSucceeded +---------- diff --git a/crates/oxc_linter/src/config/rules.rs b/crates/oxc_linter/src/config/rules.rs index 2433d0d70b3a7..bf37c6a77fc85 100644 --- a/crates/oxc_linter/src/config/rules.rs +++ b/crates/oxc_linter/src/config/rules.rs @@ -147,6 +147,7 @@ impl OxlintRules { rules_for_override.remove(&rule); } for (rule, severity) in rules_to_replace { + let _ = rules_for_override.remove(&rule); rules_for_override.insert(rule, severity); } }