phantom-build 0.1.1 → 0.2.0
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/classify/index.d.ts +21 -1
- package/dist/classify/index.d.ts.map +1 -1
- package/dist/classify/index.js +19 -4
- package/dist/classify/index.js.map +1 -1
- package/dist/classify/ssr-boundary.d.ts +11 -0
- package/dist/classify/ssr-boundary.d.ts.map +1 -0
- package/dist/classify/ssr-boundary.js +760 -0
- package/dist/classify/ssr-boundary.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +96 -3
- package/dist/plugin.js.map +1 -1
- package/dist/types.d.ts +40 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/classify/index.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Node } from 'estree';
|
|
2
|
+
import type { AnalyzedModule, ClassifiedSegment, FunctionDependency } from '../types.js';
|
|
3
|
+
import { type TaintResult } from './taint.js';
|
|
4
|
+
/** Intermediate classification results for downstream consumers (e.g., SSR boundary detection) */
|
|
5
|
+
export interface ClassificationContext {
|
|
6
|
+
segments: ClassifiedSegment[];
|
|
7
|
+
taintResults: Map<FunctionDependency, TaintResult>;
|
|
8
|
+
hookContexts: Map<FunctionDependency, string>;
|
|
9
|
+
eventHandlerContexts: Map<FunctionDependency, string>;
|
|
10
|
+
}
|
|
2
11
|
/**
|
|
3
12
|
* Run the full 3-pass classification on an analyzed module.
|
|
4
13
|
*
|
|
@@ -7,8 +16,19 @@ import type { AnalyzedModule, ClassifiedSegment } from '../types.js';
|
|
|
7
16
|
* Pass 3: Boundary detection — classify and identify extraction candidates
|
|
8
17
|
*/
|
|
9
18
|
export declare function classifyModule(analyzed: AnalyzedModule, sourceCode: string): ClassifiedSegment[];
|
|
19
|
+
/**
|
|
20
|
+
* Run classification and return intermediate results for SSR analysis.
|
|
21
|
+
* The SSR boundary detector needs taintResults, hookContexts, and
|
|
22
|
+
* eventHandlerContexts to avoid redundant AST walks.
|
|
23
|
+
*/
|
|
24
|
+
export declare function classifyModuleWithContext(analyzed: AnalyzedModule, sourceCode: string): ClassificationContext;
|
|
25
|
+
/**
|
|
26
|
+
* Simple recursive AST walker.
|
|
27
|
+
*/
|
|
28
|
+
export declare function walkNode(node: unknown, callback: (node: Node) => void): void;
|
|
10
29
|
export { analyzeTaint, type TaintResult } from './taint.js';
|
|
11
30
|
export { analyzePurity, type PurityResult } from './purity.js';
|
|
12
31
|
export { classifySegment } from './boundary.js';
|
|
13
32
|
export { detectLazyCandidates } from './lazy.js';
|
|
33
|
+
export { classifyModuleSSR } from './ssr-boundary.js';
|
|
14
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classify/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classify/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA8B,MAAM,QAAQ,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAgC,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAK5E,kGAAkG;AAClG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,YAAY,EAAE,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IACnD,YAAY,EAAE,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9C,oBAAoB,EAAE,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;CACvD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,GACjB,iBAAiB,EAAE,CAErB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,GACjB,qBAAqB,CAuDvB;AAsQD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI,CAmB5E;AAED,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/classify/index.js
CHANGED
|
@@ -10,9 +10,23 @@ import { EXTRACTABLE_HOOKS, CLIENT_ONLY_HOOKS, EVENT_HANDLER_PROPS } from './rea
|
|
|
10
10
|
* Pass 3: Boundary detection — classify and identify extraction candidates
|
|
11
11
|
*/
|
|
12
12
|
export function classifyModule(analyzed, sourceCode) {
|
|
13
|
+
return classifyModuleWithContext(analyzed, sourceCode).segments;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Run classification and return intermediate results for SSR analysis.
|
|
17
|
+
* The SSR boundary detector needs taintResults, hookContexts, and
|
|
18
|
+
* eventHandlerContexts to avoid redundant AST walks.
|
|
19
|
+
*/
|
|
20
|
+
export function classifyModuleWithContext(analyzed, sourceCode) {
|
|
13
21
|
const { functions } = analyzed;
|
|
14
|
-
if (functions.length === 0)
|
|
15
|
-
return
|
|
22
|
+
if (functions.length === 0) {
|
|
23
|
+
return {
|
|
24
|
+
segments: [],
|
|
25
|
+
taintResults: new Map(),
|
|
26
|
+
hookContexts: new Map(),
|
|
27
|
+
eventHandlerContexts: new Map(),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
16
30
|
// Pass 1: Taint analysis
|
|
17
31
|
const taintResults = new Map();
|
|
18
32
|
for (const fn of functions) {
|
|
@@ -48,7 +62,7 @@ export function classifyModule(analyzed, sourceCode) {
|
|
|
48
62
|
});
|
|
49
63
|
segments.push(segment);
|
|
50
64
|
}
|
|
51
|
-
return segments;
|
|
65
|
+
return { segments, taintResults, hookContexts, eventHandlerContexts };
|
|
52
66
|
}
|
|
53
67
|
/**
|
|
54
68
|
* Build a map from span key to AST node for all function nodes.
|
|
@@ -268,7 +282,7 @@ function detectEventHandlerContexts(analyzed) {
|
|
|
268
282
|
/**
|
|
269
283
|
* Simple recursive AST walker.
|
|
270
284
|
*/
|
|
271
|
-
function walkNode(node, callback) {
|
|
285
|
+
export function walkNode(node, callback) {
|
|
272
286
|
if (!node || typeof node !== 'object')
|
|
273
287
|
return;
|
|
274
288
|
if (Array.isArray(node)) {
|
|
@@ -291,4 +305,5 @@ export { analyzeTaint } from './taint.js';
|
|
|
291
305
|
export { analyzePurity } from './purity.js';
|
|
292
306
|
export { classifySegment } from './boundary.js';
|
|
293
307
|
export { detectLazyCandidates } from './lazy.js';
|
|
308
|
+
export { classifyModuleSSR } from './ssr-boundary.js';
|
|
294
309
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classify/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classify/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AnalyzedModule, SSRModuleResult } from '../types.js';
|
|
2
|
+
import type { ClassificationContext } from './index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Classify all components in a module for SSR safety.
|
|
5
|
+
*
|
|
6
|
+
* Uses intermediate results from the classification pipeline to avoid
|
|
7
|
+
* redundant AST walks. The classification context provides taint results,
|
|
8
|
+
* hook contexts, and event handler contexts already computed.
|
|
9
|
+
*/
|
|
10
|
+
export declare function classifyModuleSSR(analyzed: AnalyzedModule, sourceCode: string, context: ClassificationContext): SSRModuleResult;
|
|
11
|
+
//# sourceMappingURL=ssr-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssr-boundary.d.ts","sourceRoot":"","sources":["../../src/classify/ssr-boundary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EAId,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAwBxD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,qBAAqB,GAC7B,eAAe,CAkCjB"}
|