diff --git a/crates/oxc_linter/src/context.rs b/crates/oxc_linter/src/context.rs index 2ccf338c6..40657f50d 100644 --- a/crates/oxc_linter/src/context.rs +++ b/crates/oxc_linter/src/context.rs @@ -137,13 +137,16 @@ impl<'a> LintContext<'a> { } pub fn env_contains_var(&self, var: &str) -> bool { + if GLOBALS["builtin"].contains_key("var") { + return true; + } for env in self.env().iter() { - let env = GLOBALS.get(env).unwrap_or(&GLOBALS["builtin"]); - if env.get(var).is_some() { - return true; + if let Some(env) = GLOBALS.get(env) { + if env.contains_key(var) { + return true; + } } } - false } diff --git a/crates/oxc_linter/src/rules/eslint/no_undef.rs b/crates/oxc_linter/src/rules/eslint/no_undef.rs index 3bf4e78e2..4315a5355 100644 --- a/crates/oxc_linter/src/rules/eslint/no_undef.rs +++ b/crates/oxc_linter/src/rules/eslint/no_undef.rs @@ -156,6 +156,7 @@ fn test() { "class C { static { a; let a; } }", "class C { static { function a() {} a; } }", "class C { static { a; function a() {} } }", + "String;Array;Boolean;" ]; let fail = vec![