@component-compass/reference-graph 0.1.0 → 0.1.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.
@@ -1,23 +1,28 @@
1
1
  import type { Graph } from "../index.js";
2
2
  /**
3
- * Walk `{kind: "named", from, fromImported}` re-export chains starting from
4
- * `file` with the given `imported` name, returning the canonical source file
5
- * (where the export is locally defined) and the local symbol name at that
6
- * leaf.
3
+ * Walk re-export chains (named + star) starting from `file` with the given
4
+ * `imported` name, returning the canonical source file (where the export is
5
+ * locally defined) and the local symbol name at that leaf.
7
6
  *
8
7
  * Mirrors what `resolveExport` in `resolve-reference.ts` does for value-flow
9
8
  * resolution — applied here at identity-stamping time so JSX edges through a
10
- * re-export barrel attribute to the actual definition file (#101). Without
11
- * this, two consumers importing the same component through different paths
12
- * (barrel vs. direct) fragment across phantom identities.
9
+ * re-export barrel attribute to the actual definition file (#101, #158).
10
+ * Without this, two consumers importing the same component through different
11
+ * paths (barrel vs. direct) fragment across phantom identities.
12
+ *
13
+ * Resolution priority at each hop:
14
+ * 1. Named export of `imported` (re-export hop or local terminal).
15
+ * 2. If absent, iterate `{kind: "star", from}` entries in source order;
16
+ * recurse into each source with the same `imported` name; first
17
+ * non-null result wins.
13
18
  *
14
19
  * Returns null when:
15
- * - The export at `file` for `imported` can't be found.
16
- * - A re-export hop's `from` specifier doesn't resolve.
17
- * Callers fall back to `{file, imported}` (the starting point).
20
+ * - The export can't be found among named exports AND no star branch resolves it.
21
+ * - A re-export hop's `from` specifier doesn't resolve (caller falls back).
22
+ * - A cycle is detected (same `${file}::${imported}` revisited).
18
23
  *
19
24
  * Cycle guard uses `${file}::${imported}` pairs to bail on re-export cycles
20
- * (rare but possible with `export * from './a'` mutually).
25
+ * including mutual `export *` (e.g. `a → export * from './b'; b → export * from './a'`).
21
26
  */
