Initial commit
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
import { createReadStream, createWriteStream } from "node:fs";
|
||||
import { mkdir, readdir, writeFile } from "node:fs/promises";
|
||||
import { dirname, resolve } from "node:path";
|
||||
import { pipeline } from "node:stream/promises";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { build } from "esbuild";
|
||||
import locales from "../locales/index.js";
|
||||
import meta from "../package.json" with { type: "json" };
|
||||
|
||||
const root = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
||||
const viewsSrc = resolve(root, "packages/backend/src/server/web/views");
|
||||
const viewsOut = resolve(root, "packages/backend/built/server/web/views");
|
||||
|
||||
await mkdir(viewsOut, { recursive: true });
|
||||
await mkdir(resolve(root, "built/_client_dist_/locales"), { recursive: true });
|
||||
|
||||
const localeVersion = { _version_: meta.version };
|
||||
for (const [lang, locale] of Object.entries(locales)) {
|
||||
await writeFile(
|
||||
resolve(root, `built/_client_dist_/locales/${lang}.${meta.version}.json`),
|
||||
JSON.stringify({ ...locale, ...localeVersion }),
|
||||
"utf-8",
|
||||
);
|
||||
}
|
||||
|
||||
for (const entry of await readdir(viewsSrc, { withFileTypes: true })) {
|
||||
if (!entry.isFile()) continue;
|
||||
await pipeline(
|
||||
createReadStream(resolve(viewsSrc, entry.name)),
|
||||
createWriteStream(resolve(viewsOut, entry.name)),
|
||||
);
|
||||
}
|
||||
|
||||
await build({
|
||||
entryPoints: [
|
||||
resolve(root, "packages/backend/src/server/web/boot.js"),
|
||||
resolve(root, "packages/backend/src/server/web/bios.js"),
|
||||
resolve(root, "packages/backend/src/server/web/cli.js"),
|
||||
],
|
||||
outdir: resolve(root, "packages/backend/built/server/web"),
|
||||
define: {
|
||||
LANGS: JSON.stringify(Object.keys(locales)),
|
||||
},
|
||||
minify: true,
|
||||
});
|
||||
|
||||
await build({
|
||||
entryPoints: [
|
||||
resolve(root, "packages/backend/src/server/web/style.css"),
|
||||
resolve(root, "packages/backend/src/server/web/bios.css"),
|
||||
resolve(root, "packages/backend/src/server/web/cli.css"),
|
||||
],
|
||||
outdir: resolve(root, "packages/backend/built/server/web"),
|
||||
minify: true,
|
||||
});
|
||||
Reference in New Issue
Block a user