puteroapix / scripts /build.mjs
woiceatus's picture
add a chatclient for test
2671e04
raw
history blame contribute delete
894 Bytes
import os from "node:os";
import path from "node:path";
import { promises as fs } from "node:fs";
import { build } from "esbuild";
const outputDir = process.env.BUILD_OUT_DIR || path.join(os.tmpdir(), "oapix-build");
await fs.rm(outputDir, { force: true, recursive: true });
await fs.mkdir(outputDir, { recursive: true });
await build({
entryPoints: ["src/server.js"],
outfile: path.join(outputDir, "server.js"),
bundle: true,
format: "esm",
platform: "node",
sourcemap: true,
external: ["express", "dotenv", "ffmpeg-static"]
});
await fs.copyFile("package.json", path.join(outputDir, "package.json"));
await fs.copyFile("package-lock.json", path.join(outputDir, "package-lock.json")).catch(() => {});
await fs.copyFile(".env.example", path.join(outputDir, ".env.example"));
await fs.cp("public", path.join(outputDir, "public"), { recursive: true });
console.log(outputDir);