bindings.scm.bak
1 ;; ═══════════════════════════════════════════════════════════════════════════ 2 ;; JavaScript Environment Variable Binding Queries 3 ;; ═══════════════════════════════════════════════════════════════════════════ 4 5 ;; ─────────────────────────────────────────────────────────────────────────── 6 ;; const/let/var x = process.env.VAR 7 ;; ─────────────────────────────────────────────────────────────────────────── 8 (variable_declarator 9 name: (identifier) @binding_name 10 value: (member_expression 11 object: (member_expression 12 object: (identifier) @_object 13 property: (property_identifier) @_property) 14 property: (property_identifier) @bound_env_var) 15 (#eq? @_object "process") 16 (#eq? @_property "env")) @env_binding 17 18 ;; ─────────────────────────────────────────────────────────────────────────── 19 ;; const/let/var x = process.env["VAR"] 20 ;; ─────────────────────────────────────────────────────────────────────────── 21 (variable_declarator 22 name: (identifier) @binding_name 23 value: (subscript_expression 24 object: (member_expression 25 object: (identifier) @_object 26 property: (property_identifier) @_property) 27 index: (string 28 (string_fragment) @bound_env_var)) 29 (#eq? @_object "process") 30 (#eq? @_property "env")) @env_binding 31 32 ;; ─────────────────────────────────────────────────────────────────────────── 33 ;; const { VAR } = process.env (destructuring) 34 ;; ─────────────────────────────────────────────────────────────────────────── 35 (variable_declarator 36 name: (object_pattern 37 (shorthand_property_identifier_pattern) @binding_name @bound_env_var) 38 value: (member_expression 39 object: (identifier) @_object 40 property: (property_identifier) @_property) 41 (#eq? @_object "process") 42 (#eq? @_property "env")) @env_binding 43 44 ;; ─────────────────────────────────────────────────────────────────────────── 45 ;; const env = process.env (object alias) 46 ;; ─────────────────────────────────────────────────────────────────────────── 47 (variable_declarator 48 name: (identifier) @binding_name 49 value: (member_expression 50 object: (identifier) @_object 51 property: (property_identifier) @_property) 52 (#eq? @_object "process") 53 (#eq? @_property "env")) @env_object_binding