phantom-build 0.2.1 → 0.4.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.
Files changed (39) hide show
  1. package/README.md +63 -10
  2. package/dist/analyzer.d.ts.map +1 -1
  3. package/dist/analyzer.js +3 -1
  4. package/dist/analyzer.js.map +1 -1
  5. package/dist/classify/lazy.d.ts.map +1 -1
  6. package/dist/classify/lazy.js +13 -16
  7. package/dist/classify/lazy.js.map +1 -1
  8. package/dist/cli.js +24 -9
  9. package/dist/cli.js.map +1 -1
  10. package/dist/extract/chunk-module.d.ts +21 -0
  11. package/dist/extract/chunk-module.d.ts.map +1 -1
  12. package/dist/extract/chunk-module.js +60 -45
  13. package/dist/extract/chunk-module.js.map +1 -1
  14. package/dist/extract/client-stub.d.ts +5 -5
  15. package/dist/extract/client-stub.d.ts.map +1 -1
  16. package/dist/extract/client-stub.js +17 -32
  17. package/dist/extract/client-stub.js.map +1 -1
  18. package/dist/extract/grouped-chunk-module.d.ts +35 -0
  19. package/dist/extract/grouped-chunk-module.d.ts.map +1 -0
  20. package/dist/extract/grouped-chunk-module.js +94 -0
  21. package/dist/extract/grouped-chunk-module.js.map +1 -0
  22. package/dist/extract/index.d.ts +7 -1
  23. package/dist/extract/index.d.ts.map +1 -1
  24. package/dist/extract/index.js +49 -15
  25. package/dist/extract/index.js.map +1 -1
  26. package/dist/plugin.d.ts.map +1 -1
  27. package/dist/plugin.js +129 -16
  28. package/dist/plugin.js.map +1 -1
  29. package/dist/rspack.d.ts +3 -0
  30. package/dist/rspack.d.ts.map +1 -0
  31. package/dist/rspack.js +3 -0
  32. package/dist/rspack.js.map +1 -0
  33. package/dist/runtime/index.d.ts +1 -1
  34. package/dist/runtime/index.d.ts.map +1 -1
  35. package/dist/runtime/index.js +1 -1
  36. package/dist/runtime/index.js.map +1 -1
  37. package/dist/types.d.ts +15 -1
  38. package/dist/types.d.ts.map +1 -1
  39. package/package.json +6 -1
package/README.md CHANGED
@@ -169,12 +169,11 @@ export default function CheckoutPage({ order, user }) {
169
169
  **What stays static (not lazified):**
170
170
  - Components above the fold (positions 0-1 in the JSX tree)
171
171
  - Context providers (must hydrate before consumers)
172
- - Components with no meaningful JS cost (pure display, no handlers/effects/state)
172
+ - Tiny components (source files under 512 bytes stub overhead would exceed savings)
173
173
 
174
174
  **What gets lazified:**
175
- - Components below the fold (position 2+)
175
+ - Components below the fold (position 2+) with meaningful source size
176
176
  - Conditionally rendered components (`{flag && <Component />}`)
177
- - Components with handlers, effects, or state (worth deferring)
178
177
 
179
178
  ## Configuration
180
179
 
@@ -184,9 +183,18 @@ phantom({
184
183
  // Lower = more aggressive extraction. Default: 0.8
185
184
  confidenceThreshold: 0.8,
186
185
 
186
+ // Minimum handler body size in bytes to extract. Default: 200
187
+ // Handlers smaller than this are left inline (stub would be bigger).
188
+ minHandlerSize: 200,
189
+
187
190
  // Enable/disable lazy component wrapping. Default: true
188
191
  enableLazy: true,
189
192
 
193
+ // Preload strategy for handler chunks. Default: 'none'
194
+ // 'idle' injects requestIdleCallback modulepreload for all chunks.
195
+ // 'none' loads chunks on-demand only (best for Lighthouse scores).
196
+ preloadStrategy: 'none',
197
+
190
198
  // Output path for the build manifest. Default: "phantom.manifest.json"
191
199
  manifestPath: 'phantom.manifest.json',
192
200
 
@@ -249,7 +257,7 @@ webpack.config.server.js → phantom({ ssr: true }) // no-op
249
257
 
250
258
  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
259
 
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.
260
+ **Why not strip just `React.lazy`?** Selectively removing lazy transforms while keeping handler extraction would still inject `$p` 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
261
 
254
262
  ### LLM-Assisted Optimization
255
263
 
@@ -312,8 +320,9 @@ Phantom Analysis: src/components/CheckoutPage.tsx
312
320
  phantom analyze <file> [options]
313
321
 
314
322
  Options:
315
- --threshold <number> Confidence threshold for extraction (default: 0.8)
316
- --help, -h Show this help message
323
+ --threshold <number> Confidence threshold for extraction (default: 0.8)
324
+ --min-handler-size <number> Min handler bytes to extract (default: 200)
325
+ --help, -h Show this help message
317
326
  ```
318
327
 
319
328
  ## Build Manifest
@@ -377,7 +386,7 @@ Phantom processes each module through a 5-phase pipeline:
377
386
 
378
387
  ## How the Runtime Works
379
388
 
380
- The `phantom-build/runtime` module provides `__phantom_lazy`, which:
389
+ The `phantom-build/runtime` module provides `$p` (the lazy handler loader), which:
381
390
 
382
391
  1. On first invocation, dynamically imports the handler chunk
383
392
  2. Caches the loaded function for instant subsequent calls
@@ -385,13 +394,12 @@ The `phantom-build/runtime` module provides `__phantom_lazy`, which:
385
394
  4. Cleans up on failure so retries work
386
395
 
387
396
  ```ts
388
- import { __phantom_lazy } from 'phantom-build/runtime';
397
+ import { $p } from 'phantom-build/runtime';
389
398
 
390
399
  // Generated stub (you never write this — Phantom does):
391
400
  const handleClick = (e) => {
392
401
  e.preventDefault(); // synchronous — runs immediately
393
- e.persist?.(); // React <17 compat
394
- __phantom_lazy(
402
+ $p(
395
403
  () => import('phantom:seg_abc123.chunk.js'),
396
404
  'seg_abc123',
397
405
  e, // forwarded args
@@ -417,6 +425,51 @@ import { PaymentForm, AddressForm } from './components';
417
425
 
418
426
  The generated `lazy()` calls will target the actual component modules (`./components/PaymentForm`), not the barrel file — producing optimal chunk splitting.
419
427
 
428
+ ## Benchmarks
429
+
430
+ Tested against [shadcn-admin](https://github.com/satnaing/shadcn-admin) (11k+ stars) — a production-grade admin dashboard built with React 19, Vite 6, TanStack Router, and Shadcn UI.
431
+
432
+ ### Route-Level JS Reduction
433
+
434
+ Phantom reduces the JavaScript that loads when navigating to each page. Shared dependencies (React, Radix, etc.) are identical between builds — only route-specific code changes.
435
+
436
+ | Route | Baseline | Phantom | Reduction |
437
+ |---|---|---|---|
438
+ | Main layout (`_authenticated`) | 336 KB | 10.7 KB | **−97%** |
439
+ | Settings → Account | 52.9 KB | 1.1 KB | **−98%** |
440
+ | Auth → OTP | 12.6 KB | 1.2 KB | **−90%** |
441
+ | Settings → Notifications | 7.1 KB | 1.0 KB | **−86%** |
442
+ | Settings → Appearance | 4.3 KB | 1.0 KB | **−75%** |
443
+ | **Total (29 routes)** | **480 KB** | **77.5 KB** | **−84%** |
444
+
445
+ 57 interaction handlers (modals, dialogs, dropdowns) are deferred to on-demand chunks totaling 5.3 KB. These load only when the user actually clicks.
446
+
447
+ ### Lighthouse (Simulated Slow 4G + 4× CPU Throttling)
448
+
449
+ | Metric | Baseline | Phantom | Change |
450
+ |---|---|---|---|
451
+ | Performance Score | 80 | 80 | **0** |
452
+ | Total Blocking Time | 63 ms | 4 ms | **−94%** |
453
+ | First Contentful Paint | 3.19 s | 3.18 s | — |
454
+ | Largest Contentful Paint | 4.16 s | 4.11 s | −1% |
455
+ | Total Byte Weight | 479 KB | 478 KB | — |
456
+
457
+ Total Blocking Time measures how long the main thread is locked and unable to respond to user input. Phantom reduces it by 94% because route chunks contain far less JavaScript to parse and compile — with zero regression in performance score or byte weight.
458
+
459
+ ### Reproduce
460
+
461
+ ```bash
462
+ # Clone the repo and install
463
+ git clone https://github.com/Phoenixrr2113/phantom.git
464
+ cd phantom && npm install && npm run build
465
+
466
+ # Route chunk comparison
467
+ node benchmarks/compare-routes.mjs
468
+
469
+ # Lighthouse A/B comparison
470
+ node benchmarks/lighthouse-compare.mjs --runs=5
471
+ ```
472
+
420
473
  ## Requirements
421
474
 
422
475
  - Node.js >= 18
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAId,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAYpB;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAyCtE;AAsQD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,cAAc,CAkDhB"}
1
+ {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAId,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAYpB;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAyCtE;AAsQD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,cAAc,CAoDhB"}
package/dist/analyzer.js CHANGED
@@ -306,7 +306,8 @@ export function analyzeModule(code, path, _options) {
306
306
  }
307
307
  // Phase 4: extraction (handler chunks + lazy transforms)
308
308
  const confidenceThreshold = _options?.confidenceThreshold ?? 0.8;
309
- const extracted = extractModule(parsed, segments, code, confidenceThreshold, path, lazyCandidates);
309
+ const minHandlerSize = _options?.minHandlerSize ?? 200;
310
+ const extracted = extractModule(parsed, segments, code, confidenceThreshold, path, lazyCandidates, minHandlerSize);
310
311
  if (extracted) {
311
312
  return {
312
313
  path,
@@ -315,6 +316,7 @@ export function analyzeModule(code, path, _options) {
315
316
  clientCode: extracted.clientCode,
316
317
  clientMap: extracted.clientMap,
317
318
  chunkModules: extracted.chunkModules,
319
+ extractedSegmentIds: extracted.extractedSegmentIds,
318
320
  lazyCandidates,
319
321
  lazyKeptStatic,
320
322
  };
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/classify/lazy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAEjB,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,aAAa,CAAC;AAErB,uFAAuF;AACvF,KAAK,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AAiCtF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACjD,WAAW,CAAC,EAAE,WAAW,GACxB,mBAAmB,CAqGrB"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/classify/lazy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAEjB,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,aAAa,CAAC;AAErB,uFAAuF;AACvF,KAAK,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AAkCtF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACjD,WAAW,CAAC,EAAE,WAAW,GACxB,mBAAmB,CAqGrB"}
@@ -1,12 +1,13 @@
1
1
  import { dirname, relative, resolve } from 'node:path';
2
2
  // ── Constants ───────────────────────────────────────────────────────────
3
3
  /**
4
- * Minimum estimated JS cost (bytes) for a component to be worth lazifying.
5
- * Below this threshold, the Suspense boundary overhead exceeds the savings.
6
- * React.lazy + Suspense adds ~200 bytes of wrapper code plus a loading
7
- * waterfall step not worth it for tiny leaf components.
4
+ * Minimum estimated source size (bytes) for a component to be worth lazifying.
5
+ * Below this threshold, the Suspense boundary overhead (~200 bytes of wrapper
6
+ * code plus a loading waterfall step) exceeds the savings from code-splitting.
7
+ * Source files under 512 bytes are typically tiny leaf components, icons, or
8
+ * re-export wrappers where lazy loading would be counter-productive.
8
9
  */
9
- const MIN_JS_COST_BYTES = 3072; // 3KB
10
+ const MIN_JS_COST_BYTES = 512;
10
11
  /**
11
12
  * JSX position threshold: children at or above this index in a route-level
12
13
  * component's render tree are assumed to be below the initial viewport.
@@ -85,7 +86,7 @@ export function detectLazyCandidates(analyzed, sourceCode, segments, componentPr
85
86
  keepStatic.push({
86
87
  localName: imp.localName,
87
88
  source: imp.source,
88
- reason: `Low JS cost (${profile.estimatedSize}B, no handlers/effects) — Suspense overhead exceeds savings`,
89
+ reason: `Low JS cost (${profile.estimatedSize}B < ${MIN_JS_COST_BYTES}B threshold) — Suspense overhead exceeds savings`,
89
90
  });
90
91
  continue;
91
92
  }
@@ -473,16 +474,12 @@ function buildReason(position, isConditional, strategy, profile) {
473
474
  }
474
475
  // ── Helpers ─────────────────────────────────────────────────────────────
475
476
  function hasSignificantJSCost(profile) {
476
- // A component is worth lazifying if it has meaningful JS to defer
477
- if (profile.estimatedSize >= MIN_JS_COST_BYTES)
478
- return true;
479
- if (profile.handlerCount > 0)
480
- return true;
481
- if (profile.hasEffects)
482
- return true;
483
- if (profile.hasState)
484
- return true;
485
- return false;
477
+ // A component must have substantial JS cost to justify the overhead of
478
+ // a Suspense boundary + dynamic import chunk + loading waterfall step.
479
+ // Handler extraction already moves expensive handler code to on-demand
480
+ // chunks, and effects / state are cheap to keep inline — so we rely on
481
+ // total estimated size as the sole gating signal.
482
+ return profile.estimatedSize >= MIN_JS_COST_BYTES;
486
483
  }
487
484
  function isPascalCase(name) {
488
485
  return /^[A-Z][a-zA-Z0-9]*$/.test(name);
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/classify/lazy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/classify/lazy.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -10,8 +10,9 @@ Usage: phantom analyze <file> [options]
10
10
  Analyze a single file and print segment classification details.
11
11
 
12
12
  Options:
13
- --threshold <number> Confidence threshold for extraction (default: 0.8)
14
- --help, -h Show this help message
13
+ --threshold <number> Confidence threshold for extraction (default: 0.8)
14
+ --min-handler-size <number> Min handler bytes to extract (default: 200)
15
+ --help, -h Show this help message
15
16
  `.trim());
16
17
  }
17
18
  function main() {
@@ -43,6 +44,17 @@ function main() {
43
44
  }
44
45
  threshold = val;
45
46
  }
47
+ // Parse --min-handler-size flag
48
+ let minHandlerSize;
49
+ const minSizeIdx = args.indexOf('--min-handler-size');
50
+ if (minSizeIdx !== -1) {
51
+ const val = parseInt(args[minSizeIdx + 1], 10);
52
+ if (isNaN(val) || val < 0) {
53
+ console.error('Error: --min-handler-size must be a non-negative integer');
54
+ process.exit(1);
55
+ }
56
+ minHandlerSize = val;
57
+ }
46
58
  // Read and analyze the file
47
59
  const absolutePath = resolve(filePath);
48
60
  let code;
@@ -53,7 +65,7 @@ function main() {
53
65
  console.error(`Error: Cannot read file "${absolutePath}"`);
54
66
  process.exit(1);
55
67
  }
56
- const result = analyzeModule(code, absolutePath, { confidenceThreshold: threshold });
68
+ const result = analyzeModule(code, absolutePath, { confidenceThreshold: threshold, minHandlerSize });
57
69
  // ── Output ───────────────────────────────────────────────────────
58
70
  console.log(`\nPhantom Analysis: ${filePath}`);
59
71
  console.log('═'.repeat(60));
@@ -65,7 +77,7 @@ function main() {
65
77
  console.log(`\n ${'Name'.padEnd(30)} ${'Class'.padEnd(20)} ${'Conf'.padEnd(6)} Extracted?`);
66
78
  console.log(` ${'─'.repeat(30)} ${'─'.repeat(20)} ${'─'.repeat(6)} ${'─'.repeat(10)}`);
67
79
  for (const seg of result.segments) {
68
- const extracted = result.chunkModules?.some((m) => m.id === seg.id) ? '✓ yes' : ' no';
80
+ const extracted = result.extractedSegmentIds?.includes(seg.id) ? '✓ yes' : ' no';
69
81
  console.log(` ${seg.name.padEnd(30)} ${seg.classification.padEnd(20)} ${seg.confidence.toFixed(2).padStart(5)} ${extracted}`);
70
82
  if (seg.reasons.length > 0) {
71
83
  for (const reason of seg.reasons) {
@@ -77,11 +89,14 @@ function main() {
77
89
  console.log('');
78
90
  console.log(` Segments: ${result.segments.length}`);
79
91
  console.log(` Threshold: ${threshold}`);
80
- if (result.chunkModules && result.chunkModules.length > 0) {
81
- console.log(` Chunks extracted: ${result.chunkModules.length}`);
82
- for (const mod of result.chunkModules) {
83
- const sizeKb = (Buffer.byteLength(mod.code, 'utf-8') / 1024).toFixed(1);
84
- console.log(` ${mod.id} (${sizeKb} KB)`);
92
+ const extractedCount = result.extractedSegmentIds?.length ?? 0;
93
+ if (extractedCount > 0) {
94
+ console.log(` Chunks extracted: ${extractedCount}`);
95
+ if (result.chunkModules) {
96
+ for (const mod of result.chunkModules) {
97
+ const sizeKb = (Buffer.byteLength(mod.code, 'utf-8') / 1024).toFixed(1);
98
+ console.log(` ${mod.id} (${sizeKb} KB)`);
99
+ }
85
100
  }
86
101
  }
87
102
  else {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,26 @@
1
1
  import type { ClassifiedSegment, ImportInfo, SourceMapLike } from '../types.js';
2
2
  import type { ExtractableNode } from './client-stub.js';
3
+ import type { FunctionDeclaration, ImportDeclaration } from 'estree';
4
+ /**
5
+ * Build an exported FunctionDeclaration AST node for a single handler.
6
+ *
7
+ * This is the core logic shared by both `generateChunkModule()` (single handler
8
+ * per file) and `generateGroupedChunkModule()` (multiple handlers per file).
9
+ *
10
+ * Returns an ExportNamedDeclaration wrapping a FunctionDeclaration with the
11
+ * segment ID as the function name. TypeScript annotations are stripped.
12
+ */
13
+ export declare function buildHandlerExportAST(segment: ClassifiedSegment, astNode: ExtractableNode, capturedParams: string[]): {
14
+ type: 'ExportNamedDeclaration';
15
+ declaration: FunctionDeclaration;
16
+ specifiers: never[];
17
+ source: null;
18
+ attributes: never[];
19
+ };
20
+ /**
21
+ * Build ImportDeclaration AST nodes from an array of ImportInfo.
22
+ */
23
+ export declare function buildImportDeclarations(imports: ImportInfo[]): ImportDeclaration[];
3
24
  /**
4
25
  * Generate a lazy-loaded chunk module that exports the extracted function.
5
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-module.d.ts","sourceRoot":"","sources":["../../src/extract/chunk-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAyFxD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,UAAU,EAAE,EACrB,cAAc,EAAE,MAAM,EAAE,EACxB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,aAAa,CAAA;CAAE,CA0FtC"}
1
+ {"version":3,"file":"chunk-module.d.ts","sourceRoot":"","sources":["../../src/extract/chunk-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,KAAK,EAEV,mBAAmB,EAEnB,iBAAiB,EAMlB,MAAM,QAAQ,CAAC;AA4EhB;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,MAAM,EAAE,GACvB;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC;IAAC,UAAU,EAAE,KAAK,EAAE,CAAC;IAAC,MAAM,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,KAAK,EAAE,CAAA;CAAE,CAsC9H;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,CA6BlF;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,UAAU,EAAE,EACrB,cAAc,EAAE,MAAM,EAAE,EACxB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,aAAa,CAAA;CAAE,CAsBtC"}
@@ -64,53 +64,17 @@ function stripTypeAnnotations(node) {
64
64
  }
65
65
  return node;
66
66
  }
67
- // ── Chunk module generation ─────────────────────────────────────────────
67
+ // ── Handler function AST builder (shared between single and grouped) ────
68
68
  /**
69
- * Generate a lazy-loaded chunk module that exports the extracted function.
70
- *
71
- * Output shape:
69
+ * Build an exported FunctionDeclaration AST node for a single handler.
72
70
  *
73
- * import { someUtil } from './utils';
71
+ * This is the core logic shared by both `generateChunkModule()` (single handler
72
+ * per file) and `generateGroupedChunkModule()` (multiple handlers per file).
74
73
  *
75
- * export function seg_abc123(e) {
76
- * e.preventDefault();
77
- * const form = e.target;
78
- * // ...handler logic
79
- * }
74
+ * Returns an ExportNamedDeclaration wrapping a FunctionDeclaration with the
75
+ * segment ID as the function name. TypeScript annotations are stripped.
80
76
  */
81
- export function generateChunkModule(segment, astNode, imports, capturedParams, sourceFilePath, sourceCode) {
82
- const body = [];
83
- // 1. Import declarations
84
- for (const imp of imports) {
85
- const specifiers = imp.specifiers.map((spec) => {
86
- if (spec.kind === 'default') {
87
- return {
88
- type: 'ImportDefaultSpecifier',
89
- local: { type: 'Identifier', name: spec.local },
90
- };
91
- }
92
- if (spec.kind === 'namespace') {
93
- return {
94
- type: 'ImportNamespaceSpecifier',
95
- local: { type: 'Identifier', name: spec.local },
96
- };
97
- }
98
- return {
99
- type: 'ImportSpecifier',
100
- imported: { type: 'Identifier', name: spec.imported ?? spec.local },
101
- local: { type: 'Identifier', name: spec.local },
102
- };
103
- });
104
- const decl = {
105
- type: 'ImportDeclaration',
106
- specifiers,
107
- source: { type: 'Literal', value: imp.source },
108
- };
109
- body.push(decl);
110
- }
111
- // 2. Exported function with original params + captured params
112
- // Original function params come first, then captured variables from outer scope.
113
- // Strip TypeScript annotations so the generated chunk is valid JavaScript.
77
+ export function buildHandlerExportAST(segment, astNode, capturedParams) {
114
78
  const originalParams = stripTypeAnnotations(structuredClone(astNode.params));
115
79
  const capturedIdentifiers = capturedParams.map((name) => ({
116
80
  type: 'Identifier',
@@ -139,14 +103,65 @@ export function generateChunkModule(segment, astNode, imports, capturedParams, s
139
103
  async: astNode.async ?? false,
140
104
  generator: astNode.generator ?? false,
141
105
  };
142
- const exportDecl = {
106
+ return {
143
107
  type: 'ExportNamedDeclaration',
144
108
  declaration: funcDecl,
145
109
  specifiers: [],
146
110
  source: null,
147
111
  attributes: [],
148
112
  };
149
- body.push(exportDecl);
113
+ }
114
+ /**
115
+ * Build ImportDeclaration AST nodes from an array of ImportInfo.
116
+ */
117
+ export function buildImportDeclarations(imports) {
118
+ return imports.map((imp) => {
119
+ const specifiers = imp.specifiers.map((spec) => {
120
+ if (spec.kind === 'default') {
121
+ return {
122
+ type: 'ImportDefaultSpecifier',
123
+ local: { type: 'Identifier', name: spec.local },
124
+ };
125
+ }
126
+ if (spec.kind === 'namespace') {
127
+ return {
128
+ type: 'ImportNamespaceSpecifier',
129
+ local: { type: 'Identifier', name: spec.local },
130
+ };
131
+ }
132
+ return {
133
+ type: 'ImportSpecifier',
134
+ imported: { type: 'Identifier', name: spec.imported ?? spec.local },
135
+ local: { type: 'Identifier', name: spec.local },
136
+ };
137
+ });
138
+ return {
139
+ type: 'ImportDeclaration',
140
+ specifiers,
141
+ source: { type: 'Literal', value: imp.source },
142
+ };
143
+ });
144
+ }
145
+ // ── Chunk module generation ─────────────────────────────────────────────
146
+ /**
147
+ * Generate a lazy-loaded chunk module that exports the extracted function.
148
+ *
149
+ * Output shape:
150
+ *
151
+ * import { someUtil } from './utils';
152
+ *
153
+ * export function seg_abc123(e) {
154
+ * e.preventDefault();
155
+ * const form = e.target;
156
+ * // ...handler logic
157
+ * }
158
+ */
159
+ export function generateChunkModule(segment, astNode, imports, capturedParams, sourceFilePath, sourceCode) {
160
+ const body = [];
161
+ // 1. Import declarations
162
+ body.push(...buildImportDeclarations(imports));
163
+ // 2. Exported function
164
+ body.push(buildHandlerExportAST(segment, astNode, capturedParams));
150
165
  // 3. Generate code with esrap
151
166
  const program = {
152
167
  type: 'Program',