@component-compass/reference-graph 0.1.19 → 0.1.20

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 (37) hide show
  1. package/dist/builder.d.ts +3 -3
  2. package/dist/builder.js +4 -6
  3. package/dist/builder.js.map +1 -1
  4. package/dist/engine/assert-never.d.ts +1 -1
  5. package/dist/engine/assert-never.js +1 -1
  6. package/dist/engine/component-shape.d.ts +18 -7
  7. package/dist/engine/component-shape.js +48 -18
  8. package/dist/engine/component-shape.js.map +1 -1
  9. package/dist/engine/helper-callers.d.ts +7 -10
  10. package/dist/engine/helper-callers.js +18 -23
  11. package/dist/engine/helper-callers.js.map +1 -1
  12. package/dist/engine/host-element.d.ts +3 -3
  13. package/dist/engine/host-element.js +3 -3
  14. package/dist/engine/index.d.ts +4 -4
  15. package/dist/engine/index.js +94 -77
  16. package/dist/engine/index.js.map +1 -1
  17. package/dist/engine/library-stubs.js +1 -1
  18. package/dist/engine/member-identity.d.ts +9 -10
  19. package/dist/engine/member-identity.js +9 -10
  20. package/dist/engine/member-identity.js.map +1 -1
  21. package/dist/engine/re-export-chain.d.ts +1 -1
  22. package/dist/engine/re-export-chain.js +4 -3
  23. package/dist/engine/re-export-chain.js.map +1 -1
  24. package/dist/engine/registry.d.ts +21 -23
  25. package/dist/engine/registry.js +20 -20
  26. package/dist/engine/registry.js.map +1 -1
  27. package/dist/engine/resolve-reference.js +1 -1
  28. package/dist/engine/resolve-reference.js.map +1 -1
  29. package/dist/engine/resolve-type.d.ts +12 -0
  30. package/dist/engine/resolve-type.js +44 -52
  31. package/dist/engine/resolve-type.js.map +1 -1
  32. package/dist/engine/wrapper-folding.d.ts +22 -3
  33. package/dist/engine/wrapper-folding.js +146 -132
  34. package/dist/engine/wrapper-folding.js.map +1 -1
  35. package/dist/types/file-graph.d.ts +9 -14
  36. package/dist/types/inferred-type.d.ts +2 -1
  37. package/package.json +2 -2
@@ -1,5 +1,6 @@
1
1
  import { MODULE_SCOPE } from "../index.js";
2
2
  import { resolveReference, fileGraphForRef } from "./resolve-reference.js";
3
+ import { fileGraphForDynamicImport } from "./wrapper-folding.js";
3
4
  import { createCycleGuard } from "./cycle-detection.js";
4
5
  import { libraryStubFor } from "./library-stubs.js";
5
6
  import { assertNever } from "./assert-never.js";
@@ -135,64 +136,55 @@ function resolveTypeInner(graph, fileGraph, type, argMap, guard) {
135
136
  case "Array":
136
137
  return [{ type, source: null }];
137
138
  case "DynamicImport": {
138
- // Resolve specifier to a graph file, then look up the projected export.
139
- // Every dead end below preserves the DynamicImport as an identity-bearing
139
+ // Every dead end preserves the DynamicImport as an identity-bearing
140
140
  // terminal (specifier + projection) rather than collapsing to Unknown —
141
141
  // the foldTerminals seam (wrapper-folding.ts) synthesizes occurrence
142
- // identity from it (#274/#135).
143
- const absPath = graph.moduleResolver(fileGraph.filePath, type.specifier);
144
- if (!absPath)
142
+ // identity from it.
143
+ const target = resolveDynamicImportTarget(graph, fileGraph, type, guard);
144
+ if (!target)
145
145
  return [{ type, source: type }];
146
- const key = graph.resolveToGraphKey ? (graph.resolveToGraphKey(absPath) ?? absPath) : absPath;
147
- const targetFile = graph.files.get(key);
148
- if (!targetFile)
149
- return [{ type, source: type }];
150
- const wantedExport = type.projection.length === 0 ? "default" : type.projection[0];
151
- const exportRecord = targetFile.exports.find((e) => {
152
- if (e.kind === "default")
153
- return wantedExport === "default";
154
- if (e.kind === "named")
155
- return e.exportedAs === wantedExport;
156
- return false;
157
- });
158
- if (!exportRecord)
159
- return [{ type, source: type }];
160
- // Resolve the export by walking to its local binding via a synthesised
161
- // reference. This matches how `resolveReference`'s import path materialises
162
- // the target binding's value.
163
- let resolved;
164
- if (exportRecord.kind === "named" && "local" in exportRecord) {
165
- const localRef = {
166
- symbol: exportRecord.local,
167
- scope: MODULE_SCOPE,
168
- memberChain: [],
169
- loc: { line: 0, column: 0 },
170
- };
171
- resolved = resolveReference(graph, targetFile, localRef, guard);
172
- }
173
- else if (exportRecord.kind === "default" && "local" in exportRecord) {
174
- const localRef = {
175
- symbol: exportRecord.local,
176
- scope: MODULE_SCOPE,
177
- memberChain: [],
178
- loc: { line: 0, column: 0 },
179
- };
180
- resolved = resolveReference(graph, targetFile, localRef, guard);
181
- }
182
- else {
183
- return [{ type, source: type }];
184
- }
185
- // Apply remaining projection chain (projection[1..]) as MemberOf walks.
186
- let next = resolved;
187
- for (const member of type.projection.slice(1)) {
188
- next = { kind: "MemberOf", obj: next, member };
189
- }
190
- return resolveType(graph, fileGraph, next, argMap, guard);
146
+ return resolveType(graph, target.targetFileGraph, target.value, argMap, guard);
191
147
  }
192
148
  default:
193
149
  return assertNever(type);
194
150
  }
