@component-compass/reference-graph 0.1.17 → 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 +7 -1
- package/dist/builder.js +9 -3
- package/dist/builder.js.map +1 -1
- package/dist/engine/argument-map.d.ts +4 -0
- package/dist/engine/argument-map.js +7 -4
- package/dist/engine/argument-map.js.map +1 -1
- package/dist/engine/assert-never.d.ts +7 -0
- package/dist/engine/assert-never.js +10 -0
- package/dist/engine/assert-never.js.map +1 -0
- package/dist/engine/component-shape.d.ts +38 -0
- package/dist/engine/component-shape.js +177 -0
- package/dist/engine/component-shape.js.map +1 -0
- package/dist/engine/helper-callers.d.ts +43 -28
- package/dist/engine/helper-callers.js +94 -96
- 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 -0
- package/dist/engine/index.js +312 -99
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/library-stubs.d.ts +2 -0
- package/dist/engine/library-stubs.js +42 -0
- package/dist/engine/library-stubs.js.map +1 -0
- package/dist/engine/member-identity.d.ts +24 -4
- package/dist/engine/member-identity.js +28 -4
- package/dist/engine/member-identity.js.map +1 -1
- package/dist/engine/registry.d.ts +100 -0
- package/dist/engine/registry.js +242 -0
- package/dist/engine/registry.js.map +1 -0
- package/dist/engine/resolve-reference.js +7 -0
- package/dist/engine/resolve-reference.js.map +1 -1
- package/dist/engine/resolve-type.js +54 -1
- package/dist/engine/resolve-type.js.map +1 -1
- package/dist/engine/wrapper-folding.d.ts +21 -3
- package/dist/engine/wrapper-folding.js +386 -91
- package/dist/engine/wrapper-folding.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/types/file-graph.d.ts +21 -10
- package/package.json +2 -2
|
@@ -1,82 +1,61 @@
|
|
|
1
1
|
import { MODULE_SCOPE } from "../index.js";
|
|
2
|
-
import { resolveReference } from "./resolve-reference.js";
|
|
3
|
-
import { createCycleGuard } from "./cycle-detection.js";
|
|
4
2
|
import { followReExportChain } from "./re-export-chain.js";
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* caller preserves today's behavior (no helper reassignment).
|
|
11
|
-
*
|
|
12
|
-
* NOTE: an `originFile` argument is required when the decl's value contains
|
|
13
|
-
* cross-module type refs (TypeOf / ReturnTypeOf with refs), so that
|
|
14
|
-
* `resolveReference` knows which FileGraph to look up scope chains against.
|
|
4
|
+
* Walk the scope chain for `ref.symbol` in `fileGraph.declarations` and
|
|
5
|
+
* return the first matching BindingDecl, or null if not found. THE
|
|
6
|
+
* scope-chain walk (I4) — `registry.ts`'s `resolveUsageTarget` calls this
|
|
7
|
+
* seam instead of re-deriving it.
|
|
15
8
|
*/
|
|
16
|
-
export function
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
9
|
+
export function findLocalDeclaration(fileGraph, ref) {
|
|
10
|
+
let scope = ref.scope;
|
|
11
|
+
while (true) {
|
|
12
|
+
const decl = fileGraph.declarations.get(`${scope}::${ref.symbol}`);
|
|
13
|
+
if (decl)
|
|
14
|
+
return decl;
|
|
15
|
+
if (scope === MODULE_SCOPE)
|
|
16
|
+
return null;
|
|
17
|
+
const parent = fileGraph.scopes.get(scope)?.parent;
|
|
18
|
+
if (parent === null || parent === undefined)
|
|
19
|
+
return null;
|
|
20
|
+
scope = parent;
|
|
23
21
|
}
|
|
24
|
-
return "helper";
|
|
25
22
|
}
|
|
26
23
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
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.
|
|
29
30
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* Object / Array / Str / Unknown / etc. → false
|
|
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
36
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
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.
|
|
39
42
|
*/
|
|
40
|
-
export function
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
case "ReturnTypeOf":
|
|
47
|
-
return hasJsx(t.callee, graph, originFile, guard);
|
|
48
|
-
case "Function":
|
|
49
|
-
return t.returns.some((r) => hasJsx(r, graph, originFile, guard));
|
|
50
|
-
case "TypeOf": {
|
|
51
|
-
const effectiveFile = t.ref.originFile ?? originFile;
|
|
52
|
-
if (!effectiveFile)
|
|
53
|
-
return false;
|
|
54
|
-
const file = graph.files.get(effectiveFile);
|
|
55
|
-
if (!file)
|
|
56
|
-
return false;
|
|
57
|
-
const gr = guard.push(effectiveFile, t.ref.symbol);
|
|
58
|
-
if (gr !== "ok")
|
|
59
|
-
return false;
|
|
60
|
-
try {
|
|
61
|
-
const resolved = resolveReference(graph, file, t.ref, guard);
|
|
62
|
-
return hasJsx(resolved, graph, effectiveFile, guard);
|
|
63
|
-
}
|
|
64
|
-
finally {
|
|
65
|
-
guard.pop(effectiveFile, t.ref.symbol);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
case "MemberOf":
|
|
69
|
-
return hasJsx(t.obj, graph, originFile, guard);
|
|
70
|
-
default:
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
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))
|
|
47
|
+
return "component";
|
|
48
|
+
return registry.hasLocal(fileGraph.filePath, decl.symbol) ? "component" : "helper";
|
|
73
49
|
}
|
|
50
|
+
const isSfcDeclaration = (fileGraph, decl) => fileGraph.exports.some((e) => e.kind === "default" && "local" in e && e.local === decl.symbol);
|
|
74
51
|
/**
|
|
75
52
|
* Three-phase build of the helper → component-callers reverse index plus
|
|
76
53
|
* per-decl classification cache.
|
|
77
54
|
*
|
|
78
|
-
* Phase 1 (collect) walks every module-scope `Function`-
|
|
79
|
-
* across the graph
|
|
55
|
+
* Phase 1 (collect) walks every module-scope `Function`- or
|
|
56
|
+
* `ReturnTypeOf`-valued BindingDecl across the graph (the latter is a
|
|
57
|
+
* factory's product, spec D13), collecting caller-side references from
|
|
58
|
+
* three sources:
|
|
80
59
|
*
|
|
81
60
|
* 1. `TypeOf` refs inside the decl's return-type expressions
|
|
82
61
|
* (`decl.value.returns`) — captures `() => helper()` shapes where the
|
|
@@ -94,7 +73,7 @@ export function hasJsx(t, graph, originFile, guard) {
|
|
|
94
73
|
* (the dominant React call shape) never appear as called by anyone.
|
|
95
74
|
*
|
|
96
75
|
* Phase 2 (classify) runs structural classification on every module-scope
|
|
97
|
-
* Function decl, with a reclassification gate: a decl classified as
|
|
76
|
+
* Function- or ReturnTypeOf-valued decl, with a reclassification gate: a decl classified as
|
|
98
77
|
* `"component"` but consumed only as a value (never JSX) is reclassified
|
|
99
78
|
* as `"helper"`.
|
|
100
79
|
*
|
|
@@ -106,14 +85,12 @@ export function hasJsx(t, graph, originFile, guard) {
|
|
|
106
85
|
* Cost: O(declarations × refs-per-declaration + jsx-usages). Cross-file
|
|
107
86
|
* resolution uses the existing module resolver — no new IO.
|
|
108
87
|
*/
|
|
109
|
-
export function buildHelperCallers(graph) {
|
|
88
|
+
export function buildHelperCallers(graph, registry) {
|
|
110
89
|
// ── Phase 1: collect ────────────────────────────────────────────────────
|
|
111
90
|
// Per-target accumulators (file::symbol → ...). callerKeysByHelper dedupes
|
|
112
|
-
// caller edges in O(1)
|
|
113
|
-
// target (used in phase 2 for the reclassification rule).
|
|
91
|
+
// caller edges in O(1).
|
|
114
92
|
const index = new Map();
|
|
115
93
|
const callerKeysByHelper = new Map();
|
|
116
|
-
const valueConsumers = new Map();
|
|
117
94
|
// Per-decl classification cache populated in phase 2.
|
|
118
95
|
const classificationCache = new Map();
|
|
119
96
|
const refResolutionCache = new Map();
|
|
@@ -131,11 +108,27 @@ export function buildHelperCallers(graph) {
|
|
|
131
108
|
for (const decl of fileGraph.declarations.values()) {
|
|
132
109
|
if (decl.scope !== MODULE_SCOPE)
|
|
133
110
|
continue;
|
|
134
|
-
if (decl.value.kind !== "Function")
|
|
135
|
-
continue;
|
|
136
111
|
const refs = [];
|
|
137
|
-
|
|
138
|
-
|
|
112
|
+
if (decl.value.kind === "Function") {
|
|
113
|
+
for (const r of decl.value.returns)
|
|
114
|
+
collectRefsInType(r, refs);
|
|
115
|
+
}
|
|
116
|
+
else if (decl.value.kind === "ReturnTypeOf") {
|
|
117
|
+
// A factory's product (`const Foo = withLoading(FooView)`) is a
|
|
118
|
+
// caller of the factory (spec D13), so JSX inside the factory's body
|
|
119
|
+
// fans out to each product. Only the CALLEE chain contributes — an
|
|
120
|
+
// argument is the thing being wrapped, not a value the product
|
|
121
|
+
// consumes, and must not feed the reclassification gate. Restricted
|
|
122
|
+
// to `ReturnTypeOf` specifically: D13 is about the PRODUCT OF A
|
|
123
|
+
// CALL. A bare alias (`const Item = RadioArea`, `TypeOf`) or a
|
|
124
|
+
// member alias (`const Root = Primitive.Root`, `MemberOf`) is not a
|
|
125
|
+
// call — running `collectCalleeRefs` on those would index the alias
|
|
126
|
+
// as a caller of what it aliases, flip the aliased declaration's
|
|
127
|
+
// classification to "helper" via the reclassification rule, and
|
|
128
|
+
// fan its JSX out to the alias instead of leaving it owned by the
|
|
129
|
+
// original declaration (found via the cal.diy real-consumer diff).
|
|
130
|
+
collectCalleeRefs(decl.value, refs);
|
|
131
|
+
}
|
|
139
132
|
for (const bc of fileGraph.bodyCalls) {
|
|
140
133
|
if (bc.ownerSymbol === decl.symbol)
|
|
141
134
|
refs.push(bc.callee);
|
|
@@ -146,18 +139,10 @@ export function buildHelperCallers(graph) {
|
|
|
146
139
|
if (!target)
|
|
147
140
|
continue;
|
|
148
141
|
pendingValueRefs.push({ target, caller: callerKey });
|
|
149
|
-
const targetKey = `${target.file}::${target.decl.symbol}`;
|
|
150
|
-
let consumerSet = valueConsumers.get(targetKey);
|
|
151
|
-
if (!consumerSet) {
|
|
152
|
-
consumerSet = new Set();
|
|
153
|
-
valueConsumers.set(targetKey, consumerSet);
|
|
154
|
-
}
|
|
155
|
-
consumerSet.add(`${callerKey.file}::${callerKey.symbol}`);
|
|
156
142
|
}
|
|
157
143
|
}
|
|
158
144
|
}
|
|
159
145
|
const pendingJsxCalls = [];
|
|
160
|
-
const jsxConsumerCount = new Map();
|
|
161
146
|
for (const [file, fileGraph] of graph.files) {
|
|
162
147
|
for (let i = 0; i < fileGraph.jsxUsages.length; i++) {
|
|
163
148
|
const usage = fileGraph.jsxUsages[i];
|
|
@@ -166,8 +151,6 @@ export function buildHelperCallers(graph) {
|
|
|
166
151
|
const target = resolveRefCached(usage.ref, file, fileGraph);
|
|
167
152
|
if (!target)
|
|
168
153
|
continue;
|
|
169
|
-
const targetKey = `${target.file}::${target.decl.symbol}`;
|
|
170
|
-
jsxConsumerCount.set(targetKey, (jsxConsumerCount.get(targetKey) ?? 0) + 1);
|
|
171
154
|
const ownership = fileGraph.ownership[i];
|
|
172
155
|
if (!ownership?.ownerSymbolRef)
|
|
173
156
|
continue;
|
|
@@ -183,30 +166,27 @@ export function buildHelperCallers(graph) {
|
|
|
183
166
|
}
|
|
184
167
|
}
|
|
185
168
|
// ── Phase 2: classify ───────────────────────────────────────────────────
|
|
186
|
-
//
|
|
187
|
-
//
|
|
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.
|
|
188
171
|
function classifyKey(file, decl) {
|
|
189
172
|
const key = `${file}::${decl.symbol}`;
|
|
190
173
|
const hit = classificationCache.get(key);
|
|
191
174
|
if (hit !== undefined)
|
|
192
175
|
return hit;
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
&& (jsxConsumerCount.get(key) ?? 0) === 0
|
|
196
|
-
&& (valueConsumers.get(key)?.size ?? 0) > 0) {
|
|
197
|
-
result = "helper";
|
|
198
|
-
}
|
|
176
|
+
const fileGraph = graph.files.get(file);
|
|
177
|
+
const result = fileGraph ? classifyDeclaration(decl, registry, fileGraph) : "unknown";
|
|
199
178
|
classificationCache.set(key, result);
|
|
200
179
|
return result;
|
|
201
180
|
}
|
|
202
|
-
// Walk every module-scope Function-valued decl so its
|
|
203
|
-
// in the cache before resolveOwnerChain runs
|
|
204
|
-
//
|
|
181
|
+
// Walk every module-scope Function- or ReturnTypeOf-valued decl so its
|
|
182
|
+
// classification lands in the cache before resolveOwnerChain runs (a
|
|
183
|
+
// factory's product is ReturnTypeOf-valued — spec D13). Other decls
|
|
184
|
+
// classify lazily via the same path.
|
|
205
185
|
for (const [file, fileGraph] of graph.files) {
|
|
206
186
|
for (const decl of fileGraph.declarations.values()) {
|
|
207
187
|
if (decl.scope !== MODULE_SCOPE)
|
|
208
188
|
continue;
|
|
209
|
-
if (decl.value.kind !== "Function")
|
|
189
|
+
if (decl.value.kind !== "Function" && decl.value.kind !== "ReturnTypeOf")
|
|
210
190
|
continue;
|
|
211
191
|
classifyKey(file, decl);
|
|
212
192
|
}
|
|
@@ -249,6 +229,24 @@ export function buildHelperCallers(graph) {
|
|
|
249
229
|
},
|
|
250
230
|
};
|
|
251
231
|
}
|
|
232
|
+
/** Walk only the callee side of a value: `ReturnTypeOf.callee` chains and
|
|
233
|
+
* `MemberOf.obj`, collecting the `TypeOf` refs that name what is being
|
|
234
|
+
* called. Arguments are deliberately skipped (see Pass A). */
|
|
235
|
+
function collectCalleeRefs(t, out) {
|
|
236
|
+
switch (t.kind) {
|
|
237
|
+
case "ReturnTypeOf":
|
|
238
|
+
collectCalleeRefs(t.callee, out);
|
|
239
|
+
return;
|
|
240
|
+
case "MemberOf":
|
|
241
|
+
collectCalleeRefs(t.obj, out);
|
|
242
|
+
return;
|
|
243
|
+
case "TypeOf":
|
|
244
|
+
out.push(t.ref);
|
|
245
|
+
return;
|
|
246
|
+
default:
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
252
250
|
/** Walk an InferredType, collecting every `TypeOf` ref found at any depth. */
|
|
253
251
|
function collectRefsInType(t, out) {
|
|
254
252
|
switch (t.kind) {
|
|
@@ -295,7 +293,7 @@ function collectRefsInType(t, out) {
|
|
|
295
293
|
*
|
|
296
294
|
* Returns null for unresolved or external refs.
|
|
297
295
|
*/
|
|
298
|
-
function resolveRefToDecl(ref, callerFile, callerGraph, graph) {
|
|
296
|
+
export function resolveRefToDecl(ref, callerFile, callerGraph, graph) {
|
|
299
297
|
// 1. Try the local declaration first.
|
|
300
298
|
const localKey = `${MODULE_SCOPE}::${ref.symbol}`;
|
|
301
299
|
const localDecl = callerGraph.declarations.get(localKey);
|
|
@@ -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"}
|
package/dist/engine/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Graph } from "../index.js";
|
|
2
2
|
import type { OccurrenceVia, ComponentId, PropValueState, DiagnosticCollector } from "@component-compass/plugin-core";
|
|
3
|
+
import { type ComponentRegistry } from "./registry.js";
|
|
3
4
|
/** Full occurrence shape produced by the engine.
|
|
4
5
|
*
|
|
5
6
|
* `rawComponentId` carries the structured `ComponentId` (same type as in
|
|
@@ -63,6 +64,9 @@ export type EngineOccurrence = {
|
|
|
63
64
|
};
|
|
64
65
|
export type ResolvedGraph = {
|
|
65
66
|
occurrences: EngineOccurrence[];
|
|
67
|
+
/** The component registry this resolution admitted identities against
|
|
68
|
+
* (spec D1). The CLI's roster join (`buildComponentSeeds`) reads it. */
|
|
69
|
+
registry: ComponentRegistry;
|
|
66
70
|
};
|
|
67
71
|
/**
|
|
68
72
|
* Project-wide tag → identity lookup. Supplied by the host so the engine can
|