phantom-build 0.1.0 → 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/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Phantom is a build plugin that analyzes your React code, extracts event handlers into lazy-loaded chunks, and wraps below-fold components in `React.lazy` + `Suspense` — all automatically, with zero config changes to your components.
6
6
 
7
- ```
7
+ ```bash
8
8
  npm install phantom-build
9
9
  ```
10
10
 
@@ -198,9 +198,59 @@ phantom({
198
198
 
199
199
  // Cerebras model ID. Default: "qwen-3-32b"
200
200
  cerebrasModel: 'qwen-3-32b',
201
+
202
+ // SSR mode: skip all transforms for server builds. Default: false
203
+ ssr: false,
201
204
  })
202
205
  ```
203
206
 
207
+ ### SSR (Server-Side Rendering)
208
+
209
+ Phantom supports custom SSR setups where you run separate client and server builds. `React.lazy()` throws when used with `renderToString()`, so the server bundle needs original code with synchronous imports.
210
+
211
+ **The solution:** run Phantom with `ssr: true` for your server build. This makes the plugin a complete no-op — your server bundle gets untouched source code.
212
+
213
+ #### Vite
214
+
215
+ ```ts
216
+ // vite.config.server.ts
217
+ import phantom from 'phantom-build/vite';
218
+
219
+ export default defineConfig({
220
+ plugins: [
221
+ phantom({ ssr: true }),
222
+ react(),
223
+ ],
224
+ });
225
+ ```
226
+
227
+ #### Webpack
228
+
229
+ ```js
230
+ // webpack.config.server.js
231
+ import phantom from 'phantom-build/webpack';
232
+
233
+ export default {
234
+ target: 'node',
235
+ plugins: [
236
+ phantom({ ssr: true }),
237
+ ],
238
+ };
239
+ ```
240
+
241
+ #### Typical Setup
242
+
243
+ Most custom SSR setups (e.g., .NET + React, Express + React) use two bundler configs:
244
+
245
+ ```
246
+ webpack.config.client.js → phantom() // full transforms
247
+ webpack.config.server.js → phantom({ ssr: true }) // no-op
248
+ ```
249
+
250
+ The client build produces lazy-loaded handler chunks and `React.lazy` wrappers. The server build produces a synchronous bundle for `renderToString()` with all components inline.
251
+
252
+ **Why not strip just `React.lazy`?** Selectively removing lazy transforms while keeping handler extraction would still inject `__phantom_lazy` runtime imports and dynamic `import()` calls into the server bundle. A clean no-op is simpler, produces the smallest server bundle, and avoids any SSR-incompatible code paths.
253
+
204
254
  ### LLM-Assisted Optimization
205
255
 
206
256
  Phantom's heuristics handle ~80% of cases correctly. For the remaining 20% that require judgment (grouping related components, choosing prefetch strategies for ambiguous cases), you can enable LLM refinement:
@@ -372,6 +422,7 @@ The generated `lazy()` calls will target the actual component modules (`./compon
372
422
  - Node.js >= 18
373
423
  - React 16.6+ (for `React.lazy` and `Suspense`)
374
424
  - Vite or Webpack
425
+ - For SSR: any custom server setup (Express, .NET, etc.) — not framework-specific
375
426
 
376
427
  ## License
377
428
 
@@ -1,4 +1,13 @@
1
- import type { AnalyzedModule, ClassifiedSegment } from '../types.js';
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":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAC;AAMzF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,GACjB,iBAAiB,EAAE,CAgDrB;AA8RD,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"}
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"}
@@ -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":"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"}
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"}