@component-compass/reference-graph 0.1.25 → 0.1.26

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,11 +1,9 @@
1
- import { findLocalDeclaration } from "./helper-callers.js";
2
1
  import { resolveType, resolveToFunctions, resolveDynamicImportTarget, DYNAMIC_MEMBER_KEY } from "./resolve-type.js";
3
2
  import { argumentRefKey, boundArgument } from "./argument-map.js";
4
3
  import { createCycleGuard } from "./cycle-detection.js";
5
- import { fileGraphForRef, resolveReference } from "./resolve-reference.js";
4
+ import { resolveReference } from "./resolve-reference.js";
5
+ import { bindingIdentity, pinUnparsed, resolveBinding, resolveModuleExport } from "./binding.js";
6
6
  import { packageNameFromSpecifier } from "./specifier.js";
7
- import { followReExportChain } from "./re-export-chain.js";
8
- import { unparsedMemberDefinition, effectiveExportName, residualMemberChain, compoundExportName } from "./member-identity.js";
9
7
  import { containsDynamicImport, evalKind, isImportBackedLeaf, nonComponentProduct } from "./component-shape.js";
10
8
  import { HOOK_NAME } from "./host-element.js";
11
9
  import { assertNever } from "./assert-never.js";
@@ -269,8 +267,8 @@ function foldToWrappedArg(inner, via) {
269
267
  * is seeded at its site), so the two name a binding identically.
270
268
  * Never re-derive `{ specifier, import }` for an argument elsewhere.
271
269
  */