22
27
  export declare function followReExportChain(graph: Graph, file: string, imported: string): {
23
28
  file: string;
@@ -1,57 +1,86 @@
1
1
  /**
2
- * Walk `{kind: "named", from, fromImported}` re-export chains starting from
3
- * `file` with the given `imported` name, returning the canonical source file
4
- * (where the export is locally defined) and the local symbol name at that
5
- * leaf.
2
+ * Walk re-export chains (named + star) starting from `file` with the given
3
+ * `imported` name, returning the canonical source file (where the export is
4
+ * locally defined) and the local symbol name at that leaf.
6
5
  *
7
6
  * Mirrors what `resolveExport` in `resolve-reference.ts` does for value-flow
8
7
  * resolution — applied here at identity-stamping time so JSX edges through a
9
- * re-export barrel attribute to the actual definition file (#101). Without
10
- * this, two consumers importing the same component through different paths
11
- * (barrel vs. direct) fragment across phantom identities.
8
+ * re-export barrel attribute to the actual definition file (#101, #158).
9
+ * Without this, two consumers importing the same component through different
10
+ * paths (barrel vs. direct) fragment across phantom identities.
11
+ *
12
+ * Resolution priority at each hop:
13
+ * 1. Named export of `imported` (re-export hop or local terminal).
14
+ * 2. If absent, iterate `{kind: "star", from}` entries in source order;
15
+ * recurse into each source with the same `imported` name; first
16
+ * non-null result wins.
12
17
  *
13
18
  * Returns null when:
14
- * - The export at `file` for `imported` can't be found.
15
- * - A re-export hop's `from` specifier doesn't resolve.
16
- * Callers fall back to `{file, imported}` (the starting point).
19
+ * - The export can't be found among named exports AND no star branch resolves it.
20
+ * - A re-export hop's `from` specifier doesn't resolve (caller falls back).
21
+ * - A cycle is detected (same `${file}::${imported}` revisited).
17
22
  *
18
23
  * Cycle guard uses `${file}::${imported}` pairs to bail on re-export cycles
19
- * (rare but possible with `export * from './a'` mutually).
24
+ * including mutual `export *` (e.g. `a → export * from './b'; b → export * from './a'`).
20
25
  */
21
26
  export function followReExportChain(graph, file, imported) {
22
27
  return walk(graph, file, imported, new Set());
23
28
  }
24
29
  function walk(graph, file, imported, seen) {
25
30
  const seenKey = `${file}::${imported}`;
31
+ // Cycle guard: revisiting the same (file, imported) means this branch has
32
+ // already been tried. Return null so callers (including the star fallback
33
+ // below) can try the next branch instead of receiving a synthetic non-null
34
+ // result that misleads first-wins logic.
26
35
  if (seen.has(seenKey))
27
- return { file, localExport: imported };
36
+ return null;
28
37
  seen.add(seenKey);
29
38
  const target = graph.files.get(file);
30
39
  if (!target)
31
40
  return null;
41
+ // Step 1 — named hit (default included).
32
42
  const exp = target.exports.find((e) => (e.kind === "named" && "exportedAs" in e && e.exportedAs === imported) ||
33
43
  (e.kind === "default" && imported === "default"));
34
- if (!exp)
35
- return null;
36
- // Re-export hop recurse into the source file.
37
- if (exp.kind === "named" && "from" in exp) {
38
- const nextAbs = graph.moduleResolver(file, exp.from);
44
+ if (exp) {
45
+ // Re-export hop — recurse into the source file.
46
+ if (exp.kind === "named" && "from" in exp) {
47
+ const nextAbs = graph.moduleResolver(file, exp.from);
48
+ if (!nextAbs)
49
+ return { file, localExport: imported };
50
+ const nextKey = graph.resolveToGraphKey ? graph.resolveToGraphKey(nextAbs) : nextAbs;
51
+ if (!nextKey)
52
+ return { file, localExport: imported };
53
+ return walk(graph, nextKey, exp.fromImported, seen) ?? {
54
+ file: nextKey,
55
+ localExport: exp.fromImported,
56
+ };
57
+ }
58
+ // Local export — canonical source. `local` carries the binding's identity
59
+ // name (e.g. `export { Foo as Bar }` has local "Foo", exportedAs "Bar"; we
60
+ // want "Foo").
61
+ if ("local" in exp) {
62
+ return { file, localExport: exp.local };
63
+ }
64
+ return { file, localExport: imported };
65
+ }
66
+ // Step 2 — star fallback (#158). When `imported` is not among the file's
67
+ // named exports, iterate {kind: "star"} entries in source order and try each
68
+ // source for the same imported name. First branch that resolves wins —
69
+ // matches JS module semantics where ambiguous wildcards are a runtime error
70
+ // so well-formed code has at most one resolving branch.
71
+ for (const starExp of target.exports) {
72
+ if (starExp.kind !== "star")
73
+ continue;
74
+ const nextAbs = graph.moduleResolver(file, starExp.from);
39
75
  if (!nextAbs)
40
- return { file, localExport: imported };
76
+ continue;
41
77
  const nextKey = graph.resolveToGraphKey ? graph.resolveToGraphKey(nextAbs) : nextAbs;
42
78
  if (!nextKey)
43
- return { file, localExport: imported };
44
- return walk(graph, nextKey, exp.fromImported, seen) ?? {
45
- file: nextKey,
46
- localExport: exp.fromImported,
47
- };
48
- }
49
- // Local export — this is the canonical source. `local` carries the local
50
- // symbol name at this file (e.g. `export { Foo as Bar }` has local "Foo",
51
- // exportedAs "Bar"; we want "Foo" since that's the binding's identity).
52
- if ("local" in exp) {
53
- return { file, localExport: exp.local };
79
+ continue;
80
+ const result = walk(graph, nextKey, imported, seen);
81
+ if (result)
82
+ return result;
54
83
  }
55
- return { file, localExport: imported };
84
+ return null;
56
85
  }
57
86
  //# sourceMappingURL=re-export-chain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"re-export-chain.js","sourceRoot":"","sources":["../../src/engine/re-export-chain.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAY,EACZ,IAAY,EACZ,QAAgB;IAEhB,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,IAAI,CACX,KAAY,EACZ,IAAY,EACZ,QAAgB,EAChB,IAAiB;IAEjB,MAAM,OAAO,GAAG,GAAG,IAAI,KAAK,QAAQ,EAAE,CAAC;IACvC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IAC9D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC;QACtE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,CACnD,CAAC;IACF,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,gDAAgD;IAChD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrF,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI;YACrD,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,GAAG,CAAC,YAAY;SAC9B,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"re-export-chain.js","sourceRoot":"","sources":["../../src/engine/re-export-chain.ts"],"names":[],"mappings":"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"}
@@ -43,23 +43,54 @@ export function resolveReference(graph, fileGraph, ref, guard = createCycleGuard
43
43
  const targetFile = graph.resolveToGraphKey
44
44
  ? (graph.resolveToGraphKey(resolvedFile) ?? resolvedFile)
45
45
  : resolvedFile;
46
- const targetGraph = graph.files.get(targetFile);
47
- if (!targetGraph)
46
+ // Look up the export with the imported name in the target file, following
47
+ // star re-exports when needed.
48
+ const found = findExport(graph, targetFile, imp.imported, new Set());
49
+ if (!found)
48
50
  return { kind: "Unknown" };
49
- // Look up the export with the imported name in the target file.
50
- const exp = findExport(targetGraph.exports, imp.imported);
51
- if (!exp)
52
- return { kind: "Unknown" };
53
- return resolveExport(graph, targetGraph, exp, ref.memberChain, guard);
51
+ const { record: exp, fileGraph: expFileGraph } = found;
52
+ return resolveExport(graph, expFileGraph, exp, ref.memberChain, guard);
54
53
  }
55
- function findExport(exports, imported) {
56
- for (const exp of exports) {
54
+ /**
55
+ * Find an ExportRecord matching `imported` starting from `file`, following
56
+ * `{kind: "star"}` re-exports when the named/default export isn't in the
57
+ * file's own export list. Returns the matched record together with the
58
+ * FileGraph it belongs to — callers need the owning FileGraph to drive
59
+ * `resolveExport` correctly when the match is in a transitive star source.
60
+ *
61
+ * Uses a cycle guard keyed by `${file}::${imported}` to avoid infinite
62
+ * loops through mutual `export *` chains.
63
+ */
64
+ function findExport(graph, file, imported, seen) {
65
+ const seenKey = `${file}::${imported}`;
66
+ if (seen.has(seenKey))
67
+ return null;
68
+ seen.add(seenKey);
69
+ const target = graph.files.get(file);
70
+ if (!target)
71
+ return null;
72
+ // Step 1 — named/default hit in this file.
73
+ for (const exp of target.exports) {
57
74
  if (exp.kind === "named" && exp.exportedAs === imported)
58
- return exp;
75
+ return { record: exp, fileGraph: target };
59
76
  if (exp.kind === "default" && imported === "default")
60
- return exp;
77
+ return { record: exp, fileGraph: target };
78
+ }
79
+ // Step 2 — star fallback: walk {kind: "star"} entries in source order.
80
+ // seen is shared across sibling branches to prevent revisiting files already tried at this level — matches followReExportChain.
81
+ for (const exp of target.exports) {
82
+ if (exp.kind !== "star")
83
+ continue;
84
+ const resolvedFrom = graph.moduleResolver(file, exp.from);
85
+ if (!resolvedFrom)
86
+ continue;
87
+ const nextFile = graph.resolveToGraphKey
88
+ ? (graph.resolveToGraphKey(resolvedFrom) ?? resolvedFrom)
89
+ : resolvedFrom;
90
+ const result = findExport(graph, nextFile, imported, seen);
91
+ if (result)
92
+ return result;
61
93
  }
62
- // Star re-exports — fall through to first match (simplified for v1).
63
94
  return null;
64
95
  }
65
96
  function resolveExport(graph, fileGraph, exp, memberChain, guard) {
@@ -88,17 +119,14 @@ function resolveExport(graph, fileGraph, exp, memberChain, guard) {
88
119
  const targetFile = graph.resolveToGraphKey
89
120
  ? (graph.resolveToGraphKey(resolvedFrom) ?? resolvedFrom)
90
121
  : resolvedFrom;
91
- const targetGraph = graph.files.get(targetFile);
92
- if (!targetGraph)
93
- return { kind: "Unknown" };
94
- const innerExp = findExport(targetGraph.exports, exp.fromImported);
95
- if (!innerExp)
122
+ const innerFound = findExport(graph, targetFile, exp.fromImported, new Set());
123
+ if (!innerFound)
96
124
  return { kind: "Unknown" };
97
125
  const guardResult = guard.push(fileGraph.filePath, exp.exportedAs);
98
126
  if (guardResult !== "ok")
99
127
  return { kind: "Unknown" };
100
128
  try {
101
- return resolveExport(graph, targetGraph, innerExp, memberChain, guard);
129
+ return resolveExport(graph, innerFound.fileGraph, innerFound.record, memberChain, guard);
102
130
  }
103
131
  finally {
104
132
  guard.pop(fileGraph.filePath, exp.exportedAs);
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-reference.js","sourceRoot":"","sources":["../../src/engine/resolve-reference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-reference.js","sourceRoot":"","sources":["../../src/engine/resolve-reference.ts"],"names":[],"mappings":"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"}
@@ -385,8 +385,10 @@ function typeContainsRef(haystack, needle) {
385
385
  * specifiers or paths outside the repo root (e.g. node_modules siblings) —
386
386
  * callers fall back to the raw specifier in those cases.
387
387
  *
388
- * When `imported` is provided, follows `{kind: "named", from, fromImported}`
389
- * re-export chains to the canonical source file (#101). Mirrors what
388
+ * When `imported` is provided, follows re-export chains (both
389
+ * `{kind: "named", from, fromImported}` and `{kind: "star", from}`) to the
390
+ * canonical source file via `followReExportChain` — which gained star support
391
+ * in #158 with first-wins priority. Mirrors what
390
392
  * `resolveExport` in resolve-reference.ts does for value-flow purposes,
391
393
  * applied here at identity-stamping time. So `import { X } from './barrel'`
392
394
  * where `./barrel` re-exports X from `./source` attributes the component's
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper-folding.js","sourceRoot":"","sources":["../../src/engine/wrapper-folding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrapper-folding.js","sourceRoot":"","sources":["../../src/engine/wrapper-folding.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export type { Reference, ScopeId } from "./types/reference.js";
2
2
  export { MODULE_SCOPE } from "./types/reference.js";
3
3
  export type { InferredType } from "./types/inferred-type.js";
4
- export type { BindingDecl, ExportRecord, FileGraph, Graph, ImportRecord, JsxUsage, } from "./types/file-graph.js";
4
+ export type { BindingDecl, Dialect, ExportRecord, FileGraph, Graph, ImportRecord, JsxUsage, TagUsage, UsageKind, } from "./types/file-graph.js";
5
5
  export { createGraphBuilder } from "./builder.js";
6
6
  export type { GraphBuilder, FileBuilder, CreateGraphBuilderOptions } from "./builder.js";
7
7
  export { resolveType, DYNAMIC_MEMBER_KEY } from "./engine/resolve-type.js";
@@ -10,8 +10,8 @@ export type { ArgumentMap } from "./engine/argument-map.js";
10
10
  export { walkWithFolding, deriveIdentity } from "./engine/wrapper-folding.js";
11
11
  export type { FoldedTerminal, TerminalIdentity } from "./engine/wrapper-folding.js";
12
12
  export { resolve } from "./engine/index.js";
13
- export type { ResolvedGraph, EngineOccurrence } from "./engine/index.js";
13
+ export type { ResolvedGraph, EngineOccurrence, ResolveOpts, TagResolverIndex, } from "./engine/index.js";
14
14
  export { classifyDeclaration, hasJsx, buildHelperCallers } from "./engine/helper-callers.js";
15
- export type { Classification, HelperCallerIndex } from "./engine/helper-callers.js";
15
+ export type { Classification, HelperCallerIndex, ClassifiedHelperIndex } from "./engine/helper-callers.js";
16
16
  export { resolveOwnerChain } from "./engine/owner-resolution.js";
17
17
  export type { OwnerResolution } from "./engine/owner-resolution.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,+DAA+D;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAWpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,+DAA+D;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAcpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQ5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -61,9 +61,36 @@ export type JsxUsage = {
61
61
  /** Per-occurrence prop usage extracted at parse time. */
62
62
  props: PropUsage[];
63
63
  };
64
+ /** A tag-based element reference (Vue auto-imports, future Lit/HTML elements).
65
+ * Parallel to JsxUsage but keyed by tag name rather than identifier Reference. */
66
+ export type TagUsage = {
67
+ /** Lowercase tag as written in the template. Kebab-fallback for
68
+ * PascalCase Vue tags (`<VBtn>` → `vbtn`) is the parser's job, not
69
+ * the engine's. */
70
+ tagName: string;
71
+ loc: {
72
+ line: number;
73
+ column: number;
74
+ };
75
+ props: PropUsage[];
76
+ };
77
+ /** Source-file dialect understood by the engine. Drives the default
78
+ * identity kind for occurrences whose resolution doesn't find a concrete
79
+ * manifest entry. Future dialects (`"lit"`, `"svelte"`) will widen this
80
+ * union; consumers should import the named type rather than re-spelling
81
+ * the literal union. */
82
+ export type Dialect = "react" | "vue";
83
+ /** Discriminator for shared `ownership[i]` entries — whether the entry
84
+ * references a `jsxUsages[i]` (symbol-resolved) or `tagUsages[i]`
85
+ * (tag-name-resolved) emission. Consumers should import the named type
86
+ * rather than re-spelling the literal union. */
87
+ export type UsageKind = "jsx" | "tag";
64
88
  export type FileGraph = {
65
89
  /** Repo-relative POSIX path. */
66
90
  filePath: string;
91
+ /** Dialect of the source file. Controls the default identity kind for
92
+ * occurrences whose resolution doesn't find a concrete manifest entry. */
93
+ dialect: Dialect;
67
94
  scopes: Map<ScopeId, {
68
95
  parent: ScopeId | null;
69
96
  }>;
@@ -78,7 +105,14 @@ export type FileGraph = {
78
105
  importsByLocal: Map<string, ImportRecord>;
79
106
  exports: ExportRecord[];
80
107
  jsxUsages: JsxUsage[];
81
- /** Per-JSX-usage owner attribution. usageIdx aligns with jsxUsages[i].
108
+ /** Tag-based usages (Vue auto-imports, future Lit/HTML elements). Indexed
109
+ * by ownership entries whose `kind === "tag"`. Empty for files whose
110
+ * parser doesn't emit tag-shaped references (e.g. parser-react). */
111
+ tagUsages: TagUsage[];
112
+ /** Per-usage owner attribution. `usageIdx` aligns with either
113
+ * `jsxUsages[i]` or `tagUsages[i]` depending on `kind`. Both usage
114
+ * arrays share this single ownership stream so the engine can iterate
115
+ * attribution in emission order regardless of usage shape.
82
116
  *
83
117
  * `viaOverride` is optionally set by the parser when it has pre-decided
84
118
  * the occurrence's `via` (e.g. parser-react's prop-forward path for
@@ -87,8 +121,17 @@ export type FileGraph = {
87
121
  * bypassing its algebra-derived computation for this specific usage. */
88
122
  ownership: Array<{
89
123
  usageIdx: number;
124
+ /** Which usage array `usageIdx` indexes into. */
125
+ kind: UsageKind;
90
126
  ownerSymbolRef: Reference | null;
91
127
  viaOverride?: OccurrenceVia;
128
+ /** Index of the immediate-tracked lexical parent (in the same usage array
129
+ * as `usageIdx`). Absent for root-level usages. Parent tracking is
130
+ * intra-kind: a jsx usage's parent must also be jsx; a tag usage's
131
+ * parent must also be tag. */
132
+ parentUsageIdx?: number;
133
+ /** Count of tracked ancestors at emit time. Zero for root-level usages. */
134
+ depth: number;
92
135
  }>;
93
136
  /** Identifier-callee CallExpressions observed inside the body of a top-level
94
137
  * function declaration. Each entry records `{ ownerSymbol, callee }` where
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@component-compass/reference-graph",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Project-wide reference graph + cross-module resolution engine for component-compass parsers.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -24,7 +24,7 @@
24
24
  "clean": "rm -rf dist .turbo"
25
25
  },
26
26
  "dependencies": {
27
- "@component-compass/plugin-core": "0.1.0"
27
+ "@component-compass/plugin-core": "0.1.1"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "24.12.2",