@lzehrung/codegraph 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +2 -0
  2. package/dist/agent/rename-preview.d.ts.map +1 -1
  3. package/dist/agent/rename-preview.js +54 -5
  4. package/dist/agent/rename-preview.js.map +1 -1
  5. package/dist/bin/cli.js +2614 -1417
  6. package/dist/bin/query-index-worker.js +180 -28
  7. package/dist/cli/help.d.ts +1 -1
  8. package/dist/cli/help.d.ts.map +1 -1
  9. package/dist/cli/help.js +1 -1
  10. package/dist/graphs/symbol-graph.d.ts +1 -1
  11. package/dist/graphs/symbol-graph.d.ts.map +1 -1
  12. package/dist/graphs/symbol-graph.js +8 -0
  13. package/dist/graphs/symbol-graph.js.map +1 -1
  14. package/dist/impact/analyzer.d.ts.map +1 -1
  15. package/dist/impact/analyzer.js +94 -1
  16. package/dist/impact/analyzer.js.map +1 -1
  17. package/dist/impact/transitive.d.ts +6 -2
  18. package/dist/impact/transitive.d.ts.map +1 -1
  19. package/dist/impact/transitive.js +23 -11
  20. package/dist/impact/transitive.js.map +1 -1
  21. package/dist/indexer/build-cache/options.d.ts +3 -1
  22. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  23. package/dist/indexer/build-cache/options.js +3 -1
  24. package/dist/indexer/build-cache/options.js.map +1 -1
  25. package/dist/indexer/build-cache/project-snapshot.js +4 -0
  26. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  27. package/dist/indexer/declarations.d.ts.map +1 -1
  28. package/dist/indexer/declarations.js +32 -7
  29. package/dist/indexer/declarations.js.map +1 -1
  30. package/dist/indexer/import-resolution-tables.d.ts.map +1 -1
  31. package/dist/indexer/import-resolution-tables.js +10 -0
  32. package/dist/indexer/import-resolution-tables.js.map +1 -1
  33. package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
  34. package/dist/indexer/imports/import-binding-tables.js +3 -0
  35. package/dist/indexer/imports/import-binding-tables.js.map +1 -1
  36. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  37. package/dist/indexer/locals-and-exports.js +8 -0
  38. package/dist/indexer/locals-and-exports.js.map +1 -1
  39. package/dist/indexer/navigation.d.ts.map +1 -1
  40. package/dist/indexer/navigation.js +37 -20
  41. package/dist/indexer/navigation.js.map +1 -1
  42. package/dist/indexer/reference-context.d.ts.map +1 -1
  43. package/dist/indexer/reference-context.js +4 -1
  44. package/dist/indexer/reference-context.js.map +1 -1
  45. package/dist/indexer/scope-nodes.d.ts.map +1 -1
  46. package/dist/indexer/scope-nodes.js +5 -0
  47. package/dist/indexer/scope-nodes.js.map +1 -1
  48. package/dist/indexer/types.d.ts +5 -1
  49. package/dist/indexer/types.d.ts.map +1 -1
  50. package/dist/indexer/types.js +4 -0
  51. package/dist/indexer/types.js.map +1 -1
  52. package/dist/languages/all.d.ts +1 -0
  53. package/dist/languages/all.d.ts.map +1 -1
  54. package/dist/languages/all.js +1 -0
  55. package/dist/languages/all.js.map +1 -1
  56. package/dist/languages/definitions/terraform.d.ts +9 -0
  57. package/dist/languages/definitions/terraform.d.ts.map +1 -0
  58. package/dist/languages/definitions/terraform.js +84 -0
  59. package/dist/languages/definitions/terraform.js.map +1 -0
  60. package/dist/languages.d.ts +1 -0
  61. package/dist/languages.d.ts.map +1 -1
  62. package/dist/languages.js +1 -0
  63. package/dist/languages.js.map +1 -1
  64. package/dist/terraform/navigation.d.ts +20 -0
  65. package/dist/terraform/navigation.d.ts.map +1 -0
  66. package/dist/terraform/navigation.js +142 -0
  67. package/dist/terraform/navigation.js.map +1 -0
  68. package/dist/terraform/resolution.d.ts +82 -0
  69. package/dist/terraform/resolution.d.ts.map +1 -0
  70. package/dist/terraform/resolution.js +324 -0
  71. package/dist/terraform/resolution.js.map +1 -0
  72. package/dist/terraform/syntax.d.ts +109 -0
  73. package/dist/terraform/syntax.d.ts.map +1 -0
  74. package/dist/terraform/syntax.js +441 -0
  75. package/dist/terraform/syntax.js.map +1 -0
  76. package/dist/util/member-access-tables.d.ts.map +1 -1
  77. package/dist/util/member-access-tables.js +3 -0
  78. package/dist/util/member-access-tables.js.map +1 -1
  79. package/dist/util/project-files.d.ts.map +1 -1
  80. package/dist/util/project-files.js +3 -1
  81. package/dist/util/project-files.js.map +1 -1
  82. package/dist/util/resolution/specifier-targets.d.ts.map +1 -1
  83. package/dist/util/resolution/specifier-targets.js +5 -0
  84. package/dist/util/resolution/specifier-targets.js.map +1 -1
  85. package/dist/util/resolution/terraform.d.ts +18 -0
  86. package/dist/util/resolution/terraform.d.ts.map +1 -0
  87. package/dist/util/resolution/terraform.js +64 -0
  88. package/dist/util/resolution/terraform.js.map +1 -0
  89. package/dist/util/trivia-tables.d.ts.map +1 -1
  90. package/dist/util/trivia-tables.js +9 -0
  91. package/dist/util/trivia-tables.js.map +1 -1
  92. package/package.json +4 -4
