Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions apps/oxlint/fixtures/cli/extends_env/.oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"categories": { "correctness": "off"},
"env": {
"node": true
},
"rules": {
"no-undef": "error"
}
}
6 changes: 6 additions & 0 deletions apps/oxlint/fixtures/cli/extends_env/extends/.oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"extends": ["../.oxlintrc.json"],
"rules": {
"no-undef": "error"
}
}
1 change: 1 addition & 0 deletions apps/oxlint/fixtures/cli/extends_env/extends/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
console.log('a');
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"extends": ["../.oxlintrc.json"],
"env": {
"node": false
},
"rules": {
"no-undef": "error"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// only this file should report, because we override the extends env
console.log('a');
1 change: 1 addition & 0 deletions apps/oxlint/fixtures/cli/extends_env/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
console.log('a');
6 changes: 6 additions & 0 deletions apps/oxlint/src/lint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1186,6 +1186,12 @@ mod test {
Tester::new().with_cwd("fixtures/cli/extends_config".into()).test_and_snapshot(args);
}

#[test]
fn test_extends_env() {
let args = &[];
Tester::new().with_cwd("fixtures/cli/extends_env".into()).test_and_snapshot(args);
}

#[test]
fn test_nested_config_multi_file_analysis_imports() {
let args = &["issue_10054"];
Expand Down
21 changes: 21 additions & 0 deletions apps/oxlint/src/snapshots/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
source: apps/oxlint/src/tester.rs
---
##########
arguments:
working directory: fixtures/cli/extends_env
----------

x eslint(no-undef): 'console' is not defined.
,-[overrides_extends/test.js:2:1]
1 | // only this file should report, because we override the extends env
2 | console.log('a');
: ^^^^^^^
`----
help: Either define 'console' or remove the reference to it. If 'console' is a global variable, add it to the 'globals' configuration.

Found 0 warnings and 1 error.
Finished in <variable>ms on 3 files using 1 threads.
----------
CLI result: LintFoundErrors
----------
4 changes: 3 additions & 1 deletion crates/oxc_linter/src/config/oxlintrc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -359,9 +359,11 @@ impl Oxlintrc {
.collect::<Vec<_>>();

let settings = self.settings.clone();
let env = self.env.clone();
let globals = self.globals.clone();

let mut env = other.env;
self.env.override_envs(&mut env);

let mut overrides = other.overrides;
overrides.extend(self.overrides.clone());

Expand Down
Loading