/ queries / javascript / bindings.scm.bak
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