@@ -21,7 +21,11 @@ export declare enum SymbolKind {
21
21
  View = "view",
22
22
  Index = "index",
23
23
  Constraint = "constraint",
24
- Routine = "routine"
24
+ Routine = "routine",
25
+ Resource = "resource",
26
+ DataSource = "data",
27
+ Module = "module",
28
+ Output = "output"
25
29
  }
26
30
  export type SymbolDef = {
27
31
  file: FileId;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/indexer/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/indexer/types.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,9 @@ export var SymbolKind;
11
11
  SymbolKind["Index"] = "index";
12
12
  SymbolKind["Constraint"] = "constraint";
13
13
  SymbolKind["Routine"] = "routine";
14
+ SymbolKind["Resource"] = "resource";
15
+ SymbolKind["DataSource"] = "data";
16
+ SymbolKind["Module"] = "module";
17
+ SymbolKind["Output"] = "output";
14
18
  })(SymbolKind || (SymbolKind = {}));
15
19
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/indexer/types.ts"],"names":[],"mappings":"AAcA,MAAM,CAAN,IAAY,UAYX;AAZD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,6BAAe,CAAA;IACf,mCAAqB,CAAA;IACrB,qCAAuB,CAAA;IACvB,gCAAkB,CAAA;IAClB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,2BAAa,CAAA;IACb,6BAAe,CAAA;IACf,uCAAyB,CAAA;IACzB,iCAAmB,CAAA;AACrB,CAAC,EAZW,UAAU,KAAV,UAAU,QAYrB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/indexer/types.ts"],"names":[],"mappings":"AAcA,MAAM,CAAN,IAAY,UAgBX;AAhBD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,6BAAe,CAAA;IACf,mCAAqB,CAAA;IACrB,qCAAuB,CAAA;IACvB,gCAAkB,CAAA;IAClB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,2BAAa,CAAA;IACb,6BAAe,CAAA;IACf,uCAAyB,CAAA;IACzB,iCAAmB,CAAA;IACnB,mCAAqB,CAAA;IACrB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;AACnB,CAAC,EAhBW,UAAU,KAAV,UAAU,QAgBrB"}
@@ -24,5 +24,6 @@ import "./definitions/cpp.js";
24
24
  import "./definitions/kotlin.js";
