@@ -84,31 +84,21 @@ impl Rule for NoProcessEnv {
8484
8585 fn run < ' a > ( & self , node : & AstNode < ' a > , ctx : & LintContext < ' a > ) {
8686 // Match `process.env` as either static `process.env` or computed `process["env"]`
87- let mut is_process_env_member = false ;
88- let mut current_span = Span :: default ( ) ;
89-
90- match node. kind ( ) {
91- AstKind :: StaticMemberExpression ( mem) => {
92- if mem. property . name . as_str ( ) == "env" && is_process_global_object ( & mem. object , ctx)
93- {
94- is_process_env_member = true ;
95- current_span = mem. span ;
96- }
87+ let span = match node. kind ( ) {
88+ AstKind :: StaticMemberExpression ( mem)
89+ if mem. property . name . as_str ( ) == "env"
90+ && is_process_global_object ( & mem. object , ctx) =>
91+ {
92+ mem. span
9793 }
98- AstKind :: ComputedMemberExpression ( mem) => {
94+ AstKind :: ComputedMemberExpression ( mem)
9995 if mem. static_property_name ( ) . is_some_and ( |name| name. as_str ( ) == "env" )
100- && is_process_global_object ( & mem. object , ctx)
101- {
102- is_process_env_member = true ;
103- current_span = mem. span ;
104- }
96+ && is_process_global_object ( & mem. object , ctx) =>
97+ {
98+ mem. span
10599 }
106- _ => { }
107- }
108-
109- if !is_process_env_member {
110- return ;
111- }
100+ _ => return ,
101+ } ;
112102
113103 // Default: report any `process.env` usage
114104 let mut should_report = true ;
@@ -117,7 +107,7 @@ impl Rule for NoProcessEnv {
117107 match ctx. nodes ( ) . parent_kind ( node. id ( ) ) {
118108 AstKind :: StaticMemberExpression ( parent_mem) => {
119109 if let Some ( obj_mem) = parent_mem. object . as_member_expression ( )
120- && obj_mem. span ( ) == current_span
110+ && obj_mem. span ( ) == span
121111 {
122112 let ( .., prop_name) = parent_mem. static_property_info ( ) ;
123113 if self . 0 . allowed_variables . contains ( prop_name) {
@@ -127,7 +117,7 @@ impl Rule for NoProcessEnv {
127117 }
128118 AstKind :: ComputedMemberExpression ( parent_mem) => {
129119 if let Some ( obj_mem) = parent_mem. object . as_member_expression ( )
130- && obj_mem. span ( ) == current_span
120+ && obj_mem. span ( ) == span
131121 && let Some ( ( _, name) ) = parent_mem. static_property_info ( )
132122 && self . 0 . allowed_variables . contains ( name)
133123 {
@@ -138,7 +128,7 @@ impl Rule for NoProcessEnv {
138128 }
139129
140130 if should_report {
141- ctx. diagnostic ( no_process_env_diagnostic ( current_span ) ) ;
131+ ctx. diagnostic ( no_process_env_diagnostic ( span ) ) ;
142132 }
143133 }
144134}
0 commit comments