mirror of
https://github.com/versia-pub/server.git
synced 2025-12-06 16:38:19 +01:00
50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
// Delete dist directory
|
|
import { rm, cp, mkdir, exists } from "fs/promises";
|
|
import { rawRoutes } from "~routes";
|
|
|
|
if (!(await exists("./pages/dist"))) {
|
|
console.log("Please build the Vite server first, or use `bun prod-build`");
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log(`Building at ${process.cwd()}`);
|
|
|
|
await rm("./dist", { recursive: true });
|
|
|
|
await mkdir(process.cwd() + "/dist");
|
|
|
|
//bun build --entrypoints ./index.ts ./prisma.ts ./cli.ts --outdir dist --target bun --splitting --minify --external bullmq,@prisma/client
|
|
await Bun.build({
|
|
entrypoints: [
|
|
process.cwd() + "/index.ts",
|
|
process.cwd() + "/prisma.ts",
|
|
process.cwd() + "/cli.ts",
|
|
// Force Bun to include endpoints
|
|
...Object.values(rawRoutes),
|
|
],
|
|
outdir: process.cwd() + "/dist",
|
|
target: "bun",
|
|
splitting: true,
|
|
minify: true,
|
|
external: ["bullmq"],
|
|
}).then(output => {
|
|
if (!output.success) {
|
|
console.log(output.logs);
|
|
}
|
|
});
|
|
|
|
// Create pages directory
|
|
// mkdir ./dist/pages
|
|
await mkdir(process.cwd() + "/dist/pages");
|
|
|
|
// Copy Vite build output to dist
|
|
// cp -r ./pages/dist ./dist/pages
|
|
await cp(process.cwd() + "/pages/dist", process.cwd() + "/dist/pages/", {
|
|
recursive: true,
|
|
});
|
|
|
|
// Copy the Bee Movie script from pages
|
|
await cp(process.cwd() + "/pages/beemovie.txt", process.cwd() + "/dist/pages/");
|
|
|
|
console.log(`Built!`);
|