Skip to content

Commit 3915065

Browse files
build(runtime): add esbuild-based build script for dist output
- Bundle boot.ts as IIFE for main-thread script inclusion - Bundle sw.ts as ESM with CDN imports marked external - Inline transpiler module into SW bundle for single-file deployment - Target ES2022, unminified for v0.1.0 readability
1 parent f112b95 commit 3915065

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

packages/runtime/build.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// packages/runtime/build.js
2+
// Plain JS — runs with Node without compilation
3+
import * as esbuild from 'esbuild'
4+
5+
// Build rawscript.js (main thread boot script — IIFE, self-executing)
6+
await esbuild.build({
7+
entryPoints: ['src/boot.ts'],
8+
bundle: true,
9+
format: 'iife',
10+
outfile: 'dist/rawscript.js',
11+
platform: 'browser',
12+
target: 'es2022',
13+
minify: false, // readable for v0.1.0, minify in v0.9.0
14+
})
15+
16+
// Build rawscript-sw.js (Service Worker — ESM format)
17+
// bundle: true so transpiler.ts is inlined, but CDN imports stay external
18+
await esbuild.build({
19+
entryPoints: ['src/sw.ts'],
20+
bundle: true,
21+
format: 'esm',
22+
outfile: 'dist/rawscript-sw.js',
23+
platform: 'browser',
24+
target: 'es2022',
25+
minify: false,
26+
external: ['https://unpkg.com/*'],
27+
})
28+
29+
console.log('✓ rawscript built to dist/')

0 commit comments

Comments
 (0)