// Сборка: node build.mjs [--serve] [--port 5173] import * as esbuild from 'esbuild'; import { cpSync, mkdirSync } from 'node:fs'; const serve = process.argv.includes('--serve'); const portArg = process.argv.indexOf('--port'); const port = portArg > 0 ? +process.argv[portArg + 1] : 5173; mkdirSync('dist', { recursive: true }); cpSync('public', 'dist', { recursive: true }); const options = { entryPoints: { main: 'src/main.ts', worker: 'src/gen/worker.ts' }, outdir: 'dist', bundle: true, format: 'esm', target: 'es2022', sourcemap: true, minify: !serve, logLevel: 'info', }; if (serve) { const ctx = await esbuild.context(options); await ctx.watch(); const { host } = await ctx.serve({ servedir: 'dist', port }); console.log(`\n Открыть: http://localhost:${port}/\n`); void host; } else { await esbuild.build(options); }