@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
package/dist/engine/index.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE library stub table (spec D10). Types a small, fixed set of framework
|
|
3
|
+
* exports the engine can never parse (they live in node_modules) so that
|
|
4
|
+
* wrapper calls over them resolve structurally instead of falling to the
|
|
5
|
+
* opaque-HOC heuristic.
|
|
6
|
+
*
|
|
7
|
+
* Every stub is identity-preserving — `Function([ParameterOf(ref, 0)])` —
|
|
8
|
+
* which is what React's `memo` and `forwardRef` are: the returned component
|
|
9
|
+
* renders exactly the wrapped argument. `walkReturnTypeOf`'s structural
|
|
10
|
+
* pass-through step folds these to the argument with a `hoc-wrapper` via.
|
|
11
|
+
*
|
|
12
|
+
* A stub is a STRUCTURAL TYPE for an export the engine cannot parse — the
|
|
13
|
+
* shape it would have inferred had the source been in the graph — not a name
|
|
14
|
+
* allowlist over user code: a user-defined `memo` in a local file never
|
|
15
|
+
* reaches here because the check runs on the import record's specifier, not
|
|
16
|
+
* on the symbol.
|
|
17
|
+
*
|
|
18
|
+
* Add to this table only when a library export is (a) unparseable and
|
|
19
|
+
* (b) provably identity-preserving. Anything else belongs in the engine's
|
|
20
|
+
* general rules.
|
|
21
|
+
*/
|
|
22
|
+
const STUBBED_PACKAGES = new Set(["react", "preact", "preact/compat"]);
|
|
23
|
+
const IDENTITY_PRESERVING_EXPORTS = new Set(["memo", "forwardRef"]);
|
|
24
|
+
export function libraryStubFor(imp, ref) {
|
|
25
|
+
if (!STUBBED_PACKAGES.has(imp.specifier))
|
|
26
|
+
return null;
|
|
27
|
+
const isNamespaceOrDefault = imp.imported === "default" || imp.imported === "*";
|
|
28
|
+
// `import { memo } from "react"` → imported === "memo", no member chain.
|
|
29
|
+
// `import React from "react"; React.memo` → imported === "default", chain ["memo"].
|
|
30
|
+
// `import * as R from "react"; R.memo` → imported === "*", chain ["memo"].
|
|
31
|
+
const exportName = isNamespaceOrDefault ? ref.memberChain[0] : imp.imported;
|
|
32
|
+
if (exportName === undefined)
|
|
33
|
+
return null;
|
|
34
|
+
const chainConsumed = isNamespaceOrDefault ? 1 : 0;
|
|
35
|
+
if (ref.memberChain.length !== chainConsumed)
|
|
36
|
+
return null;
|
|
37
|
+
if (IDENTITY_PRESERVING_EXPORTS.has(exportName)) {
|
|
38
|
+
return { kind: "Function", returns: [{ kind: "ParameterOf", fn: ref, index: 0 }] };
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=library-stubs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"library-stubs.js","sourceRoot":"","sources":["../../src/engine/library-stubs.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;AAC5F,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AAEzF,MAAM,UAAU,cAAc,CAAC,GAAiB,EAAE,GAAc;IAC9D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtD,MAAM,oBAAoB,GAAG,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC;IAChF,yEAAyE;IACzE,oFAAoF;IACpF,2EAA2E;IAC3E,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC5E,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,aAAa,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAE1D,IAAI,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACrF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -11,10 +11,11 @@ import type { Graph } from "../types/file-graph.js";
|
|
|
11
11
|
* on one `{package, export}` identity instead of every member collapsing into
|
|
12
12
|
* `export: "*"`.
|
|
13
13
|
*
|
|
14
|
-
* Deeper chains (`<Dialog.Root.Foo/>`)
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* namespace usages (`<Dialog/>`, no member)
|
|
14
|
+
* Deeper chains (`<Dialog.Root.Foo/>`) still key on the first segment as the
|
|
15
|
+
* ROOT; the remaining segments are the residual (`residualMemberChain`,
|
|
16
|
+
* below) and are re-joined into the identity by `compoundExportName` (#518).
|
|
17
|
+
* Non-namespace imports and bare namespace usages (`<Dialog/>`, no member)
|
|
18
|
+
* return `imported` unchanged.
|
|
18
19
|
*
|
|
19
20
|
* This is the single home for the namespace-member → export-name rule; call it
|
|
20
21
|
* at every site that derives an export name from `ImportRecord.imported`, never
|
|
@@ -27,6 +28,25 @@ import type { Graph } from "../types/file-graph.js";
|
|
|
27
28
|
* `deriveIdentity`, #394).
|
|
28
29
|
*/
|
|
29
30
|
export declare function effectiveExportName(imported: string, memberChain: readonly string[]): string;
|
|
31
|
+
/**
|
|
32
|
+
* The member-chain segments a usage carries BEYOND the root export (#518 D4).
|
|
33
|
+
* `effectiveExportName` consumes the first segment as the export for a
|
|
34
|
+
* namespace import (`import * as Dialog; <Dialog.Root.Foo/>` → root `Root`,
|
|
35
|
+
* residual `["Foo"]`); every other import form keeps `imported` as the root,
|
|
36
|
+
* so the whole chain is residual (`import { Dialog }; <Dialog.Popup/>` →
|
|
37
|
+
* root `Dialog`, residual `["Popup"]`). Lookups (re-export chains, default
|
|
38
|
+
* export local names, workspace definitions) key on the ROOT; the identity
|
|
39
|
+
* stamped on the occurrence is `compoundExportName(root, residual)`. Call
|
|
40
|
+
* both halves — never re-derive the split or the join at a call site.
|
|
41
|
+
*/
|
|
42
|
+
export declare function residualMemberChain(imported: string, memberChain: readonly string[]): readonly string[];
|
|
43
|
+
/**
|
|
44
|
+
* THE one place a compound export name is written (#518 D1): the root export
|
|
45
|
+
* followed by the residual member chain, dot-joined. An empty residual is the
|
|
46
|
+
* identity function, so every existing non-member path is unchanged.
|
|
47
|
+
* `parseCompoundExport` (plugin-core `id.ts`) is the matching reader.
|
|
48
|
+
*/
|
|
49
|
+
export declare function compoundExportName(root: string, residual: readonly string[]): string;
|
|
30
50
|
/**
|
|
31
51
|
* THE seam for classifying an import target that is NOT in `graph.files`
|
|
32
52
|
* (#327). A resolved absolute target owned by a workspace member is
|
|
@@ -10,10 +10,11 @@
|
|
|
10
10
|
* on one `{package, export}` identity instead of every member collapsing into
|
|
11
11
|
* `export: "*"`.
|
|
12
12
|
*
|
|
13
|
-
* Deeper chains (`<Dialog.Root.Foo/>`)
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* namespace usages (`<Dialog/>`, no member)
|
|
13
|
+
* Deeper chains (`<Dialog.Root.Foo/>`) still key on the first segment as the
|
|
14
|
+
* ROOT; the remaining segments are the residual (`residualMemberChain`,
|
|
15
|
+
* below) and are re-joined into the identity by `compoundExportName` (#518).
|
|
16
|
+
* Non-namespace imports and bare namespace usages (`<Dialog/>`, no member)
|
|
17
|
+
* return `imported` unchanged.
|
|
17
18
|
*
|
|
18
19
|
* This is the single home for the namespace-member → export-name rule; call it
|
|
19
20
|
* at every site that derives an export name from `ImportRecord.imported`, never
|
|
@@ -29,6 +30,29 @@ export function effectiveExportName(imported, memberChain) {
|
|
|
29
30
|
const first = memberChain[0];
|
|
30
31
|
return imported === "*" && first !== undefined ? first : imported;
|
|
31
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* The member-chain segments a usage carries BEYOND the root export (#518 D4).
|
|
35
|
+
* `effectiveExportName` consumes the first segment as the export for a
|
|
36
|
+
* namespace import (`import * as Dialog; <Dialog.Root.Foo/>` → root `Root`,
|
|
37
|
+
* residual `["Foo"]`); every other import form keeps `imported` as the root,
|
|
38
|
+
* so the whole chain is residual (`import { Dialog }; <Dialog.Popup/>` →
|
|
39
|
+
* root `Dialog`, residual `["Popup"]`). Lookups (re-export chains, default
|
|
40
|
+
* export local names, workspace definitions) key on the ROOT; the identity
|
|
41
|
+
* stamped on the occurrence is `compoundExportName(root, residual)`. Call
|
|
42
|
+
* both halves — never re-derive the split or the join at a call site.
|
|
43
|
+
*/
|
|
44
|
+
export function residualMemberChain(imported, memberChain) {
|
|
45
|
+
return imported === "*" && memberChain.length > 0 ? memberChain.slice(1) : memberChain;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* THE one place a compound export name is written (#518 D1): the root export
|
|
49
|
+
* followed by the residual member chain, dot-joined. An empty residual is the
|
|
50
|
+
* identity function, so every existing non-member path is unchanged.
|
|
51
|
+
* `parseCompoundExport` (plugin-core `id.ts`) is the matching reader.
|
|
52
|
+
*/
|
|
53
|
+
export function compoundExportName(root, residual) {
|
|
54
|
+
return residual.length === 0 ? root : `${root}.${residual.join(".")}`;
|
|
55
|
+
}
|
|
32
56
|
/**
|
|
33
57
|
* THE seam for classifying an import target that is NOT in `graph.files`
|
|
34
58
|
* (#327). A resolved absolute target owned by a workspace member is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member-identity.js","sourceRoot":"","sources":["../../src/engine/member-identity.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"member-identity.js","sourceRoot":"","sources":["../../src/engine/member-identity.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,WAA8B;IAClF,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,QAAQ,KAAK,GAAG,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,WAA8B;IAClF,OAAO,QAAQ,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AACzF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,QAA2B;IAC1E,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAY,EACZ,WAAmB,EACnB,QAAgB;IAEhB,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC,WAAW,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,GAAG,GAAG,KAAK,CAAC,sBAAsB,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC;IAC1E,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,QAAQ,EAAE,CAAC;AAC3F,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { Graph } from "../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* THE registry of component declarations (spec D1, D3). Identity is a lookup
|
|
4
|
+
* into this set, never a walk terminus. A declaration is a member iff it is
|
|
5
|
+
* admitted-shaped (`isAdmittedShape`, below — `evalKind === "component"`, OR
|
|
6
|
+
* ruling 15's component-namespace widening) AND consumed: exported,
|
|
7
|
+
* referenced by a JSX usage, or HELD — named 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.
|
|
15
|
+
*
|
|
16
|
+
* Consumption is the gate that keeps `renderIcon()` helpers, render-less
|
|
17
|
+
* classes and other component-shaped-but-inert declarations out of the
|
|
18
|
+
* roster (spec Revision note 3). Vue-dialect files contribute nothing: their
|
|
19
|
+
* SFC declaration is not typed by this algebra and the engine admits their
|
|
20
|
+
* identities unconditionally.
|
|
21
|
+
*
|
|
22
|
+
* A folded holding declaration (`export default memo(Foo)`, `const Enhanced =
|
|
23
|
+
* connect()(Foo)`) is component-shaped and exported, so `buildComponentRegistry`
|
|
24
|
+
* admits it; it is removed again by `excludeFoldedHolders` (#539 D1–D4, below),
|
|
25
|
+
* which `resolve()` applies from the one fold it already runs per call-valued
|
|
26
|
+
* member. The registry never folds (#524: admission is shape-only).
|
|
27
|
+
*
|
|
28
|
+
* `parseCompoundExport` (#518 D5) reads compound export names into root + path.
|
|
29
|
+
*/
|
|
30
|
+
export type RegistryEntry = {
|
|
31
|
+
filePath: string;
|
|
32
|
+
symbol: string;
|
|
33
|
+
exportName: string;
|
|
34
|
+
kind: "react-component" | "vue-component";
|
|
35
|
+
loc: {
|
|
36
|
+
line: number;
|
|
37
|
+
column: number;
|
|
38
|
+
};
|
|
39
|
+
isDefault: boolean;
|
|
40
|
+
};
|
|
41
|
+
export type ComponentRegistry = {
|
|
42
|
+
hasLocal(filePath: string, exportName: string): boolean;
|
|
43
|
+
/** Shape-only lookup for engine admission (spec D1/D2): is the declaration
|
|
44
|
+
* named by (filePath, symbol-or-exportedAs) component-shaped? Consumption
|
|
45
|
+
* is not required here — the JSX usage being resolved is the consumption.
|
|
46
|
+
* `hasLocal` (shape AND consumed) remains the roster's membership test. */
|
|
47
|
+
isComponentShaped(filePath: string, exportName: string): boolean;
|
|
48
|
+
localEntries(): readonly RegistryEntry[];
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* A member the engine folded away (#539 D1): every render of it is credited
|
|
52
|
+
* to another identity. `target` is that identity when it is a single local
|
|
53
|
+
* member of the SAME file (D4 — it inherits `isDefault`); `null` otherwise
|
|
54
|
+
* (external, other file, or a fan-out to several identities).
|
|
55
|
+
*/
|
|
56
|
+
export type FoldedHolder = {
|
|
57
|
+
target: {
|
|
58
|
+
filePath: string;
|
|
59
|
+
export: string;
|
|
60
|
+
} | null;
|
|
61
|
+
};
|
|
62
|
+
/** The registry's key shape, shared with the engine's folded-holder map. */
|
|
63
|
+
export declare function entryKey(filePath: string, name: string): string;
|
|
64
|
+
export declare function buildComponentRegistry(graph: Graph): ComponentRegistry;
|
|
65
|
+
/**
|
|
66
|
+
* THE narrowing seam (#539 D3): the roster registry after folded holders are
|
|
67
|
+
* removed. `resolve()` computes `folded` from the ONE fold it already runs
|
|
68
|
+
* per call-valued member (rule R1's walk); this function never folds. A
|
|
69
|
+
* folded holder is absent from `localEntries()` and `hasLocal` says no for
|
|
70
|
+
* its symbol and its export name; `isComponentShaped` (occurrence admission)
|
|
71
|
+
* is untouched, since a fold never lands an occurrence on a folded holder.
|
|
72
|
+
* D4: a folded DEFAULT holder hands `isDefault` to its same-file target.
|
|
73
|
+
* The narrowed `hasLocal` answers only for names of surviving entries, so a
|
|
74
|
+
* name the base registry knew only through its de-duplicated `byKey` (never
|
|
75
|
+
* in `localEntries()`) answers false here — the CLI already derives
|
|
76
|
+
* `hasLocal` from `localEntries()`, so this is the semantics it always saw.
|
|
77
|
+
*/
|
|
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;
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { MODULE_SCOPE } from "../index.js";
|
|
2
|
+
import { parseCompoundExport } from "@component-compass/plugin-core";
|
|
3
|
+
import { resolveRefToDecl, findLocalDeclaration } from "./helper-callers.js";
|
|
4
|
+
import { evalKind } from "./component-shape.js";
|
|
5
|
+
import { hasOnlyHostElementNames } from "./host-element.js";
|
|
6
|
+
/** The registry's key shape, shared with the engine's folded-holder map. */
|
|
7
|
+
export function entryKey(filePath, name) {
|
|
8
|
+
return `${filePath}::${name}`;
|
|
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
|
+
}
|
|
29
|
+
export function buildComponentRegistry(graph) {
|
|
30
|
+
const consumed = new Set(); // `${file}::${symbol}`
|
|
31
|
+
// 1. Consumption: exports, JSX references, held values.
|
|
32
|
+
for (const [file, fg] of graph.files) {
|
|
33
|
+
for (const exp of fg.exports) {
|
|
34
|
+
if ("local" in exp)
|
|
35
|
+
consumed.add(entryKey(file, exp.local));
|
|
36
|
+
}
|
|
37
|
+
for (const decl of fg.declarations.values()) {
|
|
38
|
+
if (decl.isExported || decl.exportedAs !== undefined)
|
|
39
|
+
consumed.add(entryKey(file, decl.symbol));
|
|
40
|
+
}
|
|
41
|
+
for (const usage of fg.jsxUsages) {
|
|
42
|
+
const target = resolveUsageTarget(usage.ref, file, fg, graph);
|
|
43
|
+
if (target)
|
|
44
|
+
consumed.add(entryKey(target.file, target.symbol));
|
|
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
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// 2. Membership: consumed AND component-shaped.
|
|
53
|
+
const byKey = new Map();
|
|
54
|
+
const entries = [];
|
|
55
|
+
for (const [file, fg] of graph.files) {
|
|
56
|
+
if (fg.dialect === "vue")
|
|
57
|
+
continue;
|
|
58
|
+
for (const decl of fg.declarations.values()) {
|
|
59
|
+
if (!consumed.has(entryKey(file, decl.symbol)))
|
|
60
|
+
continue;
|
|
61
|
+
if (!isAdmittedShape(decl.value, graph, fg))
|
|
62
|
+
continue;
|
|
63
|
+
const exportName = decl.exportedAs ?? decl.symbol;
|
|
64
|
+
const entry = {
|
|
65
|
+
filePath: file,
|
|
66
|
+
symbol: decl.symbol,
|
|
67
|
+
exportName,
|
|
68
|
+
kind: "react-component",
|
|
69
|
+
loc: decl.loc,
|
|
70
|
+
isDefault: decl.symbol === "default" || fg.exports.some((e) => e.kind === "default" && "local" in e && e.local === decl.symbol),
|
|
71
|
+
};
|
|
72
|
+
if (!byKey.has(entryKey(file, exportName)))
|
|
73
|
+
entries.push(entry);
|
|
74
|
+
byKey.set(entryKey(file, decl.symbol), entry);
|
|
75
|
+
byKey.set(entryKey(file, exportName), entry);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Shape-only lookup (spec D1/D2), lazy + cached per (file, name). Used by
|
|
79
|
+
// the engine's `admit` rule: a JSX usage that resolves to a local
|
|
80
|
+
// declaration IS that declaration's consumption, so admission re-checks
|
|
81
|
+
// shape only — re-deriving the engine's own alias/union/dynamic-map/
|
|
82
|
+
// re-export/wrapper-fold resolution here would duplicate that seam.
|
|
83
|
+
const shapeCache = new Map();
|
|
84
|
+
const isComponentShaped = (filePath, exportName) => {
|
|
85
|
+
const cacheKey = entryKey(filePath, exportName);
|
|
86
|
+
const cached = shapeCache.get(cacheKey);
|
|
87
|
+
if (cached !== undefined)
|
|
88
|
+
return cached;
|
|
89
|
+
const fg = graph.files.get(filePath);
|
|
90
|
+
let result = false;
|
|
91
|
+
if (fg && fg.dialect !== "vue") {
|
|
92
|
+
// A compound export (`NS.Inline`, #518 D5) names a member of a holder
|
|
93
|
+
// declaration: look the HOLDER up by its root, then walk the residual
|
|
94
|
+
// path through its Object props. `parseCompoundExport` is the one
|
|
95
|
+
// reader of the dotted form; `compoundExportName` the one writer.
|
|
96
|
+
const { root, path } = parseCompoundExport(exportName);
|
|
97
|
+
let decl = fg.declarations.get(`${MODULE_SCOPE}::${root}`);
|
|
98
|
+
if (!decl) {
|
|
99
|
+
// Fall back across every scope, matching by `exportedAs` OR by the
|
|
100
|
+
// declared symbol itself. `ComponentId.export` carries only the bare
|
|
101
|
+
// name (no scope), so a component declared inside a nested scope —
|
|
102
|
+
// e.g. a shadowed IIFE-local `const Comp = () => <span/>;` — is only
|
|
103
|
+
// findable by symbol; module-scope-only lookup would reject it even
|
|
104
|
+
// though the engine's own resolution already landed on it.
|
|
105
|
+
//
|
|
106
|
+
// Known imprecision (ruling 18, kept — the shape check is a lookup,
|
|
107
|
+
// not a resolution walk): when two SIBLING scopes both declare a
|
|
108
|
+
// same-named symbol with DIFFERENT shapes (two `Item`s in unrelated
|
|
109
|
+
// function bodies, one a component, one not), this takes the FIRST
|
|
110
|
+
// match in `fg.declarations`' Map order — insertion order, i.e.
|
|
111
|
+
// source order — regardless of which scope the caller actually
|
|
112
|
+
// meant. `ComponentId.export` has no scope field to disambiguate
|
|
113
|
+
// with; threading scope through `ComponentId` is the real fix, and
|
|
114
|
+
// is out of scope for this rule.
|
|
115
|
+
for (const d of fg.declarations.values()) {
|
|
116
|
+
if (d.exportedAs === root || d.symbol === root) {
|
|
117
|
+
decl = d;
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
result =
|
|
123
|
+
decl !== undefined &&
|
|
124
|
+
(path.length === 0 ? isAdmittedShape(decl.value, graph, fg) : isAdmittedMember(decl.value, path, graph, fg));
|
|
125
|
+
}
|
|
126
|
+
shapeCache.set(cacheKey, result);
|
|
127
|
+
return result;
|
|
128
|
+
};
|
|
129
|
+
return {
|
|
130
|
+
hasLocal: (filePath, exportName) => byKey.has(entryKey(filePath, exportName)),
|
|
131
|
+
isComponentShaped,
|
|
132
|
+
localEntries: () => entries,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* THE narrowing seam (#539 D3): the roster registry after folded holders are
|
|
137
|
+
* removed. `resolve()` computes `folded` from the ONE fold it already runs
|
|
138
|
+
* per call-valued member (rule R1's walk); this function never folds. A
|
|
139
|
+
* folded holder is absent from `localEntries()` and `hasLocal` says no for
|
|
140
|
+
* its symbol and its export name; `isComponentShaped` (occurrence admission)
|
|
141
|
+
* is untouched, since a fold never lands an occurrence on a folded holder.
|
|
142
|
+
* D4: a folded DEFAULT holder hands `isDefault` to its same-file target.
|
|
143
|
+
* The narrowed `hasLocal` answers only for names of surviving entries, so a
|
|
144
|
+
* name the base registry knew only through its de-duplicated `byKey` (never
|
|
145
|
+
* in `localEntries()`) answers false here — the CLI already derives
|
|
146
|
+
* `hasLocal` from `localEntries()`, so this is the semantics it always saw.
|
|
147
|
+
*/
|
|
148
|
+
export function excludeFoldedHolders(registry, folded) {
|
|
149
|
+
if (folded.size === 0)
|
|
150
|
+
return registry;
|
|
151
|
+
const inheritsDefault = new Set();
|
|
152
|
+
const survivors = [];
|
|
153
|
+
for (const entry of registry.localEntries()) {
|
|
154
|
+
const holder = folded.get(entryKey(entry.filePath, entry.symbol));
|
|
155
|
+
if (holder === undefined) {
|
|
156
|
+
survivors.push(entry);
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
if (entry.isDefault && holder.target !== null) {
|
|
160
|
+
inheritsDefault.add(entryKey(holder.target.filePath, holder.target.export));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
const entries = survivors.map((e) => inheritsDefault.has(entryKey(e.filePath, e.symbol)) || inheritsDefault.has(entryKey(e.filePath, e.exportName))
|
|
164
|
+
? { ...e, isDefault: true }
|
|
165
|
+
: e);
|
|
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);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Ruling 15: a declaration is an admitted shape iff `evalKind === "component"`
|
|
198
|
+
* OR it is a "component namespace" — an `Object`-valued declaration with at
|
|
199
|
+
* least one prop that is itself component-shaped, e.g.
|
|
200
|
+
* `export const Sidebar = { Root, Branch, Leaf }` rendered as
|
|
201
|
+
* `<Sidebar.Root/>`. `evalKind` itself stays pure (an `Object` is always
|
|
202
|
+
* "other" there); this widening lives ONLY at the registry boundary — the
|
|
203
|
+
* one place shape gets turned into an admission/membership decision.
|
|
204
|
+
*/
|
|
205
|
+
function isAdmittedShape(value, graph, fg) {
|
|
206
|
+
if (evalKind(value, graph, fg) === "component")
|
|
207
|
+
return true;
|
|
208
|
+
if (value.kind !== "Object")
|
|
209
|
+
return false;
|
|
210
|
+
return Object.values(value.props).some((prop) => evalKind(prop, graph, fg) === "component");
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* #518 D5: the member a compound export names. Walk `path` through nested
|
|
214
|
+
* `Object` props from the holder's value; the terminal value must be
|
|
215
|
+
* admitted-shaped (a component, or itself a component namespace). Any step
|
|
216
|
+
* that is not an `Object` prop, or a missing prop, is not a member.
|
|
217
|
+
*/
|
|
218
|
+
function isAdmittedMember(holder, path, graph, fg) {
|
|
219
|
+
let cur = holder;
|
|
220
|
+
for (const segment of path) {
|
|
221
|
+
if (cur.kind !== "Object")
|
|
222
|
+
return false;
|
|
223
|
+
const next = cur.props[segment];
|
|
224
|
+
if (next === undefined)
|
|
225
|
+
return false;
|
|
226
|
+
cur = next;
|
|
227
|
+
}
|
|
228
|
+
return isAdmittedShape(cur, graph, fg);
|
|
229
|
+
}
|
|
230
|
+
/** Scope-aware resolution of a reference to the declaration it names:
|
|
231
|
+
* walk the scope chain in the referencing file first (body locals) via the
|
|
232
|
+
* engine's own scope walk (I4 — `findLocalDeclaration`, shared with
|
|
233
|
+
* `engine/index.ts` so the two never drift), then fall back to the
|
|
234
|
+
* module-scope / import resolution helper-callers uses. */
|
|
235
|
+
function resolveUsageTarget(ref, file, fg, graph) {
|
|
236
|
+
const local = findLocalDeclaration(fg, ref);
|
|
237
|
+
if (local)
|
|
238
|
+
return { file, symbol: local.symbol };
|
|
239
|
+
const resolved = resolveRefToDecl(ref, file, fg, graph);
|
|
240
|
+
return resolved ? { file: resolved.file, symbol: resolved.decl.symbol } : null;
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=registry.js.map
|