25
25
  import "./definitions/swift.js";
26
26
  import "./definitions/sql.js";
27
+ import "./definitions/terraform.js";
27
28
  import "./definitions/zig.js";
28
29
  //# sourceMappingURL=all.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/languages/all.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,6BAA6B,CAAC;AACrC,OAAO,yBAAyB,CAAC;AACjC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,2BAA2B,CAAC;AACnC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAE9B,OAAO,sBAAsB,CAAC"}
1
+ {"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../src/languages/all.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,6BAA6B,CAAC;AACrC,OAAO,yBAAyB,CAAC;AACjC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,2BAA2B,CAAC;AACnC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,4BAA4B,CAAC;AAEpC,OAAO,sBAAsB,CAAC"}
@@ -24,5 +24,6 @@ import "./definitions/cpp.js";
24
24
  import "./definitions/kotlin.js";
25
25
  import "./definitions/swift.js";
26
26
  import "./definitions/sql.js";
27
+ import "./definitions/terraform.js";
27
28
  import "./definitions/zig.js";
28
29
  //# sourceMappingURL=all.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/languages/all.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,6BAA6B,CAAC;AACrC,OAAO,yBAAyB,CAAC;AACjC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,2BAA2B,CAAC;AACnC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAE9B,OAAO,sBAAsB,CAAC"}
