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');