@component-compass/reference-graph 0.1.18 → 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/helper-callers.d.ts +21 -8
- package/dist/engine/helper-callers.js +30 -52
- 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.js +101 -28
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/registry.d.ts +30 -4
- package/dist/engine/registry.js +55 -39
- package/dist/engine/registry.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 +21 -0
- package/package.json +2 -2
package/dist/builder.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { OccurrenceVia, PropUsage, ResolveImport } from "@component-compass/plugin-core";
|
|
2
|
-
import type { BindingDecl, ExportRecord, Graph, ImportRecord, Reference, ScopeId } from "./index.js";
|
|
2
|
+
import type { BindingDecl, ExportRecord, Graph, ImportRecord, InferredType, Reference, ScopeId } from "./index.js";
|
|
3
3
|
import type { Dialect, GraphHostHooks } from "./types/file-graph.js";
|
|
4
4
|
export interface FileBuilder {
|
|
5
5
|
/** Repo-relative POSIX path of the file this builder is emitting into. */
|
|
@@ -92,6 +92,12 @@ export interface FileBuilder {
|
|
|
92
92
|
callee: Omit<Reference, "scope"> & {
|
|
93
93
|
scope?: ScopeId;
|
|
94
94
|
};
|
|
95
|
+
args?: InferredType[];
|
|
96
|
+
}): void;
|
|
97
|
+
/** Record an identifier read in value position. See `FileGraph.heldRefs`.
|
|
98
|
+
* Scope defaults to the current scope, as for a JSX usage. */
|
|
99
|
+
addHeldRef(ref: Omit<Reference, "scope"> & {
|
|
100
|
+
scope?: ScopeId;
|
|
95
101
|
}): void;
|
|
96
102
|
/** Mark the most-recently-emitted usage as the lexical parent for any
|
|
97
103
|
* subsequent usages emitted before the matching `popUsageScope`. Parsers
|
package/dist/builder.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// - parser-vue: paper sketch (Task 0.2, see plan doc)
|
|
4
4
|
// Members not justified by either should not be added speculatively.
|
|
5
5
|
import { isAbsolute, relative, resolve } from "node:path";
|
|
6
|
+
import { posixPath } from "@component-compass/plugin-core";
|
|
6
7
|
import { MODULE_SCOPE } from "./index.js";
|
|
7
8
|
export function createGraphBuilder(opts) {
|
|
8
9
|
const files = new Map();
|
|
@@ -17,6 +18,7 @@ export function createGraphBuilder(opts) {
|
|
|
17
18
|
const tagUsages = [];
|
|
18
19
|
const ownership = [];
|
|
19
20
|
const bodyCalls = [];
|
|
21
|
+
const heldRefs = [];
|
|
20
22
|
const scopeStack = [MODULE_SCOPE];
|
|
21
23
|
let nextScopeId = 1;
|
|
22
24
|
// Deterministic scope ids per AST node key (`fn@<span-start>`): value
|
|
@@ -30,7 +32,7 @@ export function createGraphBuilder(opts) {
|
|
|
30
32
|
// `pushUsageScope` was called. See FileGraph.ownership.parentUsageIdx /
|
|
31
33
|
// depth.
|
|
32
34
|
const parentStack = [];
|
|
33
|
-
const fg = { filePath, dialect, scopes, declarations, imports, importsByLocal, exports, jsxUsages, tagUsages, ownership, bodyCalls };
|
|
35
|
+
const fg = { filePath, dialect, scopes, declarations, imports, importsByLocal, exports, jsxUsages, tagUsages, ownership, bodyCalls, heldRefs };
|
|
34
36
|
files.set(filePath, fg);
|
|
35
37
|
return {
|
|
36
38
|
filePath,
|
|
@@ -158,7 +160,11 @@ export function createGraphBuilder(opts) {
|
|
|
158
160
|
},
|
|
159
161
|
addBodyCall(record) {
|
|
160
162
|
const scope = record.callee.scope ?? scopeStack[scopeStack.length - 1] ?? MODULE_SCOPE;
|
|
161
|
-
bodyCalls.push({ ownerSymbol: record.ownerSymbol, callee: { ...record.callee, scope } });
|
|
163
|
+
bodyCalls.push({ ownerSymbol: record.ownerSymbol, callee: { ...record.callee, scope }, args: record.args ?? [] });
|
|
164
|
+
},
|
|
165
|
+
addHeldRef(ref) {
|
|
166
|
+
const scope = ref.scope ?? scopeStack[scopeStack.length - 1] ?? MODULE_SCOPE;
|
|
167
|
+
heldRefs.push({ ...ref, scope });
|
|
162
168
|
},
|
|
163
169
|
pushUsageScope() {
|
|
164
170
|
// Push the most-recently-emitted usage as the parent frame. No-op
|
|
@@ -193,7 +199,7 @@ export function createGraphBuilder(opts) {
|
|
|
193
199
|
const resolveToGraphKey = (absPath) => {
|
|
194
200
|
if (!isAbsolute(absPath))
|
|
195
201
|
return null;
|
|
196
|
-
const rel = relative(repoRoot, absPath)
|
|
202
|
+
const rel = posixPath(relative(repoRoot, absPath));
|
|
197
203
|
// Reject paths that escape the repo root (e.g. node_modules sibling
|
|
198
204
|
// checkouts). Callers fall back to the absolute path; `files.get`
|
|
199
205
|
// returns undefined for both cases. Repo-internal paths return the
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kDAAkD;AAClD,wDAAwD;AACxD,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { BindingDecl, FileGraph, Graph, Reference } from "../index.js";
|
|
2
|
+
import type { ComponentRegistry } from "./registry.js";
|
|
2
3
|
/**
|
|
3
4
|
* Walk the scope chain for `ref.symbol` in `fileGraph.declarations` and
|
|
4
5
|
* return the first matching BindingDecl, or null if not found. THE
|
|
@@ -8,14 +9,26 @@ import type { BindingDecl, FileGraph, Graph, Reference } from "../index.js";
|
|
|
8
9
|
export declare function findLocalDeclaration(fileGraph: FileGraph, ref: Reference): BindingDecl | null;
|
|
9
10
|
export type Classification = "component" | "helper" | "unknown";
|
|
10
11
|
/**
|
|
11
|
-
* Component-vs-helper classification for owner attribution
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* always has.
|
|
12
|
+
* Component-vs-helper classification for owner attribution (#559): owners
|
|
13
|
+
* are registry members, or they fan out. A Function- or call-valued
|
|
14
|
+
* declaration the registry admits is a "component" and owns its JSX; one it
|
|
15
|
+
* does not admit is a "helper", and the JSX inside it belongs to its callers
|
|
16
|
+
* (`resolveOwnerChain`). Plain values stay "unknown" so `resolveOwnerChain`
|
|
17
|
+
* treats them as it always has.
|
|
18
|
+
*
|
|
19
|
+
* No second shape test and no second naming rule live here: `registry` is
|
|
20
|
+
* the roster view (`excludeHostElementNames` applied), so a lowercase render
|
|
21
|
+
* helper (#540), a capitalised function only ever called (`ActionButtons({…})`),
|
|
22
|
+
* and a dead JSX-returning declaration are all helpers for the same reason —
|
|
23
|
+
* the registry did not admit them.
|
|
24
|
+
*
|
|
25
|
+
* A Vue SFC — the default-exported declaration of a vue-dialect file — is
|
|
26
|
+
* outside the registry by design (it is not typed by this algebra) and the
|
|
27
|
+
* engine admits its identity unconditionally; ownership follows the same
|
|
28
|
+
* rule, so an SFC always owns its template. Any other declaration in a Vue
|
|
29
|
+
* file (a `<script>` helper) is judged like a React one.
|
|
17
30
|
*/
|
|
18
|
-
export declare function classifyDeclaration(decl: BindingDecl,
|
|
31
|
+
export declare function classifyDeclaration(decl: BindingDecl, registry: ComponentRegistry, fileGraph: FileGraph): Classification;
|
|
19
32
|
export type SymbolKey = {
|
|
20
33
|
file: string;
|
|
21
34
|
symbol: string;
|
|
@@ -63,7 +76,7 @@ export type ClassifiedHelperIndex = HelperCallerIndex & {
|
|
|
63
76
|
* Cost: O(declarations × refs-per-declaration + jsx-usages). Cross-file
|
|
64
77
|
* resolution uses the existing module resolver — no new IO.
|
|
65
78
|
*/
|
|
66
|
-
export declare function buildHelperCallers(graph: Graph): ClassifiedHelperIndex;
|
|
79
|
+
export declare function buildHelperCallers(graph: Graph, registry: ComponentRegistry): ClassifiedHelperIndex;
|
|
67
80
|
/**
|
|
68
81
|
* Resolve a Reference to the BindingDecl it ultimately points at, crossing
|
|
69
82
|
* files via imports + the module resolver. Returns `{file, decl}` keyed by
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { MODULE_SCOPE } from "../index.js";
|
|
2
|
-
import { evalKind } from "./component-shape.js";
|
|
3
2
|
import { followReExportChain } from "./re-export-chain.js";
|
|
4
3
|
/**
|
|
5
4
|
* Walk the scope chain for `ref.symbol` in `fileGraph.declarations` and
|
|
@@ -22,39 +21,33 @@ export function findLocalDeclaration(fileGraph, ref) {
|
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
23
|
/**
|
|
25
|
-
* Component-vs-helper classification for owner attribution
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* always has.
|
|
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.
|
|
30
|
+
*
|
|
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
|
+
*
|
|
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.
|
|
31
42
|
*/
|
|
32
|
-
export function classifyDeclaration(decl,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (
|
|
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))
|
|
36
47
|
return "component";
|
|
37
|
-
|
|
38
|
-
return "helper";
|
|
39
|
-
return "unknown";
|
|
40
|
-
}
|
|
41
|
-
/** Tests call `classifyDeclaration(decl, graph)` with no file; give the
|
|
42
|
-
* evaluator an empty FileGraph to resolve against. */
|
|
43
|
-
function syntheticFileGraph(filePath) {
|
|
44
|
-
return {
|
|
45
|
-
filePath: filePath ?? "",
|
|
46
|
-
dialect: "react",
|
|
47
|
-
scopes: new Map([[MODULE_SCOPE, { parent: null }]]),
|
|
48
|
-
declarations: new Map(),
|
|
49
|
-
imports: [],
|
|
50
|
-
importsByLocal: new Map(),
|
|
51
|
-
exports: [],
|
|
52
|
-
jsxUsages: [],
|
|
53
|
-
tagUsages: [],
|
|
54
|
-
ownership: [],
|
|
55
|
-
bodyCalls: [],
|
|
56
|
-
};
|
|
48
|
+
return registry.hasLocal(fileGraph.filePath, decl.symbol) ? "component" : "helper";
|
|
57
49
|
}
|
|
50
|
+
const isSfcDeclaration = (fileGraph, decl) => fileGraph.exports.some((e) => e.kind === "default" && "local" in e && e.local === decl.symbol);
|
|
58
51
|
/**
|
|
59
52
|
* Three-phase build of the helper → component-callers reverse index plus
|
|
60
53
|
* per-decl classification cache.
|
|
@@ -92,14 +85,12 @@ function syntheticFileGraph(filePath) {
|
|
|
92
85
|
* Cost: O(declarations × refs-per-declaration + jsx-usages). Cross-file
|
|
93
86
|
* resolution uses the existing module resolver — no new IO.
|
|
94
87
|
*/
|
|
95
|
-
export function buildHelperCallers(graph) {
|
|
88
|
+
export function buildHelperCallers(graph, registry) {
|
|
96
89
|
// ── Phase 1: collect ────────────────────────────────────────────────────
|
|
97
90
|
// Per-target accumulators (file::symbol → ...). callerKeysByHelper dedupes
|
|
98
|
-
// caller edges in O(1)
|
|
99
|
-
// target (used in phase 2 for the reclassification rule).
|
|
91
|
+
// caller edges in O(1).
|
|
100
92
|
const index = new Map();
|
|
101
93
|
const callerKeysByHelper = new Map();
|
|
102
|
-
const valueConsumers = new Map();
|
|
103
94
|
// Per-decl classification cache populated in phase 2.
|
|
104
95
|
const classificationCache = new Map();
|
|
105
96
|
const refResolutionCache = new Map();
|
|
@@ -148,18 +139,10 @@ export function buildHelperCallers(graph) {
|
|
|
148
139
|
if (!target)
|
|
149
140
|
continue;
|
|
150
141
|
pendingValueRefs.push({ target, caller: callerKey });
|
|
151
|
-
const targetKey = `${target.file}::${target.decl.symbol}`;
|
|
152
|
-
let consumerSet = valueConsumers.get(targetKey);
|
|
153
|
-
if (!consumerSet) {
|
|
154
|
-
consumerSet = new Set();
|
|
155
|
-
valueConsumers.set(targetKey, consumerSet);
|
|
156
|
-
}
|
|
157
|
-
consumerSet.add(`${callerKey.file}::${callerKey.symbol}`);
|
|
158
142
|
}
|
|
159
143
|
}
|
|
160
144
|
}
|
|
161
145
|
const pendingJsxCalls = [];
|
|
162
|
-
const jsxConsumerCount = new Map();
|
|
163
146
|
for (const [file, fileGraph] of graph.files) {
|
|
164
147
|
for (let i = 0; i < fileGraph.jsxUsages.length; i++) {
|
|
165
148
|
const usage = fileGraph.jsxUsages[i];
|
|
@@ -168,8 +151,6 @@ export function buildHelperCallers(graph) {
|
|
|
168
151
|
const target = resolveRefCached(usage.ref, file, fileGraph);
|
|
169
152
|
if (!target)
|
|
170
153
|
continue;
|
|
171
|
-
const targetKey = `${target.file}::${target.decl.symbol}`;
|
|
172
|
-
jsxConsumerCount.set(targetKey, (jsxConsumerCount.get(targetKey) ?? 0) + 1);
|
|
173
154
|
const ownership = fileGraph.ownership[i];
|
|
174
155
|
if (!ownership?.ownerSymbolRef)
|
|
175
156
|
continue;
|
|
@@ -185,18 +166,15 @@ export function buildHelperCallers(graph) {
|
|
|
185
166
|
}
|
|
186
167
|
}
|
|
187
168
|
// ── Phase 2: classify ───────────────────────────────────────────────────
|
|
188
|
-
//
|
|
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.
|
|
189
171
|
function classifyKey(file, decl) {
|
|
190
172
|
const key = `${file}::${decl.symbol}`;
|
|
191
173
|
const hit = classificationCache.get(key);
|
|
192
174
|
if (hit !== undefined)
|
|
193
175
|
return hit;
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
&& (jsxConsumerCount.get(key) ?? 0) === 0
|
|
197
|
-
&& (valueConsumers.get(key)?.size ?? 0) > 0) {
|
|
198
|
-
result = "helper";
|
|
199
|
-
}
|
|
176
|
+
const fileGraph = graph.files.get(file);
|
|
177
|
+
const result = fileGraph ? classifyDeclaration(decl, registry, fileGraph) : "unknown";
|
|
200
178
|
classificationCache.set(key, result);
|
|
201
179
|
return result;
|
|
202
180
|
}
|
|
@@ -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.js
CHANGED
|
@@ -9,7 +9,8 @@ import { buildHelperCallers, findLocalDeclaration } from "./helper-callers.js";
|
|
|
9
9
|
import { resolveOwnerChain } from "./owner-resolution.js";
|
|
10
10
|
import { createCycleGuard } from "./cycle-detection.js";
|
|
11
11
|
import { unparsedMemberDefinition, effectiveExportName, residualMemberChain, compoundExportName } from "./member-identity.js";
|
|
12
|
-
import { buildComponentRegistry, excludeFoldedHolders, entryKey } from "./registry.js";
|
|
12
|
+
import { buildComponentRegistry, excludeFoldedHolders, excludeHostElementNames, entryKey } from "./registry.js";
|
|
13
|
+
import { hasOnlyHostElementNames, isHostElementName } from "./host-element.js";
|
|
13
14
|
/**
|
|
14
15
|
* JSX treats a bare, lowercase-initial element name as a host element
|
|
15
16
|
* (`div`, `svg`, `web-button`) — it never names a binding, so it is not an
|
|
@@ -17,13 +18,17 @@ import { buildComponentRegistry, excludeFoldedHolders, entryKey } from "./regist
|
|
|
17
18
|
* is a component reference and IS reported when unbound (#518 D7).
|
|
18
19
|
*/
|
|
19
20
|
function isHostElementRoot(ref) {
|
|
20
|
-
return ref.memberChain.length === 0 &&
|
|
21
|
+
return ref.memberChain.length === 0 && isHostElementName(ref.symbol);
|
|
21
22
|
}
|
|
22
23
|
export function resolve(graph, opts) {
|
|
23
24
|
const occurrences = [];
|
|
24
25
|
const argMap = createArgumentMap();
|
|
25
|
-
|
|
26
|
+
// The registry is the one judge of component-ness (#559): owner
|
|
27
|
+
// classification asks it (through the host-element narrowing, so a
|
|
28
|
+
// lowercase member is a helper for ownership while the base registry still
|
|
29
|
+
// gates the argument-site holder loop below).
|
|
26
30
|
const registry = buildComponentRegistry(graph);
|
|
31
|
+
const helperIndex = buildHelperCallers(graph, excludeHostElementNames(registry, graph));
|
|
27
32
|
// THE admission rule (spec D1/D12, ruling 14: shape-only). A local
|
|
28
33
|
// react-component identity must be component-shaped; consumption is the
|
|
29
34
|
// usage itself (a JSX usage that resolves to a local declaration IS that
|
|
@@ -431,6 +436,43 @@ export function resolve(graph, opts) {
|
|
|
431
436
|
compactSlice(lengthBefore);
|
|
432
437
|
}
|
|
433
438
|
}
|
|
439
|
+
// Hook argument seeding (#561). A component passed to a hook call inside a
|
|
440
|
+
// top-level function body (`const [modal] = useModalTwoStatic(Modal)`) is
|
|
441
|
+
// used at that site: a hook's product is a value the caller interpolates,
|
|
442
|
+
// never a tag, so no render site will ever pay for the argument and R1's
|
|
443
|
+
// "the fold credited it already" reasoning does not apply. Same R2/R3
|
|
444
|
+
// argument rules and the same push seam as the holder loop; the owner is
|
|
445
|
+
// the enclosing declaration through `resolveOwnerChain`, so a helper hook
|
|
446
|
+
// fans the seed out to each caller with a `helper-call` hop. A hook is
|
|
447
|
+
// named by `HOOK_NAME`, React's own `isHookName` predicate (rules-of-hooks
|
|
448
|
+
// and the compiler) — there is no structural signal for "hook".
|
|
449
|
+
for (const [filePath, fileGraph] of graph.files) {
|
|
450
|
+
if (fileGraph.dialect === "vue")
|
|
451
|
+
continue;
|
|
452
|
+
for (const bodyCall of fileGraph.bodyCalls) {
|
|
453
|
+
if (!HOOK_NAME.test(bodyCall.callee.symbol) || bodyCall.args.length === 0)
|
|
454
|
+
continue;
|
|
455
|
+
const call = {
|
|
456
|
+
kind: "ReturnTypeOf",
|
|
457
|
+
callee: { kind: "TypeOf", ref: bodyCall.callee },
|
|
458
|
+
args: bodyCall.args,
|
|
459
|
+
};
|
|
460
|
+
const ownerRef = {
|
|
461
|
+
symbol: bodyCall.ownerSymbol,
|
|
462
|
+
scope: MODULE_SCOPE,
|
|
463
|
+
memberChain: [],
|
|
464
|
+
loc: { line: 0, column: 0 },
|
|
465
|
+
originFile: filePath,
|
|
466
|
+
};
|
|
467
|
+
const owners = () => resolveOwnerChain(ownerRef, graph, helperIndex, createCycleGuard()).map((res) => ({
|
|
468
|
+
rawOwnerComponentId: ownerIdFromResolution(graph, res.ownerDecl),
|
|
469
|
+
viaPrefix: res.viaPrefix,
|
|
470
|
+
}));
|
|
471
|
+
const lengthBefore = occurrences.length;
|
|
472
|
+
pushCallArgumentOccurrences(occurrences, filePath, call, owners, graph, fileGraph, argMap, opts);
|
|
473
|
+
compactSlice(lengthBefore);
|
|
474
|
+
}
|
|
475
|
+
}
|
|
434
476
|
// Pass 2: resolve `parentRef` from per-file `parentUsageIdx` ownership data.
|
|
435
477
|
// Pass 1 populated the `composition` sidecar with `(fileUsageIdx, kind)` per
|
|
436
478
|
// emitted occurrence, which lets us build a `(filePath, kind, fileUsageIdx)
|
|
@@ -455,7 +497,7 @@ export function resolve(graph, opts) {
|
|
|
455
497
|
if (parentIdx !== undefined)
|
|
456
498
|
occ.parentRef = parentIdx;
|
|
457
499
|
}
|
|
458
|
-
return { occurrences, registry: excludeFoldedHolders(registry, folded) };
|
|
500
|
+
return { occurrences, registry: excludeHostElementNames(excludeFoldedHolders(registry, folded), graph) };
|
|
459
501
|
}
|
|
460
502
|
/**
|
|
461
503
|
* Build a local-scope ComponentId for a symbol declared in `filePath`.
|
|
@@ -874,15 +916,42 @@ function pushArgumentSiteOccurrences(occurrences, filePath, holder, call, holder
|
|
|
874
916
|
loc: holder.loc,
|
|
875
917
|
originFile: filePath,
|
|
876
918
|
};
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
//
|
|
880
|
-
//
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
919
|
+
// #540: the holder still seeds (its argument is a real usage), but a
|
|
920
|
+
// declaration that can never be rendered under any of its names is not a
|
|
921
|
+
// component and cannot own — the phantom-owner rule the registry gate
|
|
922
|
+
// above encodes, applied to the one owner this loop builds directly.
|
|
923
|
+
const rawOwnerComponentId = hasOnlyHostElementNames(holder.symbol, fileGraph)
|
|
924
|
+
? undefined
|
|
925
|
+
: ownerIdFromRef(graph, holderRef, filePath);
|
|
926
|
+
pushCallArgumentOccurrences(occurrences, filePath, call, () => [{ rawOwnerComponentId, viaPrefix: [] }], graph, fileGraph, argMap, opts);
|
|
927
|
+
}
|
|
928
|
+
/** React's own hook predicate (`isHookName` in rules-of-hooks and the compiler). */
|
|
929
|
+
const HOOK_NAME = /^use[A-Z0-9]/;
|
|
930
|
+
/**
|
|
931
|
+
* THE argument-site push seam: one `passed-as-argument` occurrence per
|
|
932
|
+
* (identifier argument that resolves to a component) × (owner). The
|
|
933
|
+
* module-scope holder loop and the hook loop in `resolve` both call it;
|
|
934
|
+
* neither re-derives the argument rules or the push.
|
|
935
|
+
*
|
|
936
|
+
* R2: the outermost call's arguments only — an inner call's arguments
|
|
937
|
+
* configure the wrapper, they are not wrapped. R3: identifier arguments
|
|
938
|
+
* only, each resolved through the walker so aliases, re-exports and
|
|
939
|
+
* import-backed leaves take the same path a render site does; a null
|
|
940
|
+
* identity is skipped, never invented. R4 (#561): an identifier that is a
|
|
941
|
+
* host-element name (`useSelector(pick, shallowEqual)`) can never be
|
|
942
|
+
* rendered as a component, whatever it resolves to — an external leaf has
|
|
943
|
+
* no shape to check and would otherwise synthesise a component out of any
|
|
944
|
+
* import; the same predicate the held-reference seam and #540 apply.
|
|
945
|
+
*
|
|
946
|
+
* `owners` is resolved on the first push and reused: most hook calls
|
|
947
|
+
* (`useState(x)`, `useEffect(fn, deps)`) never reach a push, and resolving
|
|
948
|
+
* the owner chain for each of them measured as roughly half of the hook
|
|
949
|
+
* loop's cost on WebClients (#561 PR body, scan time).
|
|
950
|
+
*/
|
|
951
|
+
function pushCallArgumentOccurrences(occurrences, filePath, call, owners, graph, fileGraph, argMap, opts) {
|
|
952
|
+
let resolvedOwners;
|
|
884
953
|
call.args.forEach((arg, index) => {
|
|
885
|
-
if (arg.kind !== "TypeOf")
|
|
954
|
+
if (arg.kind !== "TypeOf" || isHostElementName(arg.ref.symbol))
|
|
886
955
|
return;
|
|
887
956
|
const outerVia = { kind: "passed-as-argument", index, ...argumentProvenance(call, arg, fileGraph) };
|
|
888
957
|
const argDecl = findLocalDeclaration(fileGraph, arg.ref);
|
|
@@ -898,22 +967,26 @@ function pushArgumentSiteOccurrences(occurrences, filePath, holder, call, holder
|
|
|
898
967
|
resolveExternalLeaf: opts?.resolveExternalLeaf,
|
|
899
968
|
});
|
|
900
969
|
const wraps = computeWraps(rawComponentId, opts?.wrapCallback);
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
filePath,
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
970
|
+
resolvedOwners ??= owners();
|
|
971
|
+
for (const { rawOwnerComponentId, viaPrefix } of resolvedOwners) {
|
|
972
|
+
const viaChain = [...viaPrefix, outerVia, ...ft.viaTrail];
|
|
973
|
+
const occurrenceId = computeOccurrenceId(serialiseComponentId(rawComponentId), filePath, arg.ref.loc.line, arg.ref.loc.column, rawOwnerComponentId !== undefined ? serialiseComponentId(rawOwnerComponentId) : undefined);
|
|
974
|
+
occurrences.push({
|
|
975
|
+
rawComponentId,
|
|
976
|
+
filePath,
|
|
977
|
+
line: arg.ref.loc.line,
|
|
978
|
+
column: arg.ref.loc.column,
|
|
979
|
+
via: viaChain[0] ?? outerVia,
|
|
980
|
+
viaChain,
|
|
981
|
+
props: {},
|
|
982
|
+
events: [],
|
|
983
|
+
occurrenceId,
|
|
984
|
+
depth: 0,
|
|
985
|
+
...(argDecl !== null ? { definition: { line: argDecl.loc.line, column: argDecl.loc.column } } : {}),
|
|
986
|
+
...(rawOwnerComponentId !== undefined ? { rawOwnerComponentId } : {}),
|
|
987
|
+
...(wraps !== undefined ? { wraps } : {}),
|
|
988
|
+
});
|
|
989
|
+
}
|
|
917
990
|
}
|
|
918
991
|
});
|
|
919
992
|
}
|
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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"}
|
|
@@ -4,10 +4,14 @@ import type { Graph } from "../index.js";
|
|
|
4
4
|
* into this set, never a walk terminus. A declaration is a member iff it is
|
|
5
5
|
* admitted-shaped (`isAdmittedShape`, below — `evalKind === "component"`, OR
|
|
6
6
|
* ruling 15's component-namespace widening) AND consumed: exported,
|
|
7
|
-
* referenced by a JSX usage
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
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.
|
|
11
15
|
*
|
|
12
16
|
* Consumption is the gate that keeps `renderIcon()` helpers, render-less
|
|
13
17
|
* classes and other component-shaped-but-inert declarations out of the
|
|
@@ -72,3 +76,25 @@ export declare function buildComponentRegistry(graph: Graph): ComponentRegistry;
|
|
|
72
76
|
* `hasLocal` from `localEntries()`, so this is the semantics it always saw.
|
|
73
77
|
*/
|
|
74
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;
|
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 — #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
|
+
}
|
|
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();
|
|
@@ -145,16 +163,35 @@ 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 (#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);
|
|
158
195
|
}
|
|
159
196
|
/**
|
|
160
197
|
* Ruling 15: a declaration is an admitted shape iff `evalKind === "component"`
|
|
@@ -190,27 +227,6 @@ 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
232
|
* engine's own scope walk (I4 — `findLocalDeclaration`, shared with
|
|
@@ -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":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export type { FoldedTerminal, TerminalIdentity } from "./engine/wrapper-folding.
|
|
|
12
12
|
export { resolve } from "./engine/index.js";
|
|
13
13
|
export type { ResolvedGraph, EngineOccurrence, ResolveOpts, TagResolverIndex, } from "./engine/index.js";
|
|
14
14
|
export { evalKind, isComponentShaped } from "./engine/component-shape.js";
|
|
15
|
+
export { isHostElementName } from "./engine/host-element.js";
|
|
15
16
|
export type { ValueKind } from "./engine/component-shape.js";
|
|
16
17
|
export { classifyDeclaration, buildHelperCallers, resolveRefToDecl } from "./engine/helper-callers.js";
|
|
17
18
|
export type { Classification, HelperCallerIndex, ClassifiedHelperIndex } from "./engine/helper-callers.js";
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export { createArgumentMap } from "./engine/argument-map.js";
|
|
|
7
7
|
export { walkWithFolding, deriveIdentity } from "./engine/wrapper-folding.js";
|
|
8
8
|
export { resolve } from "./engine/index.js";
|
|
9
9
|
export { evalKind, isComponentShaped } from "./engine/component-shape.js";
|
|
10
|
+
export { isHostElementName } from "./engine/host-element.js";
|
|
10
11
|
export { classifyDeclaration, buildHelperCallers, resolveRefToDecl } from "./engine/helper-callers.js";
|
|
11
12
|
export { buildComponentRegistry } from "./engine/registry.js";
|
|
12
13
|
export { resolveOwnerChain } from "./engine/owner-resolution.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,+DAA+D;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAepD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQ5C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,+DAA+D;AAG/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAepD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQ5C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -143,11 +143,32 @@ export type FileGraph = {
|
|
|
143
143
|
* body (not nested arrow/function expressions). Identifier callees only —
|
|
144
144
|
* member expressions (`a.b()`) and complex callees are skipped. Parsers
|
|
145
145
|
* other than parser-react may emit an empty array; that's fine.
|
|
146
|
+
*
|
|
147
|
+
* `args` is the call's argument list by position: an identifier argument
|
|
148
|
+
* is a `TypeOf` reference in the enclosing function's scope (so a
|
|
149
|
+
* body-local declaration shadowing a module-scope name resolves to the
|
|
150
|
+
* local), anything else is `Unknown`. The engine's hook argument seeding
|
|
151
|
+
* (#561) reads it; `buildHelperCallers` ignores it.
|
|
146
152
|
*/
|
|
147
153
|
bodyCalls: Array<{
|
|
148
154
|
ownerSymbol: string;
|
|
149
155
|
callee: Reference;
|
|
156
|
+
args: InferredType[];
|
|
150
157
|
}>;
|
|
158
|
+
/** Identifiers read in VALUE position — a call argument, an object property
|
|
159
|
+
* value, an array element, an assignment right-hand side, a return value,
|
|
160
|
+
* a JSX attribute or child expression. Holding a declaration is using it:
|
|
161
|
+
* the component registry (engine/registry.ts) treats every held reference
|
|
162
|
+
* as consumption, beside exports and JSX usages, so a component the code
|
|
163
|
+
* names anywhere gets its row even when nothing renders it directly.
|
|
164
|
+
*
|
|
165
|
+
* Not a callee, not a member-access object or property, not a declaration
|
|
166
|
+
* name, pattern, property key, import/export specifier or JSX tag name.
|
|
167
|
+
* The parser records only names React could render as a component
|
|
168
|
+
* (`isHostElementName` rejects the rest). A held reference carries no via,
|
|
169
|
+
* owner or identity — it is never an occurrence. Parsers other than
|
|
170
|
+
* parser-react may emit an empty array. */
|
|
171
|
+
heldRefs: Reference[];
|
|
151
172
|
};
|
|
152
173
|
export type Graph = {
|
|
153
174
|
files: Map<string, FileGraph>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@component-compass/reference-graph",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"description": "Project-wide reference graph + cross-module resolution engine for component-compass parsers.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"clean": "rm -rf dist .turbo"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@component-compass/plugin-core": "0.1.
|
|
27
|
+
"@component-compass/plugin-core": "0.1.19"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "24.12.2",
|