1
+ {"version":3,"file":"all.js","sourceRoot":"","sources":["../../src/languages/all.ts"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AACrC,OAAO,6BAA6B,CAAC;AACrC,OAAO,yBAAyB,CAAC;AACjC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,2BAA2B,CAAC;AACnC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,4BAA4B,CAAC;AAEpC,OAAO,sBAAsB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { LanguageDefinition } from "../types.js";
2
+ /**
3
+ * Terraform (HCL) configuration. Symbols are top-level `variable`, `output`, `module`, `resource`,
4
+ * and `data` blocks and `locals` attributes, named by their quoted label or attribute name. Inputs
5
+ * (`variable`) and `output` values are a module's public interface. References and module calls
6
+ * resolve in `src/terraform/`, not through generic imports or member access.
7
+ */
8
+ export declare const TERRAFORM_DEF: LanguageDefinition;
9
+ //# sourceMappingURL=terraform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terraform.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/terraform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAsCvE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,kBA4C3B,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { registerLanguage } from "../registry.js";
2
+ import { classifyTerraformDefinition, terraformDeclarationForNameNode } from "../../terraform/syntax.js";
3
+ /** A quoted block label with no interpolation, capturing its text as `capture`. */
4
+ function literalLabel(capture) {
5
+ const name = capture ? ` @${capture}` : "";
6
+ return `(string_lit . (quoted_template_start) . (template_literal)${name} . (quoted_template_end) .)`;
7
+ }
8
+ /** An anchored step between adjacent named nodes, such as block header parts; a comment may sit between them. */
9
+ const COMMENT_GAP = ". (comment)* .";
10
+ /** A chunk block for top-level block keywords that take `labels` labels; the last label names it. */
11
+ function labeledChunkBlock(keywords, labels, captureId) {
12
+ const keywordList = keywords.map((keyword) => `"${keyword}"`).join(" ");
13
+ const leading = labels === 2 ? ` ${COMMENT_GAP} (string_lit)` : "";
14
+ return {
15
+ type: "block",
16
+ nameQuery: `. (identifier) @kw (#any-of? @kw ${keywordList})${leading} ${COMMENT_GAP} (string_lit (template_literal) @chunk.name) ${COMMENT_GAP} (block_start)`,
17
+ captureId,
18
+ };
19
+ }
20
+ /** A chunk block for an unlabeled top-level block keyword; the keyword names it. */
21
+ function unlabeledChunkBlock(keywords, captureId) {
22
+ const keywordList = keywords.map((keyword) => `"${keyword}"`).join(" ");
23
+ return {
24
+ type: "block",
25
+ nameQuery: `. (identifier) @chunk.name (#any-of? @chunk.name ${keywordList}) ${COMMENT_GAP} (block_start)`,
26
+ captureId,
27
+ };
28
+ }
29
+ const ONE_LABEL_DECLARATION = `(config_file (body (block . (identifier) @kind (#any-of? @kind "variable" "output" "module") ${COMMENT_GAP} ${literalLabel("name")} ${COMMENT_GAP} (block_start))))`;
30
+ const TWO_LABEL_DECLARATION = `(config_file (body (block . (identifier) @kind (#any-of? @kind "resource" "data") ${COMMENT_GAP} ${literalLabel()} ${COMMENT_GAP} ${literalLabel("name")} ${COMMENT_GAP} (block_start))))`;
31
+ const LOCALS_DECLARATION = `(config_file (body (block . (identifier) @kind (#eq? @kind "locals") ${COMMENT_GAP} (block_start) (body (attribute . (identifier) @name)))))`;
32
+ /**
33
+ * Terraform (HCL) configuration. Symbols are top-level `variable`, `output`, `module`, `resource`,
34
+ * and `data` blocks and `locals` attributes, named by their quoted label or attribute name. Inputs
35
+ * (`variable`) and `output` values are a module's public interface. References and module calls
36
+ * resolve in `src/terraform/`, not through generic imports or member access.
37
+ */
38
+ export const TERRAFORM_DEF = {
39
+ id: "terraform",
40
+ extensions: [".tf"],
41
+ usesQueryDrivenLocals: true,
42
+ structure: {
43
+ blocks: [
44
+ labeledChunkBlock(["resource"], 2, "resource"),
45
+ labeledChunkBlock(["data"], 2, "data"),
46
+ labeledChunkBlock(["module"], 1, "module"),
47
+ labeledChunkBlock(["variable"], 1, "variable"),
48
+ labeledChunkBlock(["output"], 1, "output"),
49
+ unlabeledChunkBlock(["locals"], "locals"),
50
+ labeledChunkBlock(["provider", "check"], 1, "block"),
51
+ labeledChunkBlock(["ephemeral"], 2, "block"),
52
+ unlabeledChunkBlock(["terraform", "moved", "import", "removed"], "block"),
53
+ ],
54
+ splitPoints: [],
55
+ comments: ["comment"],
56
+ },
57
+ graph: {
58
+ // A module call depends on its local `source` directory; remote sources stay external.
59
+ imports: `
60
+ (config_file (body (block . (identifier) @kw (#eq? @kw "module")
61
+ (body (attribute . (identifier) @attr (#eq? @attr "source")
62
+ ${COMMENT_GAP} (expression . (literal_value . ${literalLabel("from")} .) .)))) @stmt))
63
+ `,
64
+ exports: `
65
+ (config_file (body (block . (identifier) @kind (#any-of? @kind "variable" "output") ${COMMENT_GAP} ${literalLabel("name")} ${COMMENT_GAP} (block_start))))
66
+ `,
67
+ locals: `
68
+ ${ONE_LABEL_DECLARATION}
69
+ ${TWO_LABEL_DECLARATION}
70
+ ${LOCALS_DECLARATION}
71
+ `,
72
+ // Module calls bind no local names; `module.<name>` resolves in src/terraform/.
73
+ importBindings: "",
74
+ },
75
+ nodeTypes: {
76
+ identifier: ["identifier"],
77
+ },
78
+ // Terraform references resolve in src/terraform/, so generic cross-module and member passes skip it.
79
+ supportsCrossModuleSymbols: false,
80
+ classifyDefinition: classifyTerraformDefinition,
81
+ isDeclarationName: (node) => terraformDeclarationForNameNode(node) !== null,
82
+ };
83
+ registerLanguage(TERRAFORM_DEF);
84
+ //# sourceMappingURL=terraform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terraform.js","sourceRoot":"","sources":["../../../src/languages/definitions/terraform.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,7 @@ export declare const KOTLIN_SUPPORT: LanguageSupport;
52
52
  export declare const SWIFT_SUPPORT: LanguageSupport;
53
53
  export declare const ZIG_SUPPORT: LanguageSupport;
54
54
  export declare const SQL_SUPPORT: LanguageSupport;
55
+ export declare const TERRAFORM_SUPPORT: LanguageSupport;
55
56
  export declare const LANGUAGE_SUPPORTS: LanguageSupport[];
56
57
  export type LanguageExtensionMap = Record<string, string>;
57
58
  export declare function isLiteralLanguageExtension(extension: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"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"}
package/dist/languages.js CHANGED
@@ -46,6 +46,7 @@ export const KOTLIN_SUPPORT = adaptDefinition(getLanguageById("kotlin"));
46
46
  export const SWIFT_SUPPORT = adaptDefinition(getLanguageById("swift"));
47
47
  export const ZIG_SUPPORT = adaptDefinition(getLanguageById("zig"));
48
48
  export const SQL_SUPPORT = adaptDefinition(getLanguageById("sql"));
49
+ export const TERRAFORM_SUPPORT = adaptDefinition(getLanguageById("terraform"));
49
50
  export const LANGUAGE_SUPPORTS = getAllLanguages().map(adaptDefinition);
50
51
  const LANGUAGE_EXTENSION_KEY_PATTERN = /^\.[a-z0-9][a-z0-9._+-]*$/;
51
52
  const NON_REMAPPABLE_EXTENSIONS = new Set([".vue", ".svelte"]);
@@ -1 +1 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { FindReferencesResult, GoToRequest, GoToResult, ProjectIndex, SymbolDef } from "../indexer/types.js";
2
+ /**
3
+ * Go-to-definition for a position in a Terraform file, or null for other languages. A position
4
+ * on a declared name returns that declaration; a position on a reference resolves it through
5
+ * `resolveTerraformTarget`.
6
+ */
7
+ export declare function goToTerraformDefinition(index: ProjectIndex, req: GoToRequest): Promise<GoToResult | null>;
8
+ type FindTerraformReferencesOptions = {
9
+ includeDefinition: boolean;
10
+ maxReferences?: number;
11
+ };
12
+ /**
13
+ * References to a Terraform declaration, or null for other languages. Candidates are the files
14
+ * of the declaring module plus, for input variables and outputs, the files that call that module
15
+ * through a local source. Every candidate site resolves through `resolveTerraformTarget`, so
16
+ * references agree with go-to-definition.
17
+ */
18
+ export declare function findTerraformReferences(index: ProjectIndex, def: SymbolDef, options: FindTerraformReferencesOptions): Promise<FindReferencesResult | null>;
19
+ export {};
20
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/terraform/navigation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,YAAY,EAEZ,SAAS,EACV,MAAM,qBAAqB,CAAC;AAe7B;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAa/G;AAED,KAAK,8BAA8B,GAAG;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AASF;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CA2FtC"}
@@ -0,0 +1,142 @@
1
+ import { createNavigationProvenance, okGoToResult } from "../indexer/navigation-provenance.js";
2
+ import { buildIndexedCandidateCoverage } from "../indexer/navigation-references.js";
3
+ import { rangeContains, sameDef } from "../indexer/reference-context.js";
4
+ import { fileIdentityKey } from "../util/paths.js";
5
+ import { isTerraformFile, resolveTerraformTarget, TERRAFORM_LANGUAGE_ID, terraformAddressMayName, terraformDeclarationForDefinition, terraformFactsForFile, terraformModuleCallerFiles, terraformModuleUseTargetsDefinition, terraformModuleFiles, } from "./resolution.js";
6
+ /**
7
+ * Go-to-definition for a position in a Terraform file, or null for other languages. A position
8
+ * on a declared name returns that declaration; a position on a reference resolves it through
9
+ * `resolveTerraformTarget`.
10
+ */
11
+ export async function goToTerraformDefinition(index, req) {
12
+ if (!isTerraformFile(index, req.file))
13
+ return null;
14
+ const facts = await terraformFactsForFile(index, req.file);
15
+ if (!facts)
16
+ return { status: "not_found", reason: "Terraform file could not be parsed" };
17
+ const position = { row: req.line, column: req.column };
18
+ const module = index.byFile.get(fileIdentityKey(req.file));
19
+ const declared = module?.locals.find((local) => rangeContains(local.range, position));
20
+ if (declared)
21
+ return okGoToResult(index, declared, { resolution: "exact", confidence: "high" });
22
+ const site = facts.references.find((reference) => rangeContains(reference.range, position));
23
+ if (!site)
24
+ return { status: "not_found", reason: "No Terraform reference at position" };
25
+ const resolved = await resolveTerraformTarget(index, req.file, site.target);
26
+ if (resolved.status !== "ok")
27
+ return { status: "not_found", reason: resolved.reason };
28
+ return okGoToResult(index, resolved.def, { resolution: "exact", confidence: "high" });
29
+ }
30
+ function siteKey(file, range) {
31
+ return `${fileIdentityKey(file)}:${range.start.line}:${range.start.column}`;
32
+ }
33
+ /** Declarations another module can name: inputs, outputs, and what a resource address names. */
34
+ const CROSS_MODULE_KINDS = new Set(["variable", "output", "module", "resource", "data"]);
35
+ /**
36
+ * References to a Terraform declaration, or null for other languages. Candidates are the files
37
+ * of the declaring module plus, for input variables and outputs, the files that call that module
38
+ * through a local source. Every candidate site resolves through `resolveTerraformTarget`, so
39
+ * references agree with go-to-definition.
40
+ */
41
+ export async function findTerraformReferences(index, def, options) {
42
+ if (!isTerraformFile(index, def.file))
43
+ return null;
44
+ const declaration = await terraformDeclarationForDefinition(index, def);
45
+ const candidateFiles = terraformModuleFiles(index, def.file);
46
+ const unavailableFiles = [];
47
+ if (declaration && CROSS_MODULE_KINDS.has(declaration.kind)) {
48
+ const callers = await terraformModuleCallerFiles(index, def);
49
+ // A file whose facts cannot load may call this module or hold an address, so it is unproven.
50
+ unavailableFiles.push(...callers.unavailable);
51
+ // Callers name inputs and outputs; a resource address anywhere can name nested module calls,
52
+ // resources, and data sources.
53
+ const callerFiles = declaration.kind === "variable" || declaration.kind === "output" ? callers.files : [];
54
+ const addressFiles = declaration.kind === "variable" || declaration.kind === "output" ? [] : callers.addressFiles;
55
+ for (const caller of [...callerFiles, ...addressFiles]) {
56
+ if (!candidateFiles.some((file) => fileIdentityKey(file) === fileIdentityKey(caller))) {
57
+ candidateFiles.push(caller);
58
+ }
59
+ }
60
+ }
61
+ const maxReferences = options.maxReferences;
62
+ const collectionLimit = maxReferences === undefined ? undefined : maxReferences + 1;
63
+ const references = [];
64
+ const seen = new Set();
65
+ const definitionKey = siteKey(def.file, def.range);
66
+ const addReference = (file, range) => {
67
+ if (collectionLimit !== undefined && references.length >= collectionLimit)
68
+ return;
69
+ const key = siteKey(file, range);
70
+ if (!options.includeDefinition && key === definitionKey)
71
+ return;
72
+ if (seen.has(key))
73
+ return;
74
+ seen.add(key);
75
+ references.push({ file, range });
76
+ };
77
+ if (options.includeDefinition)
78
+ addReference(def.file, def.range);
79
+ const scannedFiles = [];
80
+ if (!declaration)
81
+ unavailableFiles.push(def.file);
82
+ for (const file of declaration ? candidateFiles : []) {
83
+ const facts = await terraformFactsForFile(index, file);
84
+ if (!facts) {
85
+ unavailableFiles.push(file);
86
+ continue;
87
+ }
88
+ scannedFiles.push(file);
89
+ let unprovenUse = false;
90
+ for (const site of facts.references) {
91
+ if (site.target.name !== def.localName)
92
+ continue;
93
+ const resolved = await resolveTerraformTarget(index, file, site.target);
94
+ if (resolved.status === "ok") {
95
+ if (sameDef(resolved.def, def, index.languageExtensions))
96
+ addReference(file, site.range);
97
+ }
98
+ else if (resolved.unproven) {
99
+ // A same-named use behind a duplicate declaration or an unreadable file may still name it.
100
+ unprovenUse = true;
101
+ }
102
+ }
103
+ // A whole module value (`module.net`), or indexes that do not fit the call's instancing, may
104
+ // read this output without naming it; a resource address can name a nested module call, a
105
+ // resource, or a data source that references cannot rewrite yet.
106
+ for (const use of facts.moduleObjectUses) {
107
+ if (use.addressChain) {
108
+ if (await terraformAddressMayName(index, file, use.addressChain, def, declaration?.kind))
109
+ unprovenUse = true;
110
+ }
111
+ else if (declaration?.kind === "output") {
112
+ if (await terraformModuleUseTargetsDefinition(index, file, use, def))
113
+ unprovenUse = true;
114
+ }
115
+ }
116
+ if (unprovenUse)
117
+ unavailableFiles.push(file);
118
+ }
119
+ references.sort((left, right) => left.file.localeCompare(right.file) ||
120
+ left.range.start.line - right.range.start.line ||
121
+ left.range.start.column - right.range.start.column);
122
+ const truncated = maxReferences !== undefined && references.length > maxReferences;
123
+ if (truncated)
124
+ references.length = maxReferences;
125
+ return {
126
+ status: "ok",
127
+ definition: def,
128
+ references,
129
+ provenance: createNavigationProvenance("exact", "high"),
130
+ referenceCoverage: buildIndexedCandidateCoverage({
131
+ index,
132
+ def,
133
+ languageId: TERRAFORM_LANGUAGE_ID,
134
+ exportedNames: [],
135
+ candidateFiles,
136
+ scannedFiles,
137
+ truncated,
138
+ strategyUnavailableFiles: unavailableFiles,
139
+ }),
140
+ };
141
+ }
142
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/terraform/navigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import type { ProjectIndex, SymbolDef } from "../indexer/types.js";
2
+ import type { FileId, Range } from "../types.js";
3
+ import { type TerraformDeclaration, type TerraformDeclarationKind, type TerraformFileFacts, type TerraformModuleObjectUse, type TerraformReferenceTarget } from "./syntax.js";
4
+ /**
5
+ * The one place that decides what a Terraform reference names. `goToDefinition`,
6
+ * `findReferences`, and rename preview all resolve sites here.
7
+ *
8
+ * - `var`, `local`, `module`, resource, and data source references resolve within the module
9
+ * directory of the referring file.
10
+ * - `module.<name>.<output>` and module call arguments resolve in the directory named by the
11
+ * call's literal local `source`. Registry, Git, and other remote sources are not followed.
12
+ * - A name declared more than once in one module is ambiguous and resolves to nothing.
13
+ */
14
+ export declare const TERRAFORM_LANGUAGE_ID = "terraform";
15
+ /**
16
+ * A failed resolution. `unproven` marks a lookup that may still name any same-named declaration:
17
+ * the name is declared more than once in the module (invalid Terraform, so no target is chosen) or
18
+ * a file of the module could not be read. References report such uses as partial coverage.
19
+ */
20
+ export type TerraformNotFound = {
21
+ status: "not_found";
22
+ reason: string;
23
+ unproven?: true;
24
+ };
25
+ export type TerraformResolution = {
26
+ status: "ok";
27
+ def: SymbolDef;
28
+ } | TerraformNotFound;
29
+ export declare function isTerraformFile(index: ProjectIndex, file: FileId): boolean;
30
+ /**
31
+ * Declarations and reference sites of one indexed Terraform file, or null when the file is not
32
+ * indexed or could not be parsed. Cached per indexed module, so a re-indexed file is re-read.
33
+ */
34
+ export declare function terraformFactsForFile(index: ProjectIndex, file: FileId): Promise<TerraformFileFacts | null>;
35
+ /** Indexed Terraform files of the module (directory) that contains `file`, including `file`. */
36
+ export declare function terraformModuleFiles(index: ProjectIndex, file: FileId): FileId[];
37
+ /** Every indexed Terraform file, in path order. */
38
+ export declare function indexedTerraformFiles(index: ProjectIndex): FileId[];
39
+ /** True when `use` in `file` may read an output of the module whose files include `def`, unproven. */
40
+ export declare function terraformModuleUseTargetsDefinition(index: ProjectIndex, file: FileId, use: TerraformModuleObjectUse, def: SymbolDef): Promise<boolean>;
41
+ /** Resolves one reference target written in `file` to its indexed declaration. */
42
+ export declare function resolveTerraformTarget(index: ProjectIndex, file: FileId, target: TerraformReferenceTarget): Promise<TerraformResolution>;
43
+ /** The Terraform declaration that an indexed definition names, if any. */
44
+ export declare function terraformDeclarationForDefinition(index: ProjectIndex, def: SymbolDef): Promise<TerraformDeclaration | undefined>;
45
+ /**
46
+ * Declarations in the same module that renaming `def` to `newName` would collide with. Terraform
47
+ * keeps one namespace per declaration kind (and per type for resources and data sources), so only
48
+ * a same-kind declaration with that name conflicts.
49
+ */
50
+ export declare function terraformRenameCollisions(index: ProjectIndex, def: SymbolDef, newName: string): Promise<SymbolDef[]>;
51
+ /**
52
+ * Reference sites to a data source `def` that a `check` block would capture after renaming it to
53
+ * `newName`: the check declares its own `data "<type>" "<newName>"`, which wins inside the check.
54
+ */
55
+ export declare function terraformScopedDataCaptures(index: ProjectIndex, def: SymbolDef, newName: string, references: ReadonlyArray<{
56
+ file: FileId;
57
+ range: Range;
58
+ }>): Promise<Array<{
59
+ file: FileId;
60
+ range: Range;
61
+ }>>;
62
+ /** True when renaming `def` to `newName` would give an input variable a reserved name. */
63
+ export declare function isTerraformReservedRename(index: ProjectIndex, def: SymbolDef, newName: string): Promise<boolean>;
64
+ /**
65
+ * Files outside the declaring module that can reference a declaration: every file of each module
66
+ * that calls the declaring directory through a local source. Call arguments name input variables,
67
+ * and `module.<name>.<output>` can appear in any file of the calling module. `addressFiles` lists
68
+ * every file that holds a module resource address, which can name nested calls at any depth.
69
+ * `unavailable` lists files whose facts could not be loaded, so what they name is unknown.
70
+ */
71
+ export declare function terraformModuleCallerFiles(index: ProjectIndex, def: SymbolDef): Promise<{
72
+ files: FileId[];
73
+ addressFiles: FileId[];
74
+ unavailable: FileId[];
75
+ }>;
76
+ /**
77
+ * True when a module resource address written in `file` may name `def`: a nested module call in
78
+ * its chain, or a resource or data source of the last called module. Each chain segment resolves
79
+ * in the module the previous segment calls; an unproven segment may name anything.
80
+ */
81
+ export declare function terraformAddressMayName(index: ProjectIndex, file: FileId, chain: readonly string[], def: SymbolDef, kind: TerraformDeclarationKind | undefined): Promise<boolean>;
82
+ //# sourceMappingURL=resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolution.d.ts","sourceRoot":"","sources":["../../src/terraform/resolution.ts"],"names":[],"mappings":"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"}