Files
homelab/chat/build.ts
T

21 lines
778 B
TypeScript

import {cpSync, mkdirSync, readFileSync, rmSync, writeFileSync} from "node:fs";
rmSync("dist", {recursive: true, force: true});
mkdirSync("dist/assets", {recursive: true});
const result = await Bun.build({
entrypoints: ["src/client.ts"],
outdir: "dist/assets",
target: "browser",
minify: true,
sourcemap: "none",
naming: "client.js"
});
if (!result.success) {
for (const log of result.logs) console.error(log);
process.exit(1);
}
const version = Bun.hash(`${readFileSync("src/client.ts", "utf8")}\0${readFileSync("src/styles.css", "utf8")}`).toString(36);
writeFileSync("dist/index.html", readFileSync("src/index.html", "utf8").replaceAll("__ASSET_VERSION__", version));
cpSync("src/styles.css", "dist/styles.css");
cpSync("public", "dist", {recursive: true});