@component-compass/reference-graph 0.1.18 → 0.1.19

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.
package/dist/builder.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { OccurrenceVia, PropUsage, ResolveImport } from "@component-compass/plugin-core";
2
- import type { BindingDecl, ExportRecord, Graph, ImportRecord, Reference, ScopeId } from "./index.js";
2
+ import type { BindingDecl, ExportRecord, Graph, ImportRecord, InferredType, Reference, ScopeId } from "./index.js";
3
3
  import type { Dialect, GraphHostHooks } from "./types/file-graph.js";
4
4
  export interface FileBuilder {
5
5
  /** Repo-relative POSIX path of the file this builder is emitting into. */
@@ -92,6 +92,12 @@ export interface FileBuilder {
92
92
  callee: Omit<Reference, "scope"> & {
93
93
  scope?: ScopeId;
94
94
  };
95
+ args?: InferredType[];
96
+ }): void;
97
+ /** Record an identifier read in value position. See `FileGraph.heldRefs`.
98
+ * Scope defaults to the current scope, as for a JSX usage. */
99
+ addHeldRef(ref: Omit<Reference, "scope"> & {
100
+ scope?: ScopeId;
95
101
  }): void;
96
102
  /** Mark the most-recently-emitted usage as the lexical parent for any
97
103
  * subsequent usages emitted before the matching `popUsageScope`. Parsers
package/dist/builder.js CHANGED
@@ -3,6 +3,7 @@
3
3
  // - parser-vue: paper sketch (Task 0.2, see plan doc)
4
4
  // Members not justified by either should not be added speculatively.
5
5
  import { isAbsolute, relative, resolve } from "node:path";
6
+ import { posixPath } from "@component-compass/plugin-core";
6
7
  import { MODULE_SCOPE } from "./index.js";
7
8
  export function createGraphBuilder(opts) {
8
9
  const files = new Map();
@@ -17,6 +18,7 @@ export function createGraphBuilder(opts) {
17
18
  const tagUsages = [];
18
19
  const ownership = [];
19
20
  const bodyCalls = [];
21
+ const heldRefs = [];
20
22
  const scopeStack = [MODULE_SCOPE];
21
23
  let nextScopeId = 1;
22
24
  // Deterministic scope ids per AST node key (`fn@<span-start>`): value
@@ -30,7 +32,7 @@ export function createGraphBuilder(opts) {
30
32
  // `pushUsageScope` was called. See FileGraph.ownership.parentUsageIdx /
31
33
  // depth.
32
34
  const parentStack = [];
33
- const fg = { filePath, dialect, scopes, declarations, imports, importsByLocal, exports, jsxUsages, tagUsages, ownership, bodyCalls };
35
+ const fg = { filePath, dialect, scopes, declarations, imports, importsByLocal, exports, jsxUsages, tagUsages, ownership, bodyCalls, heldRefs };
34
36
  files.set(filePath, fg);
35
37
  return {
36
38
  filePath,
@@ -158,7 +160,11 @@ export function createGraphBuilder(opts) {
158
160
  },
159
161
  addBodyCall(record) {
160
162
  const scope = record.callee.scope ?? scopeStack[scopeStack.length - 1] ?? MODULE_SCOPE;
161
- bodyCalls.push({ ownerSymbol: record.ownerSymbol, callee: { ...record.callee, scope } });
163
+ bodyCalls.push({ ownerSymbol: record.ownerSymbol, callee: { ...record.callee, scope }, args: record.args ?? [] });
164
+ },
165
+ addHeldRef(ref) {
166
+ const scope = ref.scope ?? scopeStack[scopeStack.length - 1] ?? MODULE_SCOPE;
167
+ heldRefs.push({ ...ref, scope });
162
168
  },
163
169
  pushUsageScope() {
164
170
  // Push the most-recently-emitted usage as the parent frame. No-op
@@ -193,7 +199,7 @@ export function createGraphBuilder(opts) {
193
199
  const resolveToGraphKey = (absPath) => {
194
200
  if (!isAbsolute(absPath))
195
201
  return null;
196
- const rel = relative(repoRoot, absPath).replace(/\\/g, "/");
202
+ const rel = posixPath(relative(repoRoot, absPath));
197
203
  // Reject paths that escape the repo root (e.g. node_modules sibling
198
204
  // checkouts). Callers fall back to the absolute path; `files.get`
199
205
  // returns undefined for both cases. Repo-internal paths return the
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { BindingDecl, FileGraph, Graph, Reference } from "../index.js";
2
+ import type { ComponentRegistry } from "./registry.js";
2
3
  /**
3
4
  * Walk the scope chain for `ref.symbol` in `fileGraph.declarations` and
4
5
  * return the first matching BindingDecl, or null if not found. THE
@@ -8,14 +9,26 @@ import type { BindingDecl, FileGraph, Graph, Reference } from "../index.js";
8
9
  export declare function findLocalDeclaration(fileGraph: FileGraph, ref: Reference): BindingDecl | null;
9
10
  export type Classification = "component" | "helper" | "unknown";
10
11
  /**
11
- * Component-vs-helper classification for owner attribution. Delegates to
12
- * THE component-shape predicate (`evalKind`, spec D11) this file no longer
13
- * carries its own JSX-bearing walk. A Function or call that is not
14
- * component-shaped is a "helper" (JSX inside it fans out to its callers);
15
- * plain values stay "unknown" so `resolveOwnerChain` treats them as it
16
- * always has.
12
+ * Component-vs-helper classification for owner attribution (#559): owners
13
+ * are registry members, or they fan out. A Function- or call-valued
14
+ * declaration the registry admits is a "component" and owns its JSX; one it
15
+ * does not admit is a "helper", and the JSX inside it belongs to its callers
16
+ * (`resolveOwnerChain`). Plain values stay "unknown" so `resolveOwnerChain`
17
+ * treats them as it always has.
18
+ *
19
+ * No second shape test and no second naming rule live here: `registry` is
20
+ * the roster view (`excludeHostElementNames` applied), so a lowercase render
21
+ * helper (#540), a capitalised function only ever called (`ActionButtons({…})`),
22
+ * and a dead JSX-returning declaration are all helpers for the same reason —
23
+ * the registry did not admit them.
24
+ *
25
+ * A Vue SFC — the default-exported declaration of a vue-dialect file — is
26
+ * outside the registry by design (it is not typed by this algebra) and the
27
+ * engine admits its identity unconditionally; ownership follows the same
28
+ * rule, so an SFC always owns its template. Any other declaration in a Vue
29
+ * file (a `<script>` helper) is judged like a React one.
17
30
  */
18
- export declare function classifyDeclaration(decl: BindingDecl, graph: Graph, originFile?: string): Classification;
31
+ export declare function classifyDeclaration(decl: BindingDecl, registry: ComponentRegistry, fileGraph: FileGraph): Classification;
19
32
  export type SymbolKey = {
20
33
  file: string;
21
34
  symbol: string;
@@ -63,7 +76,7 @@ export type ClassifiedHelperIndex = HelperCallerIndex & {
63
76
  * Cost: O(declarations × refs-per-declaration + jsx-usages). Cross-file
64
77
  * resolution uses the existing module resolver — no new IO.
65
78
  */
66
- export declare function buildHelperCallers(graph: Graph): ClassifiedHelperIndex;
79
+ export declare function buildHelperCallers(graph: Graph, registry: ComponentRegistry): ClassifiedHelperIndex;
67
80
  /**
68
81
  * Resolve a Reference to the BindingDecl it ultimately points at, crossing
69
82
  * files via imports + the module resolver. Returns `{file, decl}` keyed by
@@ -1,5 +1,4 @@
1
1
  import { MODULE_SCOPE } from "../index.js";
2
- import { evalKind } from "./component-shape.js";
3
2
  import { followReExportChain } from "./re-export-chain.js";
4
3
  /**
5
4
  * Walk the scope chain for `ref.symbol` in `fileGraph.declarations` and
@@ -22,39 +21,33 @@ export function findLocalDeclaration(fileGraph, ref) {
22
21
  }
23
22
  }
24
23
  /**
25
- * Component-vs-helper classification for owner attribution. Delegates to
26
- * THE component-shape predicate (`evalKind`, spec D11) this file no longer
27
- * carries its own JSX-bearing walk. A Function or call that is not
28
- * component-shaped is a "helper" (JSX inside it fans out to its callers);
29
- * plain values stay "unknown" so `resolveOwnerChain` treats them as it
30
- * always has.
24
+ * Component-vs-helper classification for owner attribution (#559): owners
25
+ * are registry members, or they fan out. A Function- or call-valued
26
+ * declaration the registry admits is a "component" and owns its JSX; one it
27
+ * does not admit is a "helper", and the JSX inside it belongs to its callers
28
+ * (`resolveOwnerChain`). Plain values stay "unknown" so `resolveOwnerChain`
29
+ * treats them as it always has.
30
+ *
31
+ * No second shape test and no second naming rule live here: `registry` is
32
+ * the roster view (`excludeHostElementNames` applied), so a lowercase render
33
+ * helper (#540), a capitalised function only ever called (`ActionButtons({…})`),
34
+ * and a dead JSX-returning declaration are all helpers for the same reason —
35
+ * the registry did not admit them.
36
+ *
37
+ * A Vue SFC — the default-exported declaration of a vue-dialect file — is
38
+ * outside the registry by design (it is not typed by this algebra) and the
39
+ * engine admits its identity unconditionally; ownership follows the same
40
+ * rule, so an SFC always owns its template. Any other declaration in a Vue
41
+ * file (a `<script>` helper) is judged like a React one.
31
42
  */
32
- export function classifyDeclaration(decl, graph, originFile) {
33
- const fileGraph = (originFile !== undefined ? graph.files.get(originFile) : undefined) ?? syntheticFileGraph(originFile);
34
- const kind = evalKind(decl.value, graph, fileGraph);
35
- if (kind === "component")
43
+ export function classifyDeclaration(decl, registry, fileGraph) {
44
+ if (decl.value.kind !== "Function" && decl.value.kind !== "ReturnTypeOf")
45
+ return "unknown";
46
+ if (fileGraph.dialect === "vue" && isSfcDeclaration(fileGraph, decl))
36
47
  return "component";
37
- if (decl.value.kind === "Function" || decl.value.kind === "ReturnTypeOf")
38
- return "helper";
39
- return "unknown";
40
- }
41
- /** Tests call `classifyDeclaration(decl, graph)` with no file; give the
42
- * evaluator an empty FileGraph to resolve against. */
43
- function syntheticFileGraph(filePath) {
44
- return {
45
- filePath: filePath ?? "",
46
- dialect: "react",
47
- scopes: new Map([[MODULE_SCOPE, { parent: null }]]),
48
- declarations: new Map(),
49
- imports: [],
50
- importsByLocal: new Map(),
51
- exports: [],
52
- jsxUsages: [],
53
- tagUsages: [],
54
- ownership: [],
55
- bodyCalls: [],
56
- };
48
+ return registry.hasLocal(fileGraph.filePath, decl.symbol) ? "component" : "helper";
57
49
  }
50
+ const isSfcDeclaration = (fileGraph, decl) => fileGraph.exports.some((e) => e.kind === "default" && "local" in e && e.local === decl.symbol);
58
51
  /**
59
52
  * Three-phase build of the helper → component-callers reverse index plus
60
53
  * per-decl classification cache.
@@ -92,14 +85,12 @@ function syntheticFileGraph(filePath) {
92
85
  * Cost: O(declarations × refs-per-declaration + jsx-usages). Cross-file
93
86
  * resolution uses the existing module resolver — no new IO.
94
87
  */
95
- export function buildHelperCallers(graph) {
88
+ export function buildHelperCallers(graph, registry) {
96
89
  // ── Phase 1: collect ────────────────────────────────────────────────────
97
90
  // Per-target accumulators (file::symbol → ...). callerKeysByHelper dedupes
98
- // caller edges in O(1); valueConsumers mirrors the index but indexed by
99
- // target (used in phase 2 for the reclassification rule).
91
+ // caller edges in O(1).
100
92
  const index = new Map();
101
93
  const callerKeysByHelper = new Map();
102
- const valueConsumers = new Map();
103
94
  // Per-decl classification cache populated in phase 2.
104
95
  const classificationCache = new Map();
105
96
  const refResolutionCache = new Map();
@@ -148,18 +139,10 @@ export function buildHelperCallers(graph) {
148
139
  if (!target)
149
140
  continue;
150
141
  pendingValueRefs.push({ target, caller: callerKey });
151
- const targetKey = `${target.file}::${target.decl.symbol}`;
152
- let consumerSet = valueConsumers.get(targetKey);
153
- if (!consumerSet) {
154
- consumerSet = new Set();
155
- valueConsumers.set(targetKey, consumerSet);
156
- }
157
- consumerSet.add(`${callerKey.file}::${callerKey.symbol}`);
158
142
  }
159
143
  }
160
144
  }
161
145
  const pendingJsxCalls = [];
162
- const jsxConsumerCount = new Map();
163
146
  for (const [file, fileGraph] of graph.files) {
164
147
  for (let i = 0; i < fileGraph.jsxUsages.length; i++) {
165
148
  const usage = fileGraph.jsxUsages[i];
@@ -168,8 +151,6 @@ export function buildHelperCallers(graph) {
168
151
  const target = resolveRefCached(usage.ref, file, fileGraph);
169
152
  if (!target)
170
153
  continue;
171
- const targetKey = `${target.file}::${target.decl.symbol}`;
172
- jsxConsumerCount.set(targetKey, (jsxConsumerCount.get(targetKey) ?? 0) + 1);
173
154
  const ownership = fileGraph.ownership[i];
174
155
  if (!ownership?.ownerSymbolRef)
175
156
  continue;
@@ -185,18 +166,15 @@ export function buildHelperCallers(graph) {
185
166
  }
186
167
  }
187
168
  // ── Phase 2: classify ───────────────────────────────────────────────────
188
- // Structural classification, then reclassification gate.
169
+ // One judge (#559): the registry. A member owns its JSX; anything else
170
+ // JSX-returning is a helper whose JSX fans out to its callers.
189
171
  function classifyKey(file, decl) {
190
172
  const key = `${file}::${decl.symbol}`;
191
173
  const hit = classificationCache.get(key);
192
174
  if (hit !== undefined)
193
175
  return hit;
194
- let result = classifyDeclaration(decl, graph, file);
195
- if (result === "component"
196
- && (jsxConsumerCount.get(key) ?? 0) === 0
197
- && (valueConsumers.get(key)?.size ?? 0) > 0) {
198
- result = "helper";
199
- }
176
+ const fileGraph = graph.files.get(file);
177
+ const result = fileGraph ? classifyDeclaration(decl, registry, fileGraph) : "unknown";
200
178
  classificationCache.set(key, result);
201
179
  return result;
202
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helper-callers.js","sourceRoot":"","sources":["../../src/engine/helper-callers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper-callers.js","sourceRoot":"","sources":["../../src/engine/helper-callers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { FileGraph } from "../index.js";
2
+ /**
3
+ * THE JSX host-element naming rule (#518 D7, #540). JSX compiles a bare,
4
+ * lowercase-initial element name to a string — `div`, `svg`, `web-button` —
5
+ * so such a name can never denote a component binding. `_Foo` and `$x` ARE
6
+ * component references: the rule is `/^[a-z]/`, not "is not PascalCase".
7
+ *
8
+ * Takes a BARE name. A member expression (`<foo.Bar/>`) is never an
9
+ * intrinsic, so a caller holding a reference checks `memberChain.length === 0`
10
+ * first (`isHostElementRoot`, `engine/index.ts`).
11
+ *
12
+ * `isPascalCase` in `ast-utils/src/find-owner.ts` and
13
+ * `cli/src/local-index/detect-react.ts` is a DIFFERENT predicate (`/^[A-Z]/`,
14
+ * which rejects `_Foo`). Do not fold them into this one.
15
+ */
16
+ export declare function isHostElementName(name: string): boolean;
17
+ /**
18
+ * THE "this declaration can never be rendered as a component" test (#540):
19
+ * every name it could be rendered under is a host-element name. Roster
20
+ * membership calls it (`excludeHostElementNames`, `registry.ts`); owner
21
+ * classification (`classifyDeclaration`, `helper-callers.ts`) consults that
22
+ * narrowed roster rather than this rule (#559), so it is stated once and
23
+ * judged once.
24
+ *
25
+ * Two exemptions, both about which name a renderer actually sees:
26
+ *
27
+ * - A **default export** — the importer picks the name, so the local one
28
+ * carries no information (`export default () => <div/>` declares the
29
+ * symbol `default`; `const view = …; export default view` declares `view`).
30
+ * - A **component-named export alias** — `export { helper as Button }` is
31
+ * rendered as `<Button/>` by every importer.
32
+ *
33
+ * The alias is read from the file's export records, not from
34
+ * `BindingDecl.exportedAs`: that field is declared on the type but no parser
35
+ * writes it.
36
+ */
37
+ export declare function hasOnlyHostElementNames(symbol: string, fileGraph: FileGraph | undefined): boolean;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * THE JSX host-element naming rule (#518 D7, #540). JSX compiles a bare,
3
+ * lowercase-initial element name to a string — `div`, `svg`, `web-button` —
4
+ * so such a name can never denote a component binding. `_Foo` and `$x` ARE
5
+ * component references: the rule is `/^[a-z]/`, not "is not PascalCase".
6
+ *
7
+ * Takes a BARE name. A member expression (`<foo.Bar/>`) is never an
8
+ * intrinsic, so a caller holding a reference checks `memberChain.length === 0`
9
+ * first (`isHostElementRoot`, `engine/index.ts`).
10
+ *
11
+ * `isPascalCase` in `ast-utils/src/find-owner.ts` and
12
+ * `cli/src/local-index/detect-react.ts` is a DIFFERENT predicate (`/^[A-Z]/`,
13
+ * which rejects `_Foo`). Do not fold them into this one.
14
+ */
15
+ export function isHostElementName(name) {
16
+ return /^[a-z]/.test(name);
17
+ }
18
+ /**
19
+ * THE "this declaration can never be rendered as a component" test (#540):
20
+ * every name it could be rendered under is a host-element name. Roster
21
+ * membership calls it (`excludeHostElementNames`, `registry.ts`); owner
22
+ * classification (`classifyDeclaration`, `helper-callers.ts`) consults that
23
+ * narrowed roster rather than this rule (#559), so it is stated once and
24
+ * judged once.
25
+ *
26
+ * Two exemptions, both about which name a renderer actually sees:
27
+ *
28
+ * - A **default export** — the importer picks the name, so the local one
29
+ * carries no information (`export default () => <div/>` declares the
30
+ * symbol `default`; `const view = …; export default view` declares `view`).
31
+ * - A **component-named export alias** — `export { helper as Button }` is
32
+ * rendered as `<Button/>` by every importer.
33
+ *
34
+ * The alias is read from the file's export records, not from
35
+ * `BindingDecl.exportedAs`: that field is declared on the type but no parser
36
+ * writes it.
37
+ */
38
+ export function hasOnlyHostElementNames(symbol, fileGraph) {
39
+ if (!isHostElementName(symbol))
40
+ return false;
41
+ if (symbol === "default")
42
+ return false;
43
+ if (fileGraph === undefined)
44
+ return true;
45
+ for (const exp of fileGraph.exports) {
46
+ if (!("local" in exp) || exp.local !== symbol)
47
+ continue;
48
+ if (exp.kind === "default")
49
+ return false;
50
+ if (!isHostElementName(exp.exportedAs))
51
+ return false;
52
+ }
53
+ return true;
54
+ }
55
+ //# sourceMappingURL=host-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-element.js","sourceRoot":"","sources":["../../src/engine/host-element.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,SAAgC;IACtF,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM;YAAE,SAAS;QACxD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -9,7 +9,8 @@ import { buildHelperCallers, findLocalDeclaration } from "./helper-callers.js";
9
9
  import { resolveOwnerChain } from "./owner-resolution.js";
10
10
  import { createCycleGuard } from "./cycle-detection.js";
11
11
  import { unparsedMemberDefinition, effectiveExportName, residualMemberChain, compoundExportName } from "./member-identity.js";
12
- import { buildComponentRegistry, excludeFoldedHolders, entryKey } from "./registry.js";
12
+ import { buildComponentRegistry, excludeFoldedHolders, excludeHostElementNames, entryKey } from "./registry.js";
13
+ import { hasOnlyHostElementNames, isHostElementName } from "./host-element.js";
13
14
  /**
14
15
  * JSX treats a bare, lowercase-initial element name as a host element
15
16
  * (`div`, `svg`, `web-button`) — it never names a binding, so it is not an
@@ -17,13 +18,17 @@ import { buildComponentRegistry, excludeFoldedHolders, entryKey } from "./regist
17
18
  * is a component reference and IS reported when unbound (#518 D7).
18
19
  */
19
20
  function isHostElementRoot(ref) {
20
- return ref.memberChain.length === 0 && /^[a-z]/.test(ref.symbol);
21
+ return ref.memberChain.length === 0 && isHostElementName(ref.symbol);
21
22
  }
22
23
  export function resolve(graph, opts) {
23
24
  const occurrences = [];
24
25
  const argMap = createArgumentMap();
25
- const helperIndex = buildHelperCallers(graph);
26
+ // The registry is the one judge of component-ness (#559): owner
27
+ // classification asks it (through the host-element narrowing, so a
28
+ // lowercase member is a helper for ownership while the base registry still
29
+ // gates the argument-site holder loop below).
26
30
  const registry = buildComponentRegistry(graph);
31
+ const helperIndex = buildHelperCallers(graph, excludeHostElementNames(registry, graph));
27
32
  // THE admission rule (spec D1/D12, ruling 14: shape-only). A local
28
33
  // react-component identity must be component-shaped; consumption is the
29
34
  // usage itself (a JSX usage that resolves to a local declaration IS that
@@ -431,6 +436,43 @@ export function resolve(graph, opts) {
431
436
  compactSlice(lengthBefore);
432
437
  }
433
438
  }
439
+ // Hook argument seeding (#561). A component passed to a hook call inside a
440
+ // top-level function body (`const [modal] = useModalTwoStatic(Modal)`) is
441
+ // used at that site: a hook's product is a value the caller interpolates,
442
+ // never a tag, so no render site will ever pay for the argument and R1's
443
+ // "the fold credited it already" reasoning does not apply. Same R2/R3
444
+ // argument rules and the same push seam as the holder loop; the owner is
445
+ // the enclosing declaration through `resolveOwnerChain`, so a helper hook
446
+ // fans the seed out to each caller with a `helper-call` hop. A hook is
447
+ // named by `HOOK_NAME`, React's own `isHookName` predicate (rules-of-hooks
448
+ // and the compiler) — there is no structural signal for "hook".
449
+ for (const [filePath, fileGraph] of graph.files) {
450
+ if (fileGraph.dialect === "vue")
451
+ continue;
452
+ for (const bodyCall of fileGraph.bodyCalls) {
453
+ if (!HOOK_NAME.test(bodyCall.callee.symbol) || bodyCall.args.length === 0)
454
+ continue;
455
+ const call = {
456
+ kind: "ReturnTypeOf",
457
+ callee: { kind: "TypeOf", ref: bodyCall.callee },
458
+ args: bodyCall.args,
459
+ };
460
+ const ownerRef = {
461
+ symbol: bodyCall.ownerSymbol,
462
+ scope: MODULE_SCOPE,
463
+ memberChain: [],
464
+ loc: { line: 0, column: 0 },
465
+ originFile: filePath,
466
+ };
467
+ const owners = () => resolveOwnerChain(ownerRef, graph, helperIndex, createCycleGuard()).map((res) => ({
468
+ rawOwnerComponentId: ownerIdFromResolution(graph, res.ownerDecl),
469
+ viaPrefix: res.viaPrefix,
470
+ }));
471
+ const lengthBefore = occurrences.length;
472
+ pushCallArgumentOccurrences(occurrences, filePath, call, owners, graph, fileGraph, argMap, opts);
473
+ compactSlice(lengthBefore);
474
+ }
475
+ }
434
476
  // Pass 2: resolve `parentRef` from per-file `parentUsageIdx` ownership data.
435
477
  // Pass 1 populated the `composition` sidecar with `(fileUsageIdx, kind)` per
436
478
  // emitted occurrence, which lets us build a `(filePath, kind, fileUsageIdx)
@@ -455,7 +497,7 @@ export function resolve(graph, opts) {
455
497
  if (parentIdx !== undefined)
456
498
  occ.parentRef = parentIdx;
457
499
  }
458
- return { occurrences, registry: excludeFoldedHolders(registry, folded) };
500
+ return { occurrences, registry: excludeHostElementNames(excludeFoldedHolders(registry, folded), graph) };
459
501
  }
460
502
  /**
461
503
  * Build a local-scope ComponentId for a symbol declared in `filePath`.
@@ -874,15 +916,42 @@ function pushArgumentSiteOccurrences(occurrences, filePath, holder, call, holder
874
916
  loc: holder.loc,
875
917
  originFile: filePath,
876
918
  };
877
- const rawOwnerComponentId = ownerIdFromRef(graph, holderRef, filePath);
878
- const ownerKey = rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined;
879
- // R2: the outermost call's arguments only an inner call's arguments
880
- // configure the wrapper, they are not wrapped. R3: identifier arguments
881
- // only, each resolved through the walker so aliases, re-exports and
882
- // import-backed leaves take the same path a render site does; a null
883
- // identity is skipped, never invented.
919
+ // #540: the holder still seeds (its argument is a real usage), but a
920
+ // declaration that can never be rendered under any of its names is not a
921
+ // component and cannot own the phantom-owner rule the registry gate
922
+ // above encodes, applied to the one owner this loop builds directly.
923
+ const rawOwnerComponentId = hasOnlyHostElementNames(holder.symbol, fileGraph)
924
+ ? undefined
925
+ : ownerIdFromRef(graph, holderRef, filePath);
926
+ pushCallArgumentOccurrences(occurrences, filePath, call, () => [{ rawOwnerComponentId, viaPrefix: [] }], graph, fileGraph, argMap, opts);
927
+ }
928
+ /** React's own hook predicate (`isHookName` in rules-of-hooks and the compiler). */
929
+ const HOOK_NAME = /^use[A-Z0-9]/;
930
+ /**
931
+ * THE argument-site push seam: one `passed-as-argument` occurrence per
932
+ * (identifier argument that resolves to a component) × (owner). The
933
+ * module-scope holder loop and the hook loop in `resolve` both call it;
934
+ * neither re-derives the argument rules or the push.
935
+ *
936
+ * R2: the outermost call's arguments only — an inner call's arguments
937
+ * configure the wrapper, they are not wrapped. R3: identifier arguments
938
+ * only, each resolved through the walker so aliases, re-exports and
939
+ * import-backed leaves take the same path a render site does; a null
940
+ * identity is skipped, never invented. R4 (#561): an identifier that is a
941
+ * host-element name (`useSelector(pick, shallowEqual)`) can never be
942
+ * rendered as a component, whatever it resolves to — an external leaf has
943
+ * no shape to check and would otherwise synthesise a component out of any
944
+ * import; the same predicate the held-reference seam and #540 apply.
945
+ *
946
+ * `owners` is resolved on the first push and reused: most hook calls
947
+ * (`useState(x)`, `useEffect(fn, deps)`) never reach a push, and resolving
948
+ * the owner chain for each of them measured as roughly half of the hook
949
+ * loop's cost on WebClients (#561 PR body, scan time).
950
+ */
951
+ function pushCallArgumentOccurrences(occurrences, filePath, call, owners, graph, fileGraph, argMap, opts) {
952
+ let resolvedOwners;
884
953
  call.args.forEach((arg, index) => {
885
- if (arg.kind !== "TypeOf")
954
+ if (arg.kind !== "TypeOf" || isHostElementName(arg.ref.symbol))
886
955
  return;
887
956
  const outerVia = { kind: "passed-as-argument", index, ...argumentProvenance(call, arg, fileGraph) };
888
957
  const argDecl = findLocalDeclaration(fileGraph, arg.ref);
@@ -898,22 +967,26 @@ function pushArgumentSiteOccurrences(occurrences, filePath, holder, call, holder
898
967
  resolveExternalLeaf: opts?.resolveExternalLeaf,
899
968
  });
900
969
  const wraps = computeWraps(rawComponentId, opts?.wrapCallback);
901
- const occurrenceId = computeOccurrenceId(serialiseComponentId(rawComponentId), filePath, arg.ref.loc.line, arg.ref.loc.column, ownerKey);
902
- occurrences.push({
903
- rawComponentId,
904
- filePath,
905
- line: arg.ref.loc.line,
906
- column: arg.ref.loc.column,
907
- via: outerVia,
908
- viaChain: [outerVia, ...ft.viaTrail],
909
- props: {},
910
- events: [],
911
- occurrenceId,
912
- depth: 0,
913
- ...(argDecl !== null ? { definition: { line: argDecl.loc.line, column: argDecl.loc.column } } : {}),
914
- ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
915
- ...(wraps !== undefined ? { wraps } : {}),
916
- });
970
+ resolvedOwners ??= owners();
971
+ for (const { rawOwnerComponentId, viaPrefix } of resolvedOwners) {
972
+ const viaChain = [...viaPrefix, outerVia, ...ft.viaTrail];
973
+ const occurrenceId = computeOccurrenceId(serialiseComponentId(rawComponentId), filePath, arg.ref.loc.line, arg.ref.loc.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined);
974
+ occurrences.push({
975
+ rawComponentId,
976
+ filePath,
977
+ line: arg.ref.loc.line,
978
+ column: arg.ref.loc.column,
979
+ via: viaChain[0] ?? outerVia,
980
+ viaChain,
981
+ props: {},
982
+ events: [],
983
+ occurrenceId,
984
+ depth: 0,
985
+ ...(argDecl !== null ? { definition: { line: argDecl.loc.line, column: argDecl.loc.column } } : {}),
986
+ ...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
987
+ ...(wraps !== undefined ? { wraps } : {}),
988
+ });
989
+ }
917
990
  }
918
991
  });
919
992
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,14 @@ import type { Graph } from "../index.js";
4
4
  * into this set, never a walk terminus. A declaration is a member iff it is
5
5
  * admitted-shaped (`isAdmittedShape`, below — `evalKind === "component"`, OR
6
6
  * ruling 15's component-namespace widening) AND consumed: exported,
7
- * referenced by a JSX usage (from any scope the registry does its own
8
- * scope-aware walk, since `resolveRefToDecl` alone only looks up
9
- * MODULE_SCOPE), or passed as an argument to a call in a module-scope
10
- * declaration (a wrapper's wrapped component).
7
+ * referenced by a JSX usage, or HELDnamed by an identifier in value
8
+ * position anywhere in the file (`FileGraph.heldRefs`, recorded by the
9
+ * parser: a call argument, an object property value, an array element, an
10
+ * assignment right-hand side, a return value, a JSX attribute or child
11
+ * expression; #549 #553 #554 #555 #556 #557). Neither the usage nor the hold
12
+ * has to be at module scope: each carries its scope, and the registry does
13
+ * its own scope-aware walk, since `resolveRefToDecl` alone only looks up
14
+ * MODULE_SCOPE.
11
15
  *
12
16
  * Consumption is the gate that keeps `renderIcon()` helpers, render-less
13
17
  * classes and other component-shaped-but-inert declarations out of the
@@ -72,3 +76,25 @@ export declare function buildComponentRegistry(graph: Graph): ComponentRegistry;
72
76
  * `hasLocal` from `localEntries()`, so this is the semantics it always saw.
73
77
  */
74
78
  export declare function excludeFoldedHolders(registry: ComponentRegistry, folded: ReadonlyMap<string, FoldedHolder>): ComponentRegistry;
79
+ /**
80
+ * THE roster naming gate (#540): a member whose every renderable name is a
81
+ * JSX host-element name is not a component. React's own rule — a bare
82
+ * lowercase-initial name in tag position is an intrinsic element — means such
83
+ * a binding can never be rendered under that name, whatever shape its value
84
+ * has (`const dirname = path.dirname(url)` is an opaque wrapper by D7,
85
+ * consumed by `path.join(dirname, …)` by D3, and was a member).
86
+ *
87
+ * Applied at `resolve()`'s return, AFTER `excludeFoldedHolders`, and never
88
+ * inside `buildComponentRegistry`: the base registry's `hasLocal` also gates
89
+ * the argument-site holder loop (#538), so a lowercase holder
90
+ * (`const wrap = withHarness(Button)`) is still walked and still credits
91
+ * `Button` at its argument. Only the roster row goes away. Ordering matters
92
+ * — a target that inherited `isDefault` from a folded default holder (#539
93
+ * D4) is exempt, and that inheritance happens in the fold narrowing.
94
+ *
95
+ * The naming rule and its exemptions live in `hasOnlyHostElementNames`,
96
+ * shared with owner classification. `isComponentShaped` is untouched: JSX
97
+ * cannot render a bare lowercase name, and #507's diagnostic is the residual
98
+ * guard for any other path that lands an occurrence on one.
99
+ */
100
+ export declare function excludeHostElementNames(registry: ComponentRegistry, graph: Graph): ComponentRegistry;
@@ -2,13 +2,33 @@ import { MODULE_SCOPE } from "../index.js";
2
2
  import { parseCompoundExport } from "@component-compass/plugin-core";
3
3
  import { resolveRefToDecl, findLocalDeclaration } from "./helper-callers.js";
4
4
  import { evalKind } from "./component-shape.js";
5
+ import { hasOnlyHostElementNames } from "./host-element.js";
5
6
  /** The registry's key shape, shared with the engine's folded-holder map. */
6
7
  export function entryKey(filePath, name) {
7
8
  return `${filePath}::${name}`;
8
9
  }
10
+ /**
11
+ * A narrowed view over an existing registry: `localEntries()` and `hasLocal`
12
+ * answer for `entries` only; `isComponentShaped` (occurrence admission) is
13
+ * always delegated untouched. Both roster narrowings — #539's folded holders
14
+ * and #540's host-element names — construct their result here rather than
15
+ * each rebuilding the name index.
16
+ */
17
+ function narrowTo(registry, entries) {
18
+ const survivingNames = new Set();
19
+ for (const e of entries) {
20
+ survivingNames.add(entryKey(e.filePath, e.symbol));
21
+ survivingNames.add(entryKey(e.filePath, e.exportName));
22
+ }
23
+ return {
24
+ hasLocal: (filePath, exportName) => survivingNames.has(entryKey(filePath, exportName)),
25
+ isComponentShaped: (filePath, exportName) => registry.isComponentShaped(filePath, exportName),
26
+ localEntries: () => entries,
27
+ };
28
+ }
9
29
  export function buildComponentRegistry(graph) {
10
30
  const consumed = new Set(); // `${file}::${symbol}`
11
- // 1. Consumption: exports, JSX references, wrapper-call arguments.
31
+ // 1. Consumption: exports, JSX references, held values.
12
32
  for (const [file, fg] of graph.files) {
13
33
  for (const exp of fg.exports) {
14
34
  if ("local" in exp)
@@ -17,19 +37,17 @@ export function buildComponentRegistry(graph) {
17
37
  for (const decl of fg.declarations.values()) {
18
38
  if (decl.isExported || decl.exportedAs !== undefined)
19
39
  consumed.add(entryKey(file, decl.symbol));
20
- if (decl.scope === MODULE_SCOPE) {
21
- for (const arg of callArguments(decl.value)) {
22
- const target = arg.kind === "TypeOf" ? resolveUsageTarget(arg.ref, file, fg, graph) : null;
23
- if (target)
24
- consumed.add(entryKey(target.file, target.symbol));
25
- }
26
- }
27
40
  }
28
41
  for (const usage of fg.jsxUsages) {
29
42
  const target = resolveUsageTarget(usage.ref, file, fg, graph);
30
43
  if (target)
31
44
  consumed.add(entryKey(target.file, target.symbol));
32
45
  }
46
+ for (const ref of fg.heldRefs) {
47
+ const target = resolveUsageTarget(ref, file, fg, graph);
48
+ if (target)
49
+ consumed.add(entryKey(target.file, target.symbol));
50
+ }
33
51
  }
34
52
  // 2. Membership: consumed AND component-shaped.
35
53
  const byKey = new Map();
@@ -145,16 +163,35 @@ export function excludeFoldedHolders(registry, folded) {
145
163
  const entries = survivors.map((e) => inheritsDefault.has(entryKey(e.filePath, e.symbol)) || inheritsDefault.has(entryKey(e.filePath, e.exportName))
146
164
  ? { ...e, isDefault: true }
147
165
  : e);
148
- const survivingNames = new Set();
149
- for (const e of entries) {
150
- survivingNames.add(entryKey(e.filePath, e.symbol));
151
- survivingNames.add(entryKey(e.filePath, e.exportName));
152
- }
153
- return {
154
- hasLocal: (filePath, exportName) => survivingNames.has(entryKey(filePath, exportName)),
155
- isComponentShaped: (filePath, exportName) => registry.isComponentShaped(filePath, exportName),
156
- localEntries: () => entries,
157
- };
166
+ return narrowTo(registry, entries);
167
+ }
168
+ /**
169
+ * THE roster naming gate (#540): a member whose every renderable name is a
170
+ * JSX host-element name is not a component. React's own rule — a bare
171
+ * lowercase-initial name in tag position is an intrinsic element — means such
172
+ * a binding can never be rendered under that name, whatever shape its value
173
+ * has (`const dirname = path.dirname(url)` is an opaque wrapper by D7,
174
+ * consumed by `path.join(dirname, …)` by D3, and was a member).
175
+ *
176
+ * Applied at `resolve()`'s return, AFTER `excludeFoldedHolders`, and never
177
+ * inside `buildComponentRegistry`: the base registry's `hasLocal` also gates
178
+ * the argument-site holder loop (#538), so a lowercase holder
179
+ * (`const wrap = withHarness(Button)`) is still walked and still credits
180
+ * `Button` at its argument. Only the roster row goes away. Ordering matters
181
+ * — a target that inherited `isDefault` from a folded default holder (#539
182
+ * D4) is exempt, and that inheritance happens in the fold narrowing.
183
+ *
184
+ * The naming rule and its exemptions live in `hasOnlyHostElementNames`,
185
+ * shared with owner classification. `isComponentShaped` is untouched: JSX
186
+ * cannot render a bare lowercase name, and #507's diagnostic is the residual
187
+ * guard for any other path that lands an occurrence on one.
188
+ */
189
+ export function excludeHostElementNames(registry, graph) {
190
+ const before = registry.localEntries();
191
+ const entries = before.filter((entry) => entry.isDefault || !hasOnlyHostElementNames(entry.symbol, graph.files.get(entry.filePath)));
192
+ if (entries.length === before.length)
193
+ return registry;
194
+ return narrowTo(registry, entries);
158
195
  }
159
196
  /**
160
197
  * Ruling 15: a declaration is an admitted shape iff `evalKind === "component"`
@@ -190,27 +227,6 @@ function isAdmittedMember(holder, path, graph, fg) {
190
227
  }
191
228
  return isAdmittedShape(cur, graph, fg);
192
229
  }
193
- /** Every argument of every call in a value tree (callee chains included). */
194
- function* callArguments(t) {
195
- switch (t.kind) {
196
- case "ReturnTypeOf":
197
- for (const a of t.args)
198
- yield a;
199
- yield* callArguments(t.callee);
200
- for (const a of t.args)
201
- yield* callArguments(a);
202
- return;
203
- case "MemberOf":
204
- yield* callArguments(t.obj);
205
- return;
206
- case "Union":
207
- for (const u of t.types)
208
- yield* callArguments(u);
209
- return;
210
- default:
211
- return;
212
- }
213
- }
214
230
  /** Scope-aware resolution of a reference to the declaration it names:
215
231
  * walk the scope chain in the referencing file first (body locals) via the
216
232
  * engine's own scope walk (I4 — `findLocalDeclaration`, shared with
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/engine/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/engine/registry.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,6 +12,7 @@ export type { FoldedTerminal, TerminalIdentity } from "./engine/wrapper-folding.
12
12
  export { resolve } from "./engine/index.js";
13
13
  export type { ResolvedGraph, EngineOccurrence, ResolveOpts, TagResolverIndex, } from "./engine/index.js";
14
14
  export { evalKind, isComponentShaped } from "./engine/component-shape.js";
15
+ export { isHostElementName } from "./engine/host-element.js";
15
16
  export type { ValueKind } from "./engine/component-shape.js";
16
17
  export { classifyDeclaration, buildHelperCallers, resolveRefToDecl } from "./engine/helper-callers.js";
17
18
  export type { Classification, HelperCallerIndex, ClassifiedHelperIndex } from "./engine/helper-callers.js";
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ export { createArgumentMap } from "./engine/argument-map.js";
7
7
  export { walkWithFolding, deriveIdentity } from "./engine/wrapper-folding.js";
8
8
  export { resolve } from "./engine/index.js";
9
9
  export { evalKind, isComponentShaped } from "./engine/component-shape.js";
10
+ export { isHostElementName } from "./engine/host-element.js";
10
11
  export { classifyDeclaration, buildHelperCallers, resolveRefToDecl } from "./engine/helper-callers.js";
11
12
  export { buildComponentRegistry } from "./engine/registry.js";
12
13
  export { resolveOwnerChain } 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;AAepD,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,QAAQ,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,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;AAepD,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,QAAQ,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
@@ -143,11 +143,32 @@ export type FileGraph = {
143
143
  * body (not nested arrow/function expressions). Identifier callees only —
144
144
  * member expressions (`a.b()`) and complex callees are skipped. Parsers
145
145
  * other than parser-react may emit an empty array; that's fine.
146
+ *
147
+ * `args` is the call's argument list by position: an identifier argument
148
+ * is a `TypeOf` reference in the enclosing function's scope (so a
149
+ * body-local declaration shadowing a module-scope name resolves to the
150
+ * local), anything else is `Unknown`. The engine's hook argument seeding
151
+ * (#561) reads it; `buildHelperCallers` ignores it.
146
152
  */
147
153
  bodyCalls: Array<{
148
154
  ownerSymbol: string;
149
155
  callee: Reference;
156
+ args: InferredType[];
150
157
  }>;
158
+ /** Identifiers read in VALUE position — a call argument, an object property
159
+ * value, an array element, an assignment right-hand side, a return value,
160
+ * a JSX attribute or child expression. Holding a declaration is using it:
161
+ * the component registry (engine/registry.ts) treats every held reference
162
+ * as consumption, beside exports and JSX usages, so a component the code
163
+ * names anywhere gets its row even when nothing renders it directly.
164
+ *
165
+ * Not a callee, not a member-access object or property, not a declaration
166
+ * name, pattern, property key, import/export specifier or JSX tag name.
167
+ * The parser records only names React could render as a component
168
+ * (`isHostElementName` rejects the rest). A held reference carries no via,
169
+ * owner or identity — it is never an occurrence. Parsers other than
170
+ * parser-react may emit an empty array. */
171
+ heldRefs: Reference[];
151
172
  };
152
173
  export type Graph = {
153
174
  files: Map<string, FileGraph>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@component-compass/reference-graph",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
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.18"
27
+ "@component-compass/plugin-core": "0.1.19"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "24.12.2",