From b68e240c1102f81f63faca6a42d95d8c9db82184 Mon Sep 17 00:00:00 2001 From: Sysix <3897725+Sysix@users.noreply.github.com> Date: Sat, 15 Feb 2025 15:53:30 +0000 Subject: [PATCH] fix(linter): rule `unicorn/new-for-builtins` do not look into `globals` (#9146) --- crates/oxc_linter/src/rules/unicorn/new_for_builtins.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/crates/oxc_linter/src/rules/unicorn/new_for_builtins.rs b/crates/oxc_linter/src/rules/unicorn/new_for_builtins.rs index ff95b4115b100..6cf06c7b93604 100644 --- a/crates/oxc_linter/src/rules/unicorn/new_for_builtins.rs +++ b/crates/oxc_linter/src/rules/unicorn/new_for_builtins.rs @@ -101,9 +101,16 @@ fn is_expr_global_builtin<'a, 'b>( ) -> Option<&'b str> { match expr { Expression::Identifier(ident) => { - if !ctx.is_reference_to_global_variable(ident) { + if !ctx.scopes().root_unresolved_references().contains_key(ident.name.as_str()) { return None; } + + if !ENFORCE_NEW_FOR_BUILTINS.contains(&ident.name) + && !DISALLOW_NEW_FOR_BUILTINS.contains(&ident.name) + { + return None; + } + Some(ident.name.as_str()) } match_member_expression!(Expression) => {