Files
bunext/dist/commands/build/index.js
T
2026-09-22 16:43:14 +01:00

43 lines
1.9 KiB
JavaScript

import { Command } from "commander";
import { log } from "../../utils/log";
import grabDirNames from "../../utils/grab-dir-names";
import { rmSync, writeFileSync } from "fs";
import bunextInit from "../../functions/bunext-init";
import pagesSSRBundler from "../../functions/bundler/pages-ssr-bundler";
const { HYDRATION_DST_DIR, BUNX_CWD_PAGES_REWRITE_DIR, BUNDLER_CTX_MAP_JSON, SSR_BUNDLER_CTX_MAP_JSON, BUNX_CWD_MODULE_CACHE_DIR, ROOT_DIR, } = grabDirNames();
export default function () {
return new Command("build")
.description("Build Project")
.action(async () => {
try {
rmSync(HYDRATION_DST_DIR, { recursive: true });
rmSync(BUNX_CWD_PAGES_REWRITE_DIR, { recursive: true });
rmSync(BUNX_CWD_MODULE_CACHE_DIR, {
recursive: true,
force: true,
});
}
catch (error) { }
global.BUNEXT_SKIPPED_BROWSER_MODULES = new Set();
await bunextInit({ build_only: true });
// await pagesSSRBundler();
if (global.BUNEXT_BUNDLER_CTX_MAP) {
let bundler_ctx_json_str = JSON.stringify(global.BUNEXT_BUNDLER_CTX_MAP);
if (process.env.BUNEXT_BUILD_ROOT_DIR) {
bundler_ctx_json_str = bundler_ctx_json_str.replaceAll(ROOT_DIR, process.env.BUNEXT_BUILD_ROOT_DIR);
}
writeFileSync(BUNDLER_CTX_MAP_JSON, bundler_ctx_json_str, "utf-8");
}
if (global.BUNEXT_SSR_BUNDLER_CTX_MAP) {
let ssr_bundler_ctx_json_str = JSON.stringify(global.BUNEXT_SSR_BUNDLER_CTX_MAP);
if (process.env.BUNEXT_BUILD_ROOT_DIR) {
ssr_bundler_ctx_json_str =
ssr_bundler_ctx_json_str.replaceAll(ROOT_DIR, process.env.BUNEXT_BUILD_ROOT_DIR);
}
writeFileSync(SSR_BUNDLER_CTX_MAP_JSON, ssr_bundler_ctx_json_str, "utf-8");
}
log.success("Modules Built Successfully!");
process.exit();
});
}