| import { rmSync } from "node:fs"; | |
| import { build as viteBuild } from "vite"; | |
| import { build as esBuild } from "esbuild"; | |
| async function buildAll() { | |
| rmSync("dist", { recursive: true, force: true }); | |
| console.info("[INFO] Building client..."); | |
| await viteBuild(); | |
| console.info("[INFO] Building server..."); | |
| await esBuild({ | |
| entryPoints: ["src/server/index.ts"], | |
| platform: "node", | |
| bundle: true, | |
| format: "cjs", | |
| outfile: "dist/index.cjs", | |
| define: { | |
| "process.env.NODE_ENV": '"production"', | |
| }, | |
| minify: true, | |
| logLevel: "info" | |
| }); | |
| } | |
| buildAll().catch((err) => { | |
| console.error(err); | |
| process.exit(1); | |
| }); |