195
151
  }
152
+ /**
153
+ * A DynamicImport's target: the graph file its specifier resolves to, from
154
+ * the file that contains the import(), and the value of the projected
155
+ * export with any remaining projection applied as member walks. Null when
156
+ * the target is not in the graph or the export is not found.
157
+ */
158
+ export function resolveDynamicImportTarget(graph, fileGraph, di, guard) {
159
+ const origin = fileGraphForDynamicImport(graph, di, fileGraph);
160
+ const absPath = graph.moduleResolver(origin.filePath, di.specifier);
161
+ if (!absPath)
162
+ return null;
163
+ const key = graph.resolveToGraphKey ? (graph.resolveToGraphKey(absPath) ?? absPath) : absPath;
164
+ const targetFile = graph.files.get(key);
165
+ if (!targetFile)
166
+ return null;
167
+ const wantedExport = di.projection.length === 0 ? "default" : di.projection[0];
168
+ const exportRecord = targetFile.exports.find((e) => {
169
+ if (e.kind === "default")
170
+ return wantedExport === "default";
171
+ if (e.kind === "named")
172
+ return e.exportedAs === wantedExport;
173
+ return false;
174
+ });
175
+ if (!exportRecord || !("local" in exportRecord))
176
+ return null;
177
+ const localRef = {
178
+ symbol: exportRecord.local,
179
+ scope: MODULE_SCOPE,
180
+ memberChain: [],
181
+ loc: { line: 0, column: 0 },
182
+ };
183
+ let value = resolveReference(graph, targetFile, localRef, guard);
184
+ for (const member of di.projection.slice(1))
185
+ value = { kind: "MemberOf", obj: value, member };
186
+ return { targetFileGraph: targetFile, value };
187
+ }
196
188
  /**
197
189
  * Resolve a type down to its bare Function node(s) without expanding their
198
190
  * returns[]. Used by ReturnTypeOf so that args can be bound before the
@@ -235,8 +227,8 @@ function resolveToFunctionsInner(graph, fileGraph, type, argMap, guard) {
235
227
  return inner.map((e) => ({ fn: e.fn, bindingRef: e.bindingRef ?? type.ref }));
236
228
  }
237
229
  // React/preact's `memo`/`forwardRef` used via a default or namespace
238
- // import lower to `MemberOf(TypeOf(reactRef), "memo")` as a callee (spec
239
- // D10; #514 I1) — `reactRef.memberChain` is empty, the member name lives
230
+ // import lower to `MemberOf(TypeOf(reactRef), "memo")` as a callee
231
+ // — `reactRef.memberChain` is empty, the member name lives
240
232
  // on this MemberOf node instead. Resolve the base ref first; only when it
241
233
  // is genuinely import-backed (bare resolution comes back Unknown, same
242
234
  // shadow check the TypeOf case above uses) re-key it as a synthetic ref
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-type.js","sourceRoot":"","sources":["../../src/engine/resolve-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-type.js","sourceRoot":"","sources":["../../src/engine/resolve-type.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ export type FoldedTerminal = {
43
43
  * resolution. THE single helper for both via kinds that describe a wrapped
44
44
  * argument (`hoc-wrapper` when the wrapper folds to the argument,
45
45
  * `passed-as-argument` when the holder is its own identity and the argument
46
- * is seeded at its site — spec §4), so the two name a binding identically.
46
+ * is seeded at its site), so the two name a binding identically.
47
47
  * Never re-derive `{ specifier, import }` for an argument elsewhere.
48
48
  */
49
49
  export declare function argumentProvenance(type: Extract<InferredType, {
@@ -62,10 +62,29 @@ export declare function argumentProvenance(type: Extract<InferredType, {
62
62
  * For nodes where no folding rule applies, delegates to `resolveType`
63
63
  * (pure algebra) and computes identity from the input type's leaf TypeOf
64
64
  * when one can be confidently identified.
65
- *
66
- * See spec: docs/superpowers/specs/2026-05-19-wrapper-folding-engine-extension-design.md §4.3
67
65
  */
68
66
  export declare function walkWithFolding(graph: Graph, fileGraph: FileGraph, type: InferredType, argMap: ArgumentMap, guard?: CycleGuard, identityFallback?: InferredType): FoldedTerminal[];
67
+ /**
68
+ * The file a DynamicImport's specifier resolves against: the file that
69
+ * contains the `import()`, whichever file the walk is standing in.
70
+ */
71
+ export declare function fileGraphForDynamicImport(graph: Graph | undefined, di: Extract<InferredType, {
72
+ kind: "DynamicImport";
73
+ }>, fallback: FileGraph): FileGraph;
74
+ /**
75
+ * The identity cascade for a lazy target.
76
+ *
77
+ * `resolvedFile` is the specifier canonicalised through the module resolver, so
78
+ * two spellings of one target — `./x` from one file, `../x` from another —
79
+ * carry the same `resolvedFile` and collapse to a single componentId
80
+ * downstream instead of minting a phantom each. A chain that resolves into the
81
+ * graph (workspace sibling, relative import, or unparsed workspace member)
82
+ * promotes to `local`, hashing to the same id as the local-index seed;
83
+ * everything else stays `imported`.
84
+ */
85
+ export declare function dynamicImportIdentity(graph: Graph | undefined, fileGraph: FileGraph, di: Extract<InferredType, {
86
+ kind: "DynamicImport";
87
+ }>): TerminalIdentity;
69
88
  /**
70
89
  * Resolve the input type's leaf TypeOf ref (or DynamicImport) to either an
71
90
  * imported or a local identity. Any other shape — a `ReturnTypeOf` included —