272
- export function argumentProvenance(type, arg, fileGraph) {
273
- const importRecord = findImportForLastArg(arg, fileGraph);
270
+ export function argumentProvenance(graph, type, arg, fileGraph) {
271
+ const importRecord = findImportForLastArg(graph, arg, fileGraph);
274
272
  const resolved = importRecord
275
273
  ? { specifier: importRecord.specifier, import: importRecord.imported }
276
274
  : resolveAnonymousLastArg(arg, fileGraph);
@@ -282,8 +280,8 @@ export function argumentProvenance(type, arg, fileGraph) {
282
280
  * the opaque HOC fallback (step 4) so all three paths attribute composition
283
281
  * identically; the binding is named through `argumentProvenance`.
284
282
  */
285
- function buildHocVia(type, lastArg, fileGraph) {
286
- const { callee, specifier, import: imported } = argumentProvenance(type, lastArg, fileGraph);
283
+ function buildHocVia(graph, type, lastArg, fileGraph) {
284
+ const { callee, specifier, import: imported } = argumentProvenance(graph, type, lastArg, fileGraph);
287
285
  return { kind: "hoc-wrapper", hocCallee: callee, specifier, import: imported };
288
286
  }
289
287
  /**
@@ -300,7 +298,7 @@ export function foldedArgument(graph, fileGraph, call, jsx, argMap) {
300
298
  const arg = call.args[index];
301
299
  if (arg === undefined || jsx.length === 0)
302
300
  return null;
303
- const via = buildHocVia(call, arg, fileGraph);
301
+ const via = buildHocVia(graph, call, arg, fileGraph);
304
302
  return jsx.every((t) => t.viaTrail[0] !== undefined && sameHocVia(t.viaTrail[0], via)) ? { arg, via } : null;
305
303
  }
306
304
  /** Two `hoc-wrapper` vias naming the same wrapper call and the same binding. */
@@ -478,28 +476,13 @@ export function fileGraphForDynamicImport(graph, di, fallback) {
478
476
  return graph.files.get(di.originFile) ?? fallback;
479
477
  }
480
478
  /**
481
- * The identity cascade for a lazy target.
482
- *
483
- * `resolvedFile` is the specifier canonicalised through the module resolver, so
484
- * two spellings of one target — `./x` from one file, `../x` from another —
485
- * carry the same `resolvedFile` and collapse to a single componentId
486
- * downstream instead of minting a phantom each. A chain that resolves into the
487
- * graph (workspace sibling, relative import, or unparsed workspace member)
488
- * promotes to `local`, hashing to the same id as the local-index seed;
489
- * everything else stays `imported`.
479
+ * The identity of a lazy target: the binding its specifier's projected export
480
+ * names from the file that contains the `import()`.
490
481
  */
491
482
  export function dynamicImportIdentity(graph, fileGraph, di) {
492
483
  const origin = fileGraphForDynamicImport(graph, di, fileGraph);
493
- const importedName = di.projection[0] ?? "default";
494
- const resolvedFile = graph ? resolveImportedFile(graph, origin, di.specifier, importedName) : null;
495
- return (workspaceSiblingIdentity(graph, origin, di.specifier, importedName) ??
496
- relativeChainLocalIdentity(graph, origin, di.specifier, importedName) ??
497
- memberLocalIdentity(graph, origin, di.specifier, importedName) ?? {
498
- kind: "imported",
499
- specifier: di.specifier,
500
- imported: importedName,
501
- resolvedFile,
502
- });
484
+ const binding = resolveModuleExport(graph, origin.filePath, di.specifier, di.projection[0] ?? "default", []);
485
+ return bindingIdentity(pinUnparsed(graph, binding));
503
486
  }
504
487
  /**
505
488
  * Structural re-entry for a reference. Resolves ONE
@@ -517,9 +500,8 @@ export function dynamicImportIdentity(graph, fileGraph, di) {
517
500
  * wrapper call over an anonymous one, names what the tag renders, whatever
518
501
  * it returns. A reference to a JSX value (`return priceElement`) or to a
519
502
  * parameter binding stays null so the outer fallback wins, by construction
520
- * rather than by special case. At a tag, a self-stamp of a same-file reference
521
- * also carries the declaration that reference resolves to
522
- * (`withOwnDeclaration`).
503
+ * rather than by special case. A stamp naming a declaration with no member
504
+ * chain carries that declaration (`bindingIdentity`).
523
505
  *
524
506
  * An import the graph cannot see (`resolved` is Unknown) is NOT re-entered:
525
507
  * it is the identity-bearing leaf `foldLeaf` synthesises from, and
@@ -556,8 +538,7 @@ function walkTypeOf(graph, fileGraph, type, argMap, guard, fallback, position) {
556
538
  (resolved.kind !== "ParameterOf" && evalKind(resolved, graph, innerGraph, argMap) === "component")
557
539
  ? deriveIdentity(type, fileGraph, graph)
558
540
  : null;
559
- const self = position === "tag" ? withOwnDeclaration(derived, graph, fileGraph, type.ref) : derived;
560
- const stamp = self ?? deriveIdentity(fallback, fileGraph, graph);
541
+ const stamp = derived ?? deriveIdentity(fallback, fileGraph, graph);
561
542
  // Carries the product mark: a reference to a context IS that context.
562
543
  return inner.map((t) => t.identity === null ? { denotation: t.denotation, viaTrail: t.viaTrail, identity: stamp, semantics: t.semantics } : t);
563
544
  }
@@ -565,20 +546,6 @@ function walkTypeOf(graph, fileGraph, type, argMap, guard, fallback, position) {
565
546
  guard.popNode(type);
566
547
  }
567
548
  }
568
- /**
569
- * A local identity stamped from a same-file reference with no member chain,
570
- * given the declaration that reference resolves to in its own scope
571
- * (`findLocalDeclaration`). Any other identity is returned unchanged.
572
- */
573
- function withOwnDeclaration(identity, graph, fileGraph, ref) {
574
- if (identity === null || identity.kind !== "local" || ref.memberChain.length > 0)
575
- return identity;
576
- const lookup = fileGraphForRef(graph, ref, fileGraph);
577
- if (identity.filePath !== lookup.filePath || lookup.importsByLocal.has(ref.symbol))
578
- return identity;
579
- const declaration = findLocalDeclaration(lookup, ref);
580
- return declaration === null ? identity : { ...identity, declaration };
581
- }
582
549
  /**
583
550
  * Static member access. Mirrors `walkDynamicMember` for one
584
551
  * named prop and without the `dynamic-map` hop: resolve the object, take the
@@ -681,7 +648,7 @@ function foldCall(graph, fileGraph, type, argMap, guard, position) {
681
648
  }
682
649
  let inner;
683
650
  try {
684
- const target = resolveDynamicImportTarget(graph, fileGraph, syntheticDI, guard);
651
+ const target = resolveDynamicImportTarget(graph, fileGraph, syntheticDI);
685
652
  inner = target
686
653
  ? walkInner(graph, target.targetFileGraph, target.value, argMap, guard, undefined, position)
687
654
  : walkInner(graph, fileGraph, syntheticDI, argMap, guard, undefined, position);
@@ -740,7 +707,7 @@ function foldCall(graph, fileGraph, type, argMap, guard, position) {
740
707
  const wrapped = type.args[passThroughIndex];
741
708
  if (wrapped !== undefined) {
742
709
  const inner = walkInner(graph, fileGraph, wrapped, argMap, guard, undefined, position);
743
- return foldToWrappedArg(inner, buildHocVia(type, wrapped, fileGraph));
710
+ return foldToWrappedArg(inner, buildHocVia(graph, type, wrapped, fileGraph));
744
711
  }
745
712
  }
746
713
  // (3) Pure algebra walk. Per-leaf identity uses each terminal's source
@@ -766,7 +733,7 @@ function foldCall(graph, fileGraph, type, argMap, guard, position) {
766
733
  if (lastArg !== undefined) {
767
734
  const inner = walkInner(graph, fileGraph, lastArg, argMap, guard, undefined, position);
768
735
  if (isPassThroughWrapper(algResult, inner)) {
769
- const via = buildHocVia(type, lastArg, fileGraph);
736
+ const via = buildHocVia(graph, type, lastArg, fileGraph);
770
737
  return inner
771
738
  .filter((t) => !cameToNothing(t))
772
739
  .map((t) => ({ denotation: t.denotation, viaTrail: [via, ...t.viaTrail], identity: t.identity }));
@@ -798,7 +765,7 @@ function foldCall(graph, fileGraph, type, argMap, guard, position) {
798
765
  }
799
766
  return [indeterminateTerminal()];
800
767
  }
801
- return foldToWrappedArg(inner, buildHocVia(type, lastArg, fileGraph));
768
+ return foldToWrappedArg(inner, buildHocVia(graph, type, lastArg, fileGraph));
802
769
  }
803
770
  /**
804
771
  * Index of the argument an identity-preserving wrapper returns, or null when
@@ -1011,16 +978,22 @@ function deriveHocCallee(callee) {
1011
978
  }
1012
979
  /**
1013
980
  * Find an import record that the last arg's outermost TypeOf points at.
1014
- * Returns null when the last arg isn't a TypeOf or isn't an imported binding.
981
+ * Returns null when the last arg isn't a TypeOf, isn't an imported binding,
982
+ * or binds to a declaration in this file's scope that shadows the import.
1015
983
  */
1016
- function findImportForLastArg(lastArg, fileGraph) {
984
+ function findImportForLastArg(graph, lastArg, fileGraph) {
1017
985
  let cur = lastArg;
1018
986
  while (cur.kind === "ReturnTypeOf")
1019
987
  cur = cur.callee;
1020
988
  if (cur.kind !== "TypeOf")
1021
989
  return null;
1022
990
  const imp = fileGraph.importsByLocal.get(cur.ref.symbol);
1023
- return imp ? { specifier: imp.specifier, imported: imp.imported } : null;
991
+ if (!imp)
992
+ return null;
993
+ const binding = resolveBinding(graph, fileGraph, cur.ref);
994
+ if (binding.kind === "declaration" && binding.inScope && binding.file === fileGraph.filePath)
995
+ return null;
996
+ return { specifier: imp.specifier, imported: imp.imported };
1024
997
  }
1025
998
  /**
1026
999
  * Resolve an anonymous lastArg (no leaf TypeOf, no import record) to a
@@ -1087,185 +1060,20 @@ function typeContainsRef(haystack, needle) {
1087
1060
  }
1088
1061
  }
1089
1062
  /**
1090
- * Resolve an import specifier to its repo-relative POSIX target file via the
1091
- * graph's moduleResolver + resolveToGraphKey. Returns null for unresolvable
1092
- * specifiers or paths outside the repo root (e.g. node_modules siblings) —
1093
- * callers fall back to the raw specifier in those cases.
1094
- *
1095
- * When `imported` is provided, follows re-export chains (both
1096
- * `{kind: "named", from, fromImported}` and `{kind: "star", from}`) to the
1097
- * canonical source file via `followReExportChain` (star re-exports are
1098
- * first-wins). Mirrors what `resolveExport` in resolve-reference.ts
1099
- * does for value-flow purposes,
1100
- * applied here at identity-stamping time. So `import { X } from './barrel'`
1101
- * where `./barrel` re-exports X from `./source` attributes the component's
1102
- * identity to `./source.tsx`, not `./barrel.tsx`.
1103
- *
1104
- * Used by `deriveIdentity` so `TerminalIdentity.resolvedFile` carries the
1105
- * canonical repo-relative path. Downstream `componentIdFromIdentity` uses
1106
- * that canonical path so `'./page'` and `'../page'` from different callers
1107
- * collapse to the same identity.
1108
- */
1109
- function resolveImportedFile(graph, fileGraph, specifier, imported) {
1110
- const abs = graph.moduleResolver(fileGraph.filePath, specifier);
1111
- if (!abs)
1112
- return null;
1113
- const key = graph.resolveToGraphKey ? graph.resolveToGraphKey(abs) : abs;
1114
- if (!key || !imported)
1115
- return key;
1116
- return followReExportChain(graph, key, imported)?.file ?? key;
1117
- }
1118
- /**
1119
- * When a relative-spec import resolves into the parsed graph (possibly via a
1120
- * re-export chain) AND the canonical source file has a local declaration for
1121
- * the exported name, promote the identity to `kind: "local"` directly. This
1122
- * matches what the local-index seeds emit (keyed on `{filePath, exportName}`)
1123
- * so the engine occurrence hashes to the same componentId as the seed —
1124
- * preventing the barrel-vs-source phantom split.
1125
- *
1126
- * Symmetric with `workspaceSiblingIdentity` but for relative imports.
1127
- */
1128
- function relativeChainLocalIdentity(graph, fileGraph, specifier, imported) {
1129
- if (!graph)
1130
- return null;
1131
- if (packageNameFromSpecifier(specifier))
1132
- return null; // bare package — workspace-sibling path handles it
1133
- const abs = graph.moduleResolver(fileGraph.filePath, specifier);
1134
- if (!abs)
1135
- return null;
1136
- const key = graph.resolveToGraphKey ? graph.resolveToGraphKey(abs) : abs;
1137
- if (!key || !graph.files.has(key))
1138
- return null;
1139
- const chained = followReExportChain(graph, key, imported);
1140
- if (!chained)
1141
- return null;
1142
- return { kind: "local", filePath: chained.file, export: chained.localExport };
1143
- }
1144
- /**
1145
- * Workspace-sibling detection. A bare-package import (`@org/foo`) that
1146
- * resolves to a file inside the parsed graph is a workspace sibling — the
1147
- * package lives in this repo as a sibling workspace, not as a node_modules
1148
- * dependency. Treat it as a local identity so JSX edges land on the actual
1149
- * sibling file rather than a phantom external stub.
1150
- *
1151
- * Node_modules entries aren't in `graph.files` (excluded by default scan
1152
- * globs), so they stay external naturally — no extra check needed.
1153
- *
1154
- * The file and export name are the ones `followReExportChain` lands on, so a
1155
- * barrel that renames (`export { FooImpl as Foo } from "./foo"`) names the
1156
- * binding `FooImpl` in `./foo`, the same identity the local-index seed hashes.
1157
- */
1158
- function workspaceSiblingIdentity(graph, fileGraph, specifier, imported) {
1159
- if (!graph)
1160
- return null;
1161
- if (!packageNameFromSpecifier(specifier))
1162
- return null;
1163
- const abs = graph.moduleResolver(fileGraph.filePath, specifier);
1164
- const key = abs && (graph.resolveToGraphKey ? graph.resolveToGraphKey(abs) : abs);
1165
- if (!key)
1166
- return null;
1167
- const chained = followReExportChain(graph, key, imported);
1168
- const file = chained?.file ?? key;
1169
- if (!graph.files.has(file))
1170
- return null;
1171
- return { kind: "local", filePath: file, export: chained?.localExport ?? imported };
1172
- }
1173
- /**
1174
- * Membership fallback for composition-path identity. When a specifier
1175
- * resolves to an absolute target that is NOT in the parsed graph (outside
1176
- * the scan globs, or reached through an unrealpathed node_modules symlink)
1177
- * but IS owned by a workspace member, promote to a LOCAL identity pinned via
1178
- * the shared unparsed-member seam — mirroring the direct-import branch in
1179
- * engine/index.ts so both paths mint the SAME identity. The absolute
1180
- * filePath is normalised downstream (CLI `normaliseEngineLocalId`). Runs
1181
- * after the in-graph promotions (workspaceSiblingIdentity /
1182
- * relativeChainLocalIdentity), so parsed targets never reach it with a
1183
- * different answer.
1184
- */
1185
- function memberLocalIdentity(graph, fileGraph, specifier, imported) {
1186
- if (graph?.workspaceMembership === undefined)
1187
- return null;
1188
- const abs = graph.moduleResolver(fileGraph.filePath, specifier);
1189
- if (!abs)
1190
- return null;
1191
- const key = graph.resolveToGraphKey ? graph.resolveToGraphKey(abs) : abs;
1192
- if (key !== null && graph.files.has(key))
1193
- return null;
1194
- const member = unparsedMemberDefinition(graph, abs, imported);
1195
- if (member === null)
1196
- return null;
1197
- return { kind: "local", filePath: member.absFile, export: member.exportName };
1198
- }
1199
- /** Append a residual member chain to a derived identity's export name. */
1200
- function withResidual(identity, residual) {
1201
- if (identity === null || residual.length === 0)
1202
- return identity;
1203
- return identity.kind === "local"
1204
- ? { ...identity, export: compoundExportName(identity.export, residual) }
1205
- : { ...identity, imported: compoundExportName(identity.imported, residual) };
1206
- }
1207
- /**
1208
- * Resolve the input type's leaf TypeOf ref (or DynamicImport) to either an
1209
- * imported or a local identity. Any other shape — a `ReturnTypeOf` included —
1063
+ * The identity of the binding a `TypeOf` reference or a `DynamicImport` names
1064
+ * (`bindingIdentity`), with a directly reached workspace member pinned to its
1065
+ * definition (`pinUnparsed`). Any other shape — a `ReturnTypeOf` included —
1210
1066
  * has no identity of its own and yields null.
1211
- *
1212
- * Switches FileGraph context via `ref.originFile` when set, so refs that have
1213
- * travelled across module boundaries (e.g. cross-module function returns) are
1214
- * derived in their authoring file — where the import / declaration tables
1215
- * that match the ref actually live.
1216
1067
  */
1217
1068
  export function deriveIdentity(type, fileGraph, graph) {
1218
1069
  // A ReturnTypeOf never derives identity from its callee:
1219
1070
  // a resolvable factory call's identity is the declaration holding the call,
1220
1071
  // which every engine push site already supplies as its fallback. Returning
1221
1072
  // null here is what makes that fallback win.
1222
- const cur = type;
1223
- if (cur.kind === "DynamicImport") {
1224
- return dynamicImportIdentity(graph, fileGraph, cur);
1225
- }
1226
- if (cur.kind === "TypeOf") {
1227
- const symbol = cur.ref.symbol;
1228
- const lookup = graph ? fileGraphForRef(graph, cur.ref, fileGraph) : fileGraph;
1229
- const imp = lookup.importsByLocal.get(symbol);
1230
- if (imp) {
1231
- // Namespace-import members canonicalise to the member name,
1232
- // matching the direct-import path's `effectiveImported`
1233
- // (engine/index.ts) so both paths mint the same identity. The residual chain
1234
- // is appended AFTER every root lookup, so `Dialog.Popup` on an unparsed
1235
- // package and `NS.Inline` on a workspace member both mirror the direct
1236
- // path.
1237
- const imported = effectiveExportName(imp.imported, cur.ref.memberChain);
1238
- const residual = residualMemberChain(imp.imported, cur.ref.memberChain);
1239
- const resolvedFile = graph ? resolveImportedFile(graph, lookup, imp.specifier, imported) : null;
1240
- const workspaceLocal = workspaceSiblingIdentity(graph, lookup, imp.specifier, imported);
1241
- if (workspaceLocal)
1242
- return withResidual(workspaceLocal, residual);
1243
- const relativeLocal = relativeChainLocalIdentity(graph, lookup, imp.specifier, imported);
1244
- if (relativeLocal)
1245
- return withResidual(relativeLocal, residual);
1246
- const memberLocal = memberLocalIdentity(graph, lookup, imp.specifier, imported);
1247
- if (memberLocal)
1248
- return withResidual(memberLocal, residual);
1249
- return withResidual({
1250
- kind: "imported",
1251
- specifier: imp.specifier,
1252
- imported,
1253
- resolvedFile,
1254
- }, residual);
1255
- }
1256
- // Check local declarations. A same-file symbol is never a namespace
1257
- // import, so the whole member chain is residual (mirror of
1258
- // `evaluateJsxUsage`'s same-file fallback) — an empty chain is a no-op.
1259
- for (const [, decl] of lookup.declarations) {
1260
- if (decl && decl.symbol === symbol) {
1261
- return withResidual({
1262
- kind: "local",
1263
- filePath: lookup.filePath,
1264
- export: decl.exportedAs ?? symbol,
1265
- }, cur.ref.memberChain);
1266
- }
1267
- }
1268
- }
1073
+ if (type.kind === "DynamicImport")
1074
+ return dynamicImportIdentity(graph, fileGraph, type);
1075
+ if (type.kind === "TypeOf")
1076
+ return bindingIdentity(pinUnparsed(graph, resolveBinding(graph, fileGraph, type.ref)));
1269
1077
  return null;
1270
1078
  }
1271
1079
  //# sourceMappingURL=wrapper-folding.js.map
@@ -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
@@ -19,7 +19,7 @@ export type { ValueKind } from "./engine/component-shape.js";
19
19
  export { classifyDeclaration, buildHelperCallers, resolveRefToDecl } from "./engine/helper-callers.js";
20
20
  export type { Classification, HelperCallerIndex, ClassifiedHelperIndex } from "./engine/helper-callers.js";
21
21
  export { buildComponentRegistry } from "./engine/registry.js";
22
- export type { ComponentRegistry, RegistryEntry, TaggedDeclaration } from "./engine/registry.js";
22
+ export type { ComponentRegistry, RegistryEntry } from "./engine/registry.js";
23
23
  export { resolveOwnerChain } from "./engine/owner-resolution.js";
24
24
  export type { OwnerResolution } from "./engine/owner-resolution.js";
25
25
  export { followReExportChain } from "./engine/re-export-chain.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@component-compass/reference-graph",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
4
4
  "description": "Project-wide reference graph + cross-module resolution engine for component-compass parsers.",
5
5
  "license": "MIT",
6
6
  "type": "module",