@component-compass/reference-graph 0.1.18 → 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.
- package/dist/builder.d.ts +10 -4
- package/dist/builder.js +13 -9
- package/dist/builder.js.map +1 -1
- package/dist/engine/assert-never.d.ts +1 -1
- package/dist/engine/assert-never.js +1 -1
- package/dist/engine/component-shape.d.ts +18 -7
- package/dist/engine/component-shape.js +48 -18
- package/dist/engine/component-shape.js.map +1 -1
- package/dist/engine/helper-callers.d.ts +24 -14
- package/dist/engine/helper-callers.js +43 -70
- package/dist/engine/helper-callers.js.map +1 -1
- package/dist/engine/host-element.d.ts +37 -0
- package/dist/engine/host-element.js +55 -0
- package/dist/engine/host-element.js.map +1 -0
- package/dist/engine/index.d.ts +4 -4
- package/dist/engine/index.js +181 -91
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/library-stubs.js +1 -1
- package/dist/engine/member-identity.d.ts +9 -10
- package/dist/engine/member-identity.js +9 -10
- package/dist/engine/member-identity.js.map +1 -1
- package/dist/engine/re-export-chain.d.ts +1 -1
- package/dist/engine/re-export-chain.js +4 -3
- package/dist/engine/re-export-chain.js.map +1 -1
- package/dist/engine/registry.d.ts +43 -19
- package/dist/engine/registry.js +66 -50
- package/dist/engine/registry.js.map +1 -1
- package/dist/engine/resolve-reference.js +1 -1
- package/dist/engine/resolve-reference.js.map +1 -1
- package/dist/engine/resolve-type.d.ts +12 -0
- package/dist/engine/resolve-type.js +44 -52
- package/dist/engine/resolve-type.js.map +1 -1
- package/dist/engine/wrapper-folding.d.ts +22 -3
- package/dist/engine/wrapper-folding.js +146 -132
- package/dist/engine/wrapper-folding.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types/file-graph.d.ts +29 -13
- package/dist/types/inferred-type.d.ts +2 -1
- package/package.json +2 -2
package/dist/engine/registry.js
CHANGED
|
@@ -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 — folded holders and
|
|
14
|
+
* 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,
|
|
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();
|
|
@@ -57,7 +75,7 @@ export function buildComponentRegistry(graph) {
|
|
|
57
75
|
byKey.set(entryKey(file, exportName), entry);
|
|
58
76
|
}
|
|
59
77
|
}
|
|
60
|
-
// Shape-only lookup
|
|
78
|
+
// Shape-only lookup, lazy + cached per (file, name). Used by
|
|
61
79
|
// the engine's `admit` rule: a JSX usage that resolves to a local
|
|
62
80
|
// declaration IS that declaration's consumption, so admission re-checks
|
|
63
81
|
// shape only — re-deriving the engine's own alias/union/dynamic-map/
|
|
@@ -71,7 +89,7 @@ export function buildComponentRegistry(graph) {
|
|
|
71
89
|
const fg = graph.files.get(filePath);
|
|
72
90
|
let result = false;
|
|
73
91
|
if (fg && fg.dialect !== "vue") {
|
|
74
|
-
// A compound export (`NS.Inline
|
|
92
|
+
// A compound export (`NS.Inline`) names a member of a holder
|
|
75
93
|
// declaration: look the HOLDER up by its root, then walk the residual
|
|
76
94
|
// path through its Object props. `parseCompoundExport` is the one
|
|
77
95
|
// reader of the dotted form; `compoundExportName` the one writer.
|
|
@@ -85,7 +103,7 @@ export function buildComponentRegistry(graph) {
|
|
|
85
103
|
// findable by symbol; module-scope-only lookup would reject it even
|
|
86
104
|
// though the engine's own resolution already landed on it.
|
|
87
105
|
//
|
|
88
|
-
// Known imprecision (
|
|
106
|
+
// Known imprecision (kept — the shape check is a lookup,
|
|
89
107
|
// not a resolution walk): when two SIBLING scopes both declare a
|
|
90
108
|
// same-named symbol with DIFFERENT shapes (two `Item`s in unrelated
|
|
91
109
|
// function bodies, one a component, one not), this takes the FIRST
|
|
@@ -115,17 +133,17 @@ export function buildComponentRegistry(graph) {
|
|
|
115
133
|
};
|
|
116
134
|
}
|
|
117
135
|
/**
|
|
118
|
-
* THE narrowing seam
|
|
136
|
+
* THE narrowing seam: the roster registry after folded holders are
|
|
119
137
|
* removed. `resolve()` computes `folded` from the ONE fold it already runs
|
|
120
|
-
* per call-valued member
|
|
138
|
+
* per call-valued member; this function never folds. A
|
|
121
139
|
* folded holder is absent from `localEntries()` and `hasLocal` says no for
|
|
122
140
|
* its symbol and its export name; `isComponentShaped` (occurrence admission)
|
|
123
141
|
* is untouched, since a fold never lands an occurrence on a folded holder.
|
|
124
|
-
*
|
|
142
|
+
* A folded DEFAULT holder hands `isDefault` to its same-file target.
|
|
125
143
|
* The narrowed `hasLocal` answers only for names of surviving entries, so a
|
|
126
144
|
* name the base registry knew only through its de-duplicated `byKey` (never
|
|
127
|
-
* in `localEntries()`) answers false here — the CLI
|
|
128
|
-
* `
|
|
145
|
+
* in `localEntries()`) answers false here — the CLI derives `hasLocal` from
|
|
146
|
+
* `localEntries()` anyway.
|
|
129
147
|
*/
|
|
130
148
|
export function excludeFoldedHolders(registry, folded) {
|
|
131
149
|
if (folded.size === 0)
|
|
@@ -145,19 +163,38 @@ 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
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
166
|
+
return narrowTo(registry, entries);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* THE roster naming gate: 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, consumed by
|
|
174
|
+
* `path.join(dirname, …)`, and would otherwise be 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, 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
|
|
182
|
+
* 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 a 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
|
+
* A declaration is an admitted shape iff `evalKind === "component"`
|
|
161
198
|
* OR it is a "component namespace" — an `Object`-valued declaration with at
|
|
162
199
|
* least one prop that is itself component-shaped, e.g.
|
|
163
200
|
* `export const Sidebar = { Root, Branch, Leaf }` rendered as
|
|
@@ -173,7 +210,7 @@ function isAdmittedShape(value, graph, fg) {
|
|
|
173
210
|
return Object.values(value.props).some((prop) => evalKind(prop, graph, fg) === "component");
|
|
174
211
|
}
|
|
175
212
|
/**
|
|
176
|
-
*
|
|
213
|
+
* The member a compound export names. Walk `path` through nested
|
|
177
214
|
* `Object` props from the holder's value; the terminal value must be
|
|
178
215
|
* admitted-shaped (a component, or itself a component namespace). Any step
|
|
179
216
|
* that is not an `Object` prop, or a missing prop, is not a member.
|
|
@@ -190,30 +227,9 @@ 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
|
-
* engine's own scope walk (
|
|
232
|
+
* engine's own scope walk (`findLocalDeclaration`, shared with
|
|
217
233
|
* `engine/index.ts` so the two never drift), then fall back to the
|
|
218
234
|
* module-scope / import resolution helper-callers uses. */
|
|
219
235
|
function resolveUsageTarget(ref, file, fg, graph) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/engine/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/engine/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAuD5D,4EAA4E;AAC5E,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,IAAY;IACrD,OAAO,GAAG,QAAQ,KAAK,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,QAA2B,EAAE,OAAiC;IAC9E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtF,iBAAiB,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC7F,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAY;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,uBAAuB;IAE3D,wDAAwD;IACxD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAC7B,IAAI,OAAO,IAAI,GAAG;gBAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAC9D,IAAI,MAAM;gBAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,MAAM;gBAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,EAAE,CAAC,OAAO,KAAK,KAAK;YAAE,SAAS;QACnC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAAE,SAAS;YACzD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;gBAAE,SAAS;YACtD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC;YAClD,MAAM,KAAK,GAAkB;gBAC3B,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU;gBACV,IAAI,EAAE,iBAAiB;gBACvB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,SAAS,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC;aAChI,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9C,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,kEAAkE;IAClE,wEAAwE;IACxE,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9C,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAW,EAAE;QAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,6DAA6D;YAC7D,sEAAsE;YACtE,kEAAkE;YAClE,kEAAkE;YAClE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,mEAAmE;gBACnE,qEAAqE;gBACrE,mEAAmE;gBACnE,qEAAqE;gBACrE,oEAAoE;gBACpE,2DAA2D;gBAC3D,EAAE;gBACF,yDAAyD;gBACzD,iEAAiE;gBACjE,oEAAoE;gBACpE,mEAAmE;gBACnE,gEAAgE;gBAChE,+DAA+D;gBAC/D,iEAAiE;gBACjE,mEAAmE;gBACnE,iCAAiC;gBACjC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;oBACzC,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;wBAC/C,IAAI,GAAG,CAAC,CAAC;wBACT,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;gBACJ,IAAI,KAAK,SAAS;oBAClB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACjH,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7E,iBAAiB;QACjB,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAA2B,EAC3B,MAAyC;IAEzC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,SAAS,GAAoB,EAAE,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC9C,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QAC5G,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;QAC3B,CAAC,CAAC,CAAC,CACN,CAAC;IACF,OAAO,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAA2B,EAAE,KAAY;IAC/E,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CACtG,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IACtD,OAAO,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,KAAmB,EAAE,KAAY,EAAE,EAAa;IACvE,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,MAAoB,EAAE,IAAuB,EAAE,KAAY,EAAE,EAAa;IAClG,IAAI,GAAG,GAAiB,MAAM,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACrC,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;4DAI4D;AAC5D,SAAS,kBAAkB,CAAC,GAAc,EAAE,IAAY,EAAE,EAAa,EAAE,KAAY;IACnF,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC"}
|
|
@@ -35,7 +35,7 @@ export function resolveReference(graph, fileGraph, ref, guard = createCycleGuard
|
|
|
35
35
|
const imp = lookupGraph.importsByLocal.get(ref.symbol);
|
|
36
36
|
if (!imp)
|
|
37
37
|
return { kind: "Unknown" };
|
|
38
|
-
// Library stub table
|
|
38
|
+
// Library stub table: a known framework export gets a structural
|
|
39
39
|
// type instead of walking node_modules it can never parse. Checked before
|
|
40
40
|
// module resolution because these packages are never in the graph.
|
|
41
41
|
const stub = libraryStubFor(imp, ref);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-reference.js","sourceRoot":"","sources":["../../src/engine/resolve-reference.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAY,EACZ,SAAoB,EACpB,GAAc,EACd,QAAoB,gBAAgB,EAAE;IAEtC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAE3D,2BAA2B;IAC3B,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACtB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,IAAI,IAAI,EAAE,CAAC;YACT,wCAAwC;YACxC,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,KAAK,KAAK,YAAY;YAAE,MAAM;QAClC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACrD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM;QACnD,KAAK,GAAG,MAAM,CAAC;IACjB,CAAC;IAED,mCAAmC;IACnC,MAAM,GAAG,GAAG,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAErC,
|
|
1
|
+
{"version":3,"file":"resolve-reference.js","sourceRoot":"","sources":["../../src/engine/resolve-reference.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,18 @@ export type ResolvedTerminal = {
|
|
|
21
21
|
* Returns one or more results — multi-result for Union and fanout cases.
|
|
22
22
|
*/
|
|
23
23
|
export declare function resolveType(graph: Graph, fileGraph: FileGraph, type: InferredType, argMap: ArgumentMap, guard?: CycleGuard): ResolvedTerminal[];
|
|
24
|
+
/**
|
|
25
|
+
* A DynamicImport's target: the graph file its specifier resolves to, from
|
|
26
|
+
* the file that contains the import(), and the value of the projected
|
|
27
|
+
* export with any remaining projection applied as member walks. Null when
|
|
28
|
+
* the target is not in the graph or the export is not found.
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveDynamicImportTarget(graph: Graph, fileGraph: FileGraph, di: Extract<InferredType, {
|
|
31
|
+
kind: "DynamicImport";
|
|
32
|
+
}>, guard: CycleGuard): {
|
|
33
|
+
targetFileGraph: FileGraph;
|
|
34
|
+
value: InferredType;
|
|
35
|
+
} | null;
|
|
24
36
|
export type FnEntry = {
|
|
25
37
|
fn: InferredType;
|
|
26
38
|
bindingRef: Reference | null;
|
|
@@ -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
|
-
//
|
|
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
|
|
143
|
-
const
|
|
144
|
-
if (!
|
|
142
|
+
// identity from it.
|
|
143
|
+
const target = resolveDynamicImportTarget(graph, fileGraph, type, guard);
|
|
144
|
+
if (!target)
|
|
145
145
|
return [{ type, source: type }];
|
|
146
|
-
|
|
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
|
|
239
|
-
//
|
|
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
|
|
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 —
|