@colbymchenry/codegraph 0.7.2 → 0.7.4

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 (182) hide show
  1. package/README.md +57 -0
  2. package/dist/bin/codegraph.js +39 -4
  3. package/dist/bin/codegraph.js.map +1 -1
  4. package/dist/bin/node-version-check.d.ts +17 -0
  5. package/dist/bin/node-version-check.d.ts.map +1 -0
  6. package/dist/bin/node-version-check.js +39 -0
  7. package/dist/bin/node-version-check.js.map +1 -0
  8. package/dist/context/index.d.ts.map +1 -1
  9. package/dist/context/index.js +46 -18
  10. package/dist/context/index.js.map +1 -1
  11. package/dist/db/index.d.ts +9 -2
  12. package/dist/db/index.d.ts.map +1 -1
  13. package/dist/db/index.js +17 -7
  14. package/dist/db/index.js.map +1 -1
  15. package/dist/db/migrations.d.ts +1 -1
  16. package/dist/db/migrations.d.ts.map +1 -1
  17. package/dist/db/migrations.js +11 -1
  18. package/dist/db/migrations.js.map +1 -1
  19. package/dist/db/queries.d.ts +16 -0
  20. package/dist/db/queries.d.ts.map +1 -1
  21. package/dist/db/queries.js +144 -7
  22. package/dist/db/queries.js.map +1 -1
  23. package/dist/db/schema.sql +6 -3
  24. package/dist/db/sqlite-adapter.d.ts +23 -4
  25. package/dist/db/sqlite-adapter.d.ts.map +1 -1
  26. package/dist/db/sqlite-adapter.js +51 -11
  27. package/dist/db/sqlite-adapter.js.map +1 -1
  28. package/dist/extraction/grammars.d.ts +1 -1
  29. package/dist/extraction/grammars.d.ts.map +1 -1
  30. package/dist/extraction/grammars.js +12 -4
  31. package/dist/extraction/grammars.js.map +1 -1
  32. package/dist/extraction/index.d.ts +20 -0
  33. package/dist/extraction/index.d.ts.map +1 -1
  34. package/dist/extraction/index.js +111 -7
  35. package/dist/extraction/index.js.map +1 -1
  36. package/dist/extraction/languages/index.d.ts.map +1 -1
  37. package/dist/extraction/languages/index.js +2 -0
  38. package/dist/extraction/languages/index.js.map +1 -1
  39. package/dist/extraction/languages/scala.d.ts +3 -0
  40. package/dist/extraction/languages/scala.d.ts.map +1 -0
  41. package/dist/extraction/languages/scala.js +139 -0
  42. package/dist/extraction/languages/scala.js.map +1 -0
  43. package/dist/extraction/parse-worker.js +39 -2
  44. package/dist/extraction/parse-worker.js.map +1 -1
  45. package/dist/extraction/svelte-extractor.d.ts +9 -0
  46. package/dist/extraction/svelte-extractor.d.ts.map +1 -1
  47. package/dist/extraction/svelte-extractor.js +42 -0
  48. package/dist/extraction/svelte-extractor.js.map +1 -1
  49. package/dist/extraction/tree-sitter.d.ts +32 -16
  50. package/dist/extraction/tree-sitter.d.ts.map +1 -1
  51. package/dist/extraction/tree-sitter.js +266 -67
  52. package/dist/extraction/tree-sitter.js.map +1 -1
  53. package/dist/extraction/vue-extractor.d.ts +36 -0
  54. package/dist/extraction/vue-extractor.d.ts.map +1 -0
  55. package/dist/extraction/vue-extractor.js +163 -0
  56. package/dist/extraction/vue-extractor.js.map +1 -0
  57. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  58. package/dist/graph/traversal.d.ts.map +1 -1
  59. package/dist/graph/traversal.js +7 -1
  60. package/dist/graph/traversal.js.map +1 -1
  61. package/dist/index.d.ts +7 -0
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +9 -0
  64. package/dist/index.js.map +1 -1
  65. package/dist/mcp/index.d.ts.map +1 -1
  66. package/dist/mcp/index.js +6 -1
  67. package/dist/mcp/index.js.map +1 -1
  68. package/dist/mcp/server-instructions.d.ts +19 -0
  69. package/dist/mcp/server-instructions.d.ts.map +1 -0
  70. package/dist/mcp/server-instructions.js +59 -0
  71. package/dist/mcp/server-instructions.js.map +1 -0
  72. package/dist/mcp/tools.d.ts.map +1 -1
  73. package/dist/mcp/tools.js +46 -8
  74. package/dist/mcp/tools.js.map +1 -1
  75. package/dist/resolution/frameworks/csharp.d.ts.map +1 -1
  76. package/dist/resolution/frameworks/csharp.js +72 -78
  77. package/dist/resolution/frameworks/csharp.js.map +1 -1
  78. package/dist/resolution/frameworks/express.d.ts.map +1 -1
  79. package/dist/resolution/frameworks/express.js +47 -26
  80. package/dist/resolution/frameworks/express.js.map +1 -1
  81. package/dist/resolution/frameworks/go.d.ts.map +1 -1
  82. package/dist/resolution/frameworks/go.js +41 -72
  83. package/dist/resolution/frameworks/go.js.map +1 -1
  84. package/dist/resolution/frameworks/index.d.ts +7 -0
  85. package/dist/resolution/frameworks/index.d.ts.map +1 -1
  86. package/dist/resolution/frameworks/index.js +13 -1
  87. package/dist/resolution/frameworks/index.js.map +1 -1
  88. package/dist/resolution/frameworks/java.d.ts.map +1 -1
  89. package/dist/resolution/frameworks/java.js +36 -40
  90. package/dist/resolution/frameworks/java.js.map +1 -1
  91. package/dist/resolution/frameworks/laravel.d.ts.map +1 -1
  92. package/dist/resolution/frameworks/laravel.js +94 -44
  93. package/dist/resolution/frameworks/laravel.js.map +1 -1
  94. package/dist/resolution/frameworks/python.d.ts.map +1 -1
  95. package/dist/resolution/frameworks/python.js +163 -151
  96. package/dist/resolution/frameworks/python.js.map +1 -1
  97. package/dist/resolution/frameworks/react.d.ts.map +1 -1
  98. package/dist/resolution/frameworks/react.js +3 -2
  99. package/dist/resolution/frameworks/react.js.map +1 -1
  100. package/dist/resolution/frameworks/ruby.d.ts.map +1 -1
  101. package/dist/resolution/frameworks/ruby.js +39 -91
  102. package/dist/resolution/frameworks/ruby.js.map +1 -1
  103. package/dist/resolution/frameworks/rust.d.ts.map +1 -1
  104. package/dist/resolution/frameworks/rust.js +50 -43
  105. package/dist/resolution/frameworks/rust.js.map +1 -1
  106. package/dist/resolution/frameworks/svelte.d.ts.map +1 -1
  107. package/dist/resolution/frameworks/svelte.js +3 -2
  108. package/dist/resolution/frameworks/svelte.js.map +1 -1
  109. package/dist/resolution/frameworks/swift.d.ts.map +1 -1
  110. package/dist/resolution/frameworks/swift.js +54 -46
  111. package/dist/resolution/frameworks/swift.js.map +1 -1
  112. package/dist/resolution/frameworks/vue.d.ts +9 -0
  113. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  114. package/dist/resolution/frameworks/vue.js +306 -0
  115. package/dist/resolution/frameworks/vue.js.map +1 -0
  116. package/dist/resolution/import-resolver.d.ts +17 -1
  117. package/dist/resolution/import-resolver.d.ts.map +1 -1
  118. package/dist/resolution/import-resolver.js +256 -46
  119. package/dist/resolution/import-resolver.js.map +1 -1
  120. package/dist/resolution/index.d.ts +8 -0
  121. package/dist/resolution/index.d.ts.map +1 -1
  122. package/dist/resolution/index.js +60 -1
  123. package/dist/resolution/index.js.map +1 -1
  124. package/dist/resolution/name-matcher.d.ts.map +1 -1
  125. package/dist/resolution/name-matcher.js +21 -0
  126. package/dist/resolution/name-matcher.js.map +1 -1
  127. package/dist/resolution/path-aliases.d.ts +68 -0
  128. package/dist/resolution/path-aliases.d.ts.map +1 -0
  129. package/dist/resolution/path-aliases.js +238 -0
  130. package/dist/resolution/path-aliases.js.map +1 -0
  131. package/dist/resolution/strip-comments.d.ts +27 -0
  132. package/dist/resolution/strip-comments.d.ts.map +1 -0
  133. package/dist/resolution/strip-comments.js +441 -0
  134. package/dist/resolution/strip-comments.js.map +1 -0
  135. package/dist/resolution/types.d.ts +54 -3
  136. package/dist/resolution/types.d.ts.map +1 -1
  137. package/dist/search/query-parser.d.ts +57 -0
  138. package/dist/search/query-parser.d.ts.map +1 -0
  139. package/dist/search/query-parser.js +177 -0
  140. package/dist/search/query-parser.js.map +1 -0
  141. package/dist/types.d.ts +11 -4
  142. package/dist/types.d.ts.map +1 -1
  143. package/dist/types.js +68 -1
  144. package/dist/types.js.map +1 -1
  145. package/package.json +5 -2
  146. package/dist/installer/banner.d.ts +0 -40
  147. package/dist/installer/banner.d.ts.map +0 -1
  148. package/dist/installer/banner.js +0 -165
  149. package/dist/installer/banner.js.map +0 -1
  150. package/dist/installer/prompts.d.ts +0 -18
  151. package/dist/installer/prompts.d.ts.map +0 -1
  152. package/dist/installer/prompts.js +0 -113
  153. package/dist/installer/prompts.js.map +0 -1
  154. package/dist/sentry.d.ts +0 -24
  155. package/dist/sentry.d.ts.map +0 -1
  156. package/dist/sentry.js +0 -166
  157. package/dist/sentry.js.map +0 -1
  158. package/dist/sync/git-hooks.d.ts +0 -66
  159. package/dist/sync/git-hooks.d.ts.map +0 -1
  160. package/dist/sync/git-hooks.js +0 -281
  161. package/dist/sync/git-hooks.js.map +0 -1
  162. package/dist/vectors/embedder.d.ts +0 -140
  163. package/dist/vectors/embedder.d.ts.map +0 -1
  164. package/dist/vectors/embedder.js +0 -338
  165. package/dist/vectors/embedder.js.map +0 -1
  166. package/dist/vectors/index.d.ts +0 -9
  167. package/dist/vectors/index.d.ts.map +0 -1
  168. package/dist/vectors/index.js +0 -20
  169. package/dist/vectors/index.js.map +0 -1
  170. package/dist/vectors/manager.d.ts +0 -119
  171. package/dist/vectors/manager.d.ts.map +0 -1
  172. package/dist/vectors/manager.js +0 -274
  173. package/dist/vectors/manager.js.map +0 -1
  174. package/dist/vectors/search.d.ts +0 -134
  175. package/dist/vectors/search.d.ts.map +0 -1
  176. package/dist/vectors/search.js +0 -411
  177. package/dist/vectors/search.js.map +0 -1
  178. package/dist/visualizer/public/index.html +0 -1994
  179. package/dist/visualizer/server.d.ts +0 -46
  180. package/dist/visualizer/server.d.ts.map +0 -1
  181. package/dist/visualizer/server.js +0 -491
  182. package/dist/visualizer/server.js.map +0 -1
@@ -41,8 +41,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
41
41
  exports.resolveImportPath = resolveImportPath;
42
42
  exports.extractImportMappings = extractImportMappings;
43
43
  exports.clearImportMappingCache = clearImportMappingCache;
44
+ exports.extractReExports = extractReExports;
44
45
  exports.resolveViaImport = resolveViaImport;
45
46
  const path = __importStar(require("path"));
47
+ const path_aliases_1 = require("./path-aliases");
46
48
  /**
47
49
  * Extension resolution order by language
48
50
  */
@@ -63,8 +65,11 @@ const EXTENSION_RESOLUTION = {
63
65
  * Resolve an import path to an actual file
64
66
  */
65
67
  function resolveImportPath(importPath, fromFile, language, context) {
66
- // Skip external/npm packages
67
- if (isExternalImport(importPath, language)) {
68
+ // Skip external/npm packages — but pass the context so the
69
+ // bare-specifier heuristic can consult the project's tsconfig
70
+ // alias map first (custom prefixes like `@components/*` would
71
+ // otherwise be misclassified as npm).
72
+ if (isExternalImport(importPath, language, context)) {
68
73
  return null;
69
74
  }
70
75
  const projectRoot = context.getProjectRoot();
@@ -78,8 +83,13 @@ function resolveImportPath(importPath, fromFile, language, context) {
78
83
  }
79
84
  /**
80
85
  * Check if an import is external (npm package, etc.)
86
+ *
87
+ * `context` is consulted for project-defined path aliases
88
+ * (tsconfig/jsconfig `paths`). Without that check, custom prefixes
89
+ * like `@components/*` would fail the bare-specifier heuristic and
90
+ * be classified as external before alias resolution can run.
81
91
  */
82
- function isExternalImport(importPath, language) {
92
+ function isExternalImport(importPath, language, context) {
83
93
  // Relative imports are not external
84
94
  if (importPath.startsWith('.')) {
85
95
  return false;
@@ -90,6 +100,14 @@ function isExternalImport(importPath, language) {
90
100
  if (['fs', 'path', 'os', 'crypto', 'http', 'https', 'url', 'util', 'events', 'stream', 'child_process', 'buffer'].includes(importPath)) {
91
101
  return true;
92
102
  }
103
+ // Project-defined alias prefix? Treat as local.
104
+ const aliases = context?.getProjectAliases?.();
105
+ if (aliases) {
106
+ for (const pat of aliases.patterns) {
107
+ if (importPath.startsWith(pat.prefix))
108
+ return false;
109
+ }
110
+ }
93
111
  // Scoped packages or bare specifiers that don't start with aliases
94
112
  if (!importPath.startsWith('@/') && !importPath.startsWith('~/') && !importPath.startsWith('src/')) {
95
113
  // Likely an npm package
@@ -134,12 +152,41 @@ function resolveRelativeImport(importPath, fromDir, language, context) {
134
152
  return null;
135
153
  }
136
154
  /**
137
- * Resolve an aliased/absolute import
155
+ * Resolve an aliased/absolute import.
156
+ *
157
+ * Tries, in order:
158
+ * 1. Project-defined `compilerOptions.paths` (tsconfig/jsconfig).
159
+ * Each pattern can have multiple replacements; tried in tsconfig
160
+ * priority order with extension permutations.
161
+ * 2. The legacy hard-coded fallback list (`@/`, `~/`, `src/`, ...)
162
+ * for projects that have aliases but no tsconfig paths block.
163
+ * 3. Direct path lookup (with extensions).
138
164
  */
139
- function resolveAliasedImport(importPath, _projectRoot, language, context) {
165
+ function resolveAliasedImport(importPath, projectRoot, language, context) {
140
166
  const extensions = EXTENSION_RESOLUTION[language] || [];
141
- // Common aliases
142
- const aliases = {
167
+ const tryWithExt = (basePath) => {
168
+ for (const ext of extensions) {
169
+ const candidate = basePath + ext;
170
+ if (context.fileExists(candidate))
171
+ return candidate;
172
+ }
173
+ if (context.fileExists(basePath))
174
+ return basePath;
175
+ return null;
176
+ };
177
+ // 1. Project tsconfig/jsconfig paths.
178
+ const aliasMap = context.getProjectAliases?.();
179
+ if (aliasMap) {
180
+ const candidates = (0, path_aliases_1.applyAliases)(importPath, aliasMap, projectRoot);
181
+ for (const c of candidates) {
182
+ const hit = tryWithExt(c);
183
+ if (hit)
184
+ return hit;
185
+ }
186
+ }
187
+ // 2. Hard-coded fallback list. Kept for projects that use these
188
+ // conventional aliases without declaring them in tsconfig.
189
+ const fallbackAliases = {
143
190
  '@/': 'src/',
144
191
  '~/': 'src/',
145
192
  '@src/': 'src/',
@@ -147,31 +194,15 @@ function resolveAliasedImport(importPath, _projectRoot, language, context) {
147
194
  '@app/': 'app/',
148
195
  'app/': 'app/',
149
196
  };
150
- // Try each alias
151
- for (const [alias, replacement] of Object.entries(aliases)) {
197
+ for (const [alias, replacement] of Object.entries(fallbackAliases)) {
152
198
  if (importPath.startsWith(alias)) {
153
- const resolvedPath = importPath.replace(alias, replacement);
154
- // Try with extensions
155
- for (const ext of extensions) {
156
- const candidatePath = resolvedPath + ext;
157
- if (context.fileExists(candidatePath)) {
158
- return candidatePath;
159
- }
160
- }
161
- // Try as-is
162
- if (context.fileExists(resolvedPath)) {
163
- return resolvedPath;
164
- }
199
+ const hit = tryWithExt(importPath.replace(alias, replacement));
200
+ if (hit)
201
+ return hit;
165
202
  }
166
203
  }
167
- // Try direct path
168
- for (const ext of extensions) {
169
- const candidatePath = importPath + ext;
170
- if (context.fileExists(candidatePath)) {
171
- return candidatePath;
172
- }
173
- }
174
- return null;
204
+ // 3. Direct path.
205
+ return tryWithExt(importPath);
175
206
  }
176
207
  /**
177
208
  * Extract import mappings from a file
@@ -404,6 +435,124 @@ const importMappingCache = new Map();
404
435
  function clearImportMappingCache() {
405
436
  importMappingCache.clear();
406
437
  }
438
+ /**
439
+ * Strip JS line + block comments from `content` while preserving
440
+ * string literals (so `"//"` inside a string stays intact). Used by
441
+ * {@link extractReExports} so commented-out export-from statements
442
+ * don't generate phantom re-export edges.
443
+ *
444
+ * Scanner is deliberately small: it only tracks the three contexts
445
+ * relevant for JS/TS — single-quote string, double-quote string, and
446
+ * template literal. Comment recognition is the JS spec subset, no
447
+ * regex-literal awareness (which is fine for our use case: we don't
448
+ * apply this to function bodies, only to top-level files).
449
+ */
450
+ function stripJsComments(content) {
451
+ let out = '';
452
+ let i = 0;
453
+ let str = null;
454
+ while (i < content.length) {
455
+ const ch = content[i];
456
+ if (str !== null) {
457
+ out += ch;
458
+ if (ch === '\\' && i + 1 < content.length) {
459
+ out += content[i + 1];
460
+ i += 2;
461
+ continue;
462
+ }
463
+ if (ch === str)
464
+ str = null;
465
+ i++;
466
+ continue;
467
+ }
468
+ if (ch === '"' || ch === "'" || ch === '`') {
469
+ str = ch;
470
+ out += ch;
471
+ i++;
472
+ continue;
473
+ }
474
+ if (ch === '/' && content[i + 1] === '/') {
475
+ while (i < content.length && content[i] !== '\n')
476
+ i++;
477
+ continue;
478
+ }
479
+ if (ch === '/' && content[i + 1] === '*') {
480
+ i += 2;
481
+ while (i < content.length && !(content[i] === '*' && content[i + 1] === '/'))
482
+ i++;
483
+ i += 2;
484
+ continue;
485
+ }
486
+ out += ch;
487
+ i++;
488
+ }
489
+ return out;
490
+ }
491
+ /**
492
+ * Extract JS/TS re-export declarations from `content`.
493
+ *
494
+ * Recognised forms:
495
+ * export { foo } from './a';
496
+ * export { foo as bar } from './a';
497
+ * export * from './a';
498
+ * export * as ns from './a'; (treated as wildcard for chasing)
499
+ * export { default as Foo } from './a';
500
+ *
501
+ * The walker intentionally stays regex-based — the import-resolver
502
+ * elsewhere in this file already chooses regex over a fresh
503
+ * tree-sitter pass, and this function shares that trade-off. Errors
504
+ * fall through silently; resolution simply skips the broken file.
505
+ */
506
+ function extractReExports(content, language) {
507
+ if (language !== 'typescript' &&
508
+ language !== 'javascript' &&
509
+ language !== 'tsx' &&
510
+ language !== 'jsx') {
511
+ return [];
512
+ }
513
+ const out = [];
514
+ // Pre-strip block comments + line comments so a commented-out
515
+ // `// export { x } from '...'` doesn't produce a phantom edge.
516
+ // (Template literals are still a possible source of false positives;
517
+ // a project that builds export statements as runtime strings is
518
+ // out of scope.)
519
+ const cleaned = stripJsComments(content);
520
+ // Wildcard: `export * from '...'` or `export * as ns from '...'`
521
+ const wildcardRe = /export\s*\*(?:\s+as\s+\w+)?\s*from\s*['"]([^'"]+)['"]/g;
522
+ let m;
523
+ while ((m = wildcardRe.exec(cleaned)) !== null) {
524
+ out.push({ kind: 'wildcard', source: m[1] });
525
+ }
526
+ // Named: `export { a, b as c } from '...'`
527
+ const namedRe = /export\s*\{([^}]+)\}\s*from\s*['"]([^'"]+)['"]/g;
528
+ while ((m = namedRe.exec(cleaned)) !== null) {
529
+ const inner = m[1];
530
+ const source = m[2];
531
+ for (const raw of inner.split(',')) {
532
+ const item = raw.trim();
533
+ if (!item)
534
+ continue;
535
+ const aliasMatch = item.match(/^(\w+)\s+as\s+(\w+)$/);
536
+ if (aliasMatch) {
537
+ out.push({
538
+ kind: 'named',
539
+ exportedName: aliasMatch[2],
540
+ originalName: aliasMatch[1],
541
+ source,
542
+ });
543
+ }
544
+ else if (/^\w+$/.test(item)) {
545
+ out.push({
546
+ kind: 'named',
547
+ exportedName: item,
548
+ originalName: item,
549
+ source,
550
+ });
551
+ }
552
+ }
553
+ }
554
+ return out;
555
+ }
407
556
  /**
408
557
  * Resolve a reference using import mappings
409
558
  */
@@ -419,24 +568,11 @@ function resolveViaImport(ref, context) {
419
568
  // Resolve the import path
420
569
  const resolvedPath = resolveImportPath(imp.source, ref.filePath, ref.language, context);
421
570
  if (resolvedPath) {
422
- // Find the exported symbol in the resolved file
423
- const nodesInFile = context.getNodesInFile(resolvedPath);
424
571
  const exportedName = imp.isDefault ? 'default' : imp.exportedName;
425
- // Look for the symbol
426
- let targetNode;
427
- if (imp.isDefault) {
428
- // Find default export or main class/function
429
- targetNode = nodesInFile.find((n) => n.isExported && (n.kind === 'function' || n.kind === 'class'));
430
- }
431
- else if (imp.isNamespace) {
432
- // Namespace import - look for the specific member
433
- const memberName = ref.referenceName.replace(imp.localName + '.', '');
434
- targetNode = nodesInFile.find((n) => n.name === memberName && n.isExported);
435
- }
436
- else {
437
- // Named import
438
- targetNode = nodesInFile.find((n) => n.name === exportedName && n.isExported);
439
- }
572
+ const memberName = imp.isNamespace
573
+ ? ref.referenceName.replace(imp.localName + '.', '')
574
+ : null;
575
+ const targetNode = findExportedSymbol(resolvedPath, { isDefault: imp.isDefault, isNamespace: imp.isNamespace, exportedName, memberName }, ref.language, context, new Set());
440
576
  if (targetNode) {
441
577
  return {
442
578
  original: ref,
@@ -450,4 +586,78 @@ function resolveViaImport(ref, context) {
450
586
  }
451
587
  return null;
452
588
  }
589
+ /** Recursive depth cap for re-export chain following. Real codebases
590
+ * rarely chain barrels more than 2–3 deep; 8 is a generous safety
591
+ * net that still bounds worst-case work. */
592
+ const REEXPORT_MAX_DEPTH = 8;
593
+ /**
594
+ * Find an exported symbol in `filePath`, following `export { x } from
595
+ * './other'` and `export * from './other'` chains until the original
596
+ * declaration is reached. Cycle-safe via the `visited` set.
597
+ *
598
+ * Without this, every barrel-style import (`import { Foo } from
599
+ * './index'` where `index.ts` only re-exports) used to resolve to
600
+ * nothing — the existing code only looked for declarations IN the
601
+ * resolved file, not declarations the file forwarded.
602
+ */
603
+ function findExportedSymbol(filePath, want, language, context, visited, depth = 0) {
604
+ if (depth > REEXPORT_MAX_DEPTH)
605
+ return undefined;
606
+ if (visited.has(filePath))
607
+ return undefined;
608
+ visited.add(filePath);
609
+ const nodesInFile = context.getNodesInFile(filePath);
610
+ // 1. Direct hit: the symbol is declared in this file.
611
+ if (want.isDefault) {
612
+ const direct = nodesInFile.find((n) => n.isExported && (n.kind === 'function' || n.kind === 'class'));
613
+ if (direct)
614
+ return direct;
615
+ }
616
+ else if (want.isNamespace && want.memberName) {
617
+ const direct = nodesInFile.find((n) => n.name === want.memberName && n.isExported);
618
+ if (direct)
619
+ return direct;
620
+ }
621
+ else {
622
+ const direct = nodesInFile.find((n) => n.name === want.exportedName && n.isExported);
623
+ if (direct)
624
+ return direct;
625
+ }
626
+ // 2. Re-export hit: the file forwards the symbol to another module.
627
+ const reExports = context.getReExports?.(filePath, language) ?? [];
628
+ if (reExports.length === 0)
629
+ return undefined;
630
+ // Look for explicit `export { want } from './other'` (with optional rename).
631
+ const targetName = want.isDefault ? 'default' : want.exportedName;
632
+ for (const rex of reExports) {
633
+ if (rex.kind === 'named' && rex.exportedName === targetName) {
634
+ const next = resolveImportPath(rex.source, filePath, language, context);
635
+ if (!next)
636
+ continue;
637
+ // After rename: `export { foo as bar } from './x'` — to chase
638
+ // `bar`, we look for `foo` in `./x`.
639
+ const chained = findExportedSymbol(next, {
640
+ isDefault: rex.originalName === 'default',
641
+ isNamespace: false,
642
+ exportedName: rex.originalName,
643
+ memberName: null,
644
+ }, language, context, visited, depth + 1);
645
+ if (chained)
646
+ return chained;
647
+ }
648
+ }
649
+ // 3. Wildcard re-export: `export * from './other'` — try every
650
+ // forwarding source. This is the barrel-of-barrels case.
651
+ for (const rex of reExports) {
652
+ if (rex.kind === 'wildcard') {
653
+ const next = resolveImportPath(rex.source, filePath, language, context);
654
+ if (!next)
655
+ continue;
656
+ const chained = findExportedSymbol(next, want, language, context, visited, depth + 1);
657
+ if (chained)
658
+ return chained;
659
+ }
660
+ }
661
+ return undefined;
662
+ }
453
663
  //# sourceMappingURL=import-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-resolver.js","sourceRoot":"","sources":["../../src/resolution/import-resolver.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BH,8CAqBC;AAiID,sDAkBC;AA2OD,0DAEC;AAKD,4CA4DC;AA9eD,2CAA6B;AAI7B;;GAEG;AACH,MAAM,oBAAoB,GAA6B;IACrD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC;IAC3F,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC;IACtE,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC;IACpF,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,CAAC;IAC/C,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,EAAE,EAAE,CAAC,KAAK,CAAC;IACX,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;IACxB,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,MAAM,EAAE,CAAC,KAAK,CAAC;IACf,GAAG,EAAE,CAAC,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,KAAK,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,UAAkB,EAClB,QAAgB,EAChB,QAAkB,EAClB,OAA0B;IAE1B,6BAA6B;IAC7B,IAAI,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE/D,0BAA0B;IAC1B,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,qBAAqB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED,oDAAoD;IACpD,OAAO,oBAAoB,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,UAAkB,EAAE,QAAkB;IAC9D,oCAAoC;IACpC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2BAA2B;IAC3B,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvG,iBAAiB;QACjB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACvI,OAAO,IAAI,CAAC;QACd,CAAC;QACD,mEAAmE;QACnE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACnG,wBAAwB;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,2BAA2B;QAC3B,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/G,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,wCAAwC;QACxC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,UAAkB,EAClB,OAAe,EACf,QAAkB,EAClB,OAA0B;IAE1B,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAExD,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE9E,qBAAqB;IACrB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,YAAY,GAAG,GAAG,CAAC;QACzC,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,UAAkB,EAClB,YAAoB,EACpB,QAAkB,EAClB,OAA0B;IAE1B,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAExD,iBAAiB;IACjB,MAAM,OAAO,GAA2B;QACtC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM;KACf,CAAC;IAEF,iBAAiB;IACjB,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAE5D,sBAAsB;YACtB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,aAAa,GAAG,YAAY,GAAG,GAAG,CAAC;gBACzC,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBACtC,OAAO,aAAa,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,YAAY;YACZ,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,UAAU,GAAG,GAAG,CAAC;QACvC,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACnC,SAAiB,EACjB,OAAe,EACf,QAAkB;IAElB,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvG,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,cAAc;IACd,MAAM,WAAW,GAAG,iGAAiG,CAAC;IAEtH,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QAE5E,iBAAiB;QACjB,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC;gBACZ,SAAS,EAAE,aAAa;gBACxB,YAAY,EAAE,SAAS;gBACvB,MAAM,EAAE,MAAO;gBACf,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;QAED,gBAAgB;QAChB,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACpD,IAAI,UAAU,EAAE,CAAC;oBACf,QAAQ,CAAC,IAAI,CAAC;wBACZ,SAAS,EAAE,UAAU,CAAC,CAAC,CAAE;wBACzB,YAAY,EAAE,UAAU,CAAC,CAAC,CAAE;wBAC5B,MAAM,EAAE,MAAO;wBACf,SAAS,EAAE,KAAK;wBAChB,WAAW,EAAE,KAAK;qBACnB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,EAAE,CAAC;oBAChB,QAAQ,CAAC,IAAI,CAAC;wBACZ,SAAS,EAAE,IAAI;wBACf,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,MAAO;wBACf,SAAS,EAAE,KAAK;wBAChB,WAAW,EAAE,KAAK;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,IAAI,cAAc,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC;gBACZ,SAAS,EAAE,cAAc;gBACzB,YAAY,EAAE,GAAG;gBACjB,MAAM,EAAE,MAAO;gBACf,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,GAAG,4EAA4E,CAAC;IAClG,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QAEpD,IAAI,WAAW,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC;gBACZ,SAAS,EAAE,WAAW;gBACtB,YAAY,EAAE,SAAS;gBACvB,MAAM,EAAE,MAAO;gBACf,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACnD,IAAI,UAAU,EAAE,CAAC;oBACf,QAAQ,CAAC,IAAI,CAAC;wBACZ,SAAS,EAAE,UAAU,CAAC,CAAC,CAAE;wBACzB,YAAY,EAAE,UAAU,CAAC,CAAC,CAAE;wBAC5B,MAAM,EAAE,MAAO;wBACf,SAAS,EAAE,KAAK;wBAChB,WAAW,EAAE,KAAK;qBACnB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,EAAE,CAAC;oBAChB,QAAQ,CAAC,IAAI,CAAC;wBACZ,SAAS,EAAE,IAAI;wBACf,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,MAAO;wBACf,SAAS,EAAE,KAAK;wBAChB,WAAW,EAAE,KAAK;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,kBAAkB;IAClB,MAAM,eAAe,GAAG,uCAAuC,CAAC;IAChE,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxD,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAClC,MAAM,KAAK,GAAG,OAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpD,IAAI,UAAU,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,UAAU,CAAC,CAAC,CAAE;oBACzB,YAAY,EAAE,UAAU,CAAC,CAAC,CAAE;oBAC5B,MAAM,EAAE,MAAO;oBACf,SAAS,EAAE,KAAK;oBAChB,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC;oBACZ,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,MAAO;oBACf,SAAS,EAAE,KAAK;oBAChB,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW;IACX,MAAM,WAAW,GAAG,wCAAwC,CAAC;IAC7D,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QAChC,MAAM,SAAS,GAAG,KAAK,IAAI,MAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC;QACrD,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS;YACT,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,MAAO;YACf,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,uCAAuC;IACvC,MAAM,iBAAiB,GAAG,yCAAyC,CAAC;IACpE,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,MAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,KAAK,IAAI,WAAW;YAC/B,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,MAAO;YACf,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;IACxD,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACxB,MAAM,SAAS,GAAG,gCAAgC,CAAC;QACnD,IAAI,SAAS,CAAC;QAEd,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;YACpC,MAAM,WAAW,GAAG,MAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC;gBACZ,SAAS,EAAE,KAAK,IAAI,WAAW;gBAC/B,YAAY,EAAE,GAAG;gBACjB,MAAM,EAAE,MAAO;gBACf,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,wDAAwD;IACxD,MAAM,QAAQ,GAAG,qCAAqC,CAAC;IACvD,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;QAClC,MAAM,SAAS,GAAG,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAG,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,KAAK,IAAI,SAAS;YAC7B,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE,QAAS;YACjB,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,oEAAoE;AACpE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA2B,CAAC;AAE9D;;GAEG;AACH,SAAgB,uBAAuB;IACrC,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,GAAkB,EAClB,OAA0B;IAE1B,wEAAwE;IACxE,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAiD;IACjD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC;YAC7F,0BAA0B;YAC1B,MAAM,YAAY,GAAG,iBAAiB,CACpC,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,QAAQ,EACZ,OAAO,CACR,CAAC;YAEF,IAAI,YAAY,EAAE,CAAC;gBACjB,gDAAgD;gBAChD,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACzD,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;gBAElE,sBAAsB;gBACtB,IAAI,UAA4B,CAAC;gBAEjC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBAClB,6CAA6C;oBAC7C,UAAU,GAAG,WAAW,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CACrE,CAAC;gBACJ,CAAC;qBAAM,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC3B,kDAAkD;oBAClD,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;oBACtE,UAAU,GAAG,WAAW,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,CAC7C,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,eAAe;oBACf,UAAU,GAAG,WAAW,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,UAAU,CAC/C,CAAC;gBACJ,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO;wBACL,QAAQ,EAAE,GAAG;wBACb,YAAY,EAAE,UAAU,CAAC,EAAE;wBAC3B,UAAU,EAAE,GAAG;wBACf,UAAU,EAAE,QAAQ;qBACrB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"import-resolver.js","sourceRoot":"","sources":["../../src/resolution/import-resolver.ts"],"names":[],"mappings":"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"}
@@ -20,12 +20,14 @@ export declare class ReferenceResolver {
20
20
  private nodeCache;
21
21
  private fileCache;
22
22
  private importMappingCache;
23
+ private reExportCache;
23
24
  private nameCache;
24
25
  private lowerNameCache;
25
26
  private qualifiedNameCache;
26
27
  private knownNames;
27
28
  private knownFiles;
28
29
  private cachesWarmed;
30
+ private projectAliases;
29
31
  constructor(projectRoot: string, queries: QueryBuilder);
30
32
  /**
31
33
  * Initialize the resolver (detect frameworks, etc.)
@@ -56,6 +58,12 @@ export declare class ReferenceResolver {
56
58
  * for names that definitely don't exist as symbols.
57
59
  */
58
60
  private hasAnyPossibleMatch;
61
+ /**
62
+ * Does `ref.referenceName` match an import declared in its containing
63
+ * file? Used as a pre-filter escape so re-export chain resolution
64
+ * still gets a chance when the name has no project-wide declaration.
65
+ */
66
+ private matchesAnyImport;
59
67
  /**
60
68
  * Resolve a single reference
61
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolution/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAQ,mBAAmB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,WAAW,EACX,gBAAgB,EAIjB,MAAM,SAAS,CAAC;AAOjB,cAAc,SAAS,CAAC;AAuFxB;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,kBAAkB,CAA2C;IACrE,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAAS;gBAEjB,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAMtD;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAYlB;;OAEG;IACH,WAAW,IAAI,IAAI;IAYnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAgGrB;;OAEG;IACH,UAAU,CACR,cAAc,EAAE,mBAAmB,EAAE,EACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,gBAAgB;IA4DnB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,GAAG,IAAI;IA2ClD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE;IA6B5C;;OAEG;IACH,iBAAiB,CACf,cAAc,EAAE,mBAAmB,EAAE,EACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,gBAAgB;IAyBnB;;;;OAIG;IACG,wBAAwB,CAC5B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EACrD,SAAS,GAAE,MAAa,GACvB,OAAO,CAAC,gBAAgB,CAAC;IA4E5B;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6E3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAI9B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,iBAAiB,CAI5F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolution/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAQ,mBAAmB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,WAAW,EACX,gBAAgB,EAIjB,MAAM,SAAS,CAAC;AASjB,cAAc,SAAS,CAAC;AAuFxB;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,kBAAkB,CAA2C;IACrE,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAAS;IAI7B,OAAO,CAAC,cAAc,CAA0C;gBAEpD,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAMtD;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAYlB;;OAEG;IACH,WAAW,IAAI,IAAI;IAanB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoHrB;;OAEG;IACH,UAAU,CACR,cAAc,EAAE,mBAAmB,EAAE,EACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,gBAAgB;IA4DnB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,GAAG,IAAI;IAgDlD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE;IAyC5C;;OAEG;IACH,iBAAiB,CACf,cAAc,EAAE,mBAAmB,EAAE,EACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,gBAAgB;IAyBnB;;;;OAIG;IACG,wBAAwB,CAC5B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EACrD,SAAS,GAAE,MAAa,GACvB,OAAO,CAAC,gBAAgB,CAAC;IA4E5B;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6E3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAI9B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,iBAAiB,CAI5F"}
@@ -48,6 +48,7 @@ const path = __importStar(require("path"));
48
48
  const name_matcher_1 = require("./name-matcher");
49
49
  const import_resolver_1 = require("./import-resolver");
50
50
  const frameworks_1 = require("./frameworks");
51
+ const path_aliases_1 = require("./path-aliases");
51
52
  const errors_1 = require("../errors");
52
53
  // Re-export types
53
54
  __exportStar(require("./types"), exports);
@@ -140,12 +141,17 @@ class ReferenceResolver {
140
141
  nodeCache = new Map(); // per-file node cache (bounded)
141
142
  fileCache = new Map(); // per-file content cache (bounded)
142
143
  importMappingCache = new Map();
144
+ reExportCache = new Map();
143
145
  nameCache = new Map(); // name → nodes cache
144
146
  lowerNameCache = new Map(); // lower(name) → nodes cache
145
147
  qualifiedNameCache = new Map(); // qualified_name → nodes cache
146
148
  knownNames = null; // all known symbol names for fast pre-filtering
147
149
  knownFiles = null;
148
150
  cachesWarmed = false;
151
+ // tsconfig/jsconfig path-alias map. `undefined` = not yet computed,
152
+ // `null` = computed and absent. Treated as immutable for the
153
+ // resolver's lifetime; callers re-create the resolver if config changes.
154
+ projectAliases = undefined;
149
155
  constructor(projectRoot, queries) {
150
156
  this.projectRoot = projectRoot;
151
157
  this.queries = queries;
@@ -180,6 +186,7 @@ class ReferenceResolver {
180
186
  this.nodeCache.clear();
181
187
  this.fileCache.clear();
182
188
  this.importMappingCache.clear();
189
+ this.reExportCache.clear();
183
190
  this.nameCache.clear();
184
191
  this.lowerNameCache.clear();
185
192
  this.qualifiedNameCache.clear();
@@ -277,6 +284,25 @@ class ReferenceResolver {
277
284
  this.importMappingCache.set(cacheKey, mappings);
278
285
  return mappings;
279
286
  },
287
+ getProjectAliases: () => {
288
+ if (this.projectAliases === undefined) {
289
+ this.projectAliases = (0, path_aliases_1.loadProjectAliases)(this.projectRoot);
290
+ }
291
+ return this.projectAliases;
292
+ },
293
+ getReExports: (filePath, language) => {
294
+ const cached = this.reExportCache.get(filePath);
295
+ if (cached)
296
+ return cached;
297
+ const content = this.context.readFile(filePath);
298
+ if (!content) {
299
+ this.reExportCache.set(filePath, []);
300
+ return [];
301
+ }
302
+ const reExports = (0, import_resolver_1.extractReExports)(content, language);
303
+ this.reExportCache.set(filePath, reExports);
304
+ return reExports;
305
+ },
280
306
  };
281
307
  }
282
308
  /**
@@ -373,6 +399,23 @@ class ReferenceResolver {
373
399
  }
374
400
  return false;
375
401
  }
402
+ /**
403
+ * Does `ref.referenceName` match an import declared in its containing
404
+ * file? Used as a pre-filter escape so re-export chain resolution
405
+ * still gets a chance when the name has no project-wide declaration.
406
+ */
407
+ matchesAnyImport(ref) {
408
+ const imports = this.context.getImportMappings(ref.filePath, ref.language);
409
+ if (imports.length === 0)
410
+ return false;
411
+ for (const imp of imports) {
412
+ if (imp.localName === ref.referenceName ||
413
+ ref.referenceName.startsWith(imp.localName + '.')) {
414
+ return true;
415
+ }
416
+ }
417
+ return false;
418
+ }
376
419
  /**
377
420
  * Resolve a single reference
378
421
  */
@@ -382,7 +425,12 @@ class ReferenceResolver {
382
425
  return null;
383
426
  }
384
427
  // Fast pre-filter: skip if no symbol with this name exists anywhere
385
- if (!this.hasAnyPossibleMatch(ref.referenceName)) {
428
+ // AND the name doesn't match a local import. The import escape is
429
+ // necessary because re-export rename chains (`import { login }
430
+ // from './barrel'` where the barrel has `export { signIn as login }
431
+ // from './auth'`) intentionally call a name that has no
432
+ // declaration anywhere — only the renamed upstream symbol does.
433
+ if (!this.hasAnyPossibleMatch(ref.referenceName) && !this.matchesAnyImport(ref)) {
386
434
  return null;
387
435
  }
388
436
  const candidates = [];
@@ -428,6 +476,17 @@ class ReferenceResolver {
428
476
  }
429
477
  }
430
478
  }
479
+ // Promote "calls" to "instantiates" when the resolved target is a
480
+ // class/struct. Languages without a `new` keyword (Python, Ruby)
481
+ // express instantiation as `Foo()` — extraction can't tell that
482
+ // apart from a function call without symbol info, but resolution
483
+ // can: if `Foo` resolves to a class, the call IS an instantiation.
484
+ if (kind === 'calls') {
485
+ const targetNode = this.queries.getNodeById(ref.targetNodeId);
486
+ if (targetNode && (targetNode.kind === 'class' || targetNode.kind === 'struct')) {
487
+ kind = 'instantiates';
488
+ }
489
+ }
431
490
  return {
432
491
  source: ref.original.fromNodeId,
433
492
  target: ref.targetNodeId,