Alex Severyanov  ·  2026-03-27

build-ws.js

 1// Build ws-handler + pty-session as a standalone bundle for the CLI binary
 2import { build } from 'vite';
 3import { resolve, dirname } from 'path';
 4import { fileURLToPath } from 'url';
 5
 6const __dirname = dirname(fileURLToPath(import.meta.url));
 7const root = resolve(__dirname, '..');
 8
 9// Use esbuild directly via vite's dependency
10const esbuild = await import('esbuild');
11await esbuild.build({
12	entryPoints: [resolve(root, 'src/lib/server/ws-handler.ts')],
13	bundle: true,
14	outfile: resolve(root, 'build/ws-handler.js'),
15	platform: 'node',
16	format: 'esm',
17	target: 'node18',
18	external: ['node-pty', 'ws', 'simple-git', 'shiki'],
19	banner: {
20		js: '// Auto-generated — do not edit'
21	}
22});
23
24console.log('  ✔ Built build/ws-handler.js');