Files
bunext/dist/commands/build/index.js
T

43 lines
1.8 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";
import { v4 } from "uuid";
const { HYDRATION_DST_DIR, BUNX_CWD_PAGES_REWRITE_DIR, BUNDLER_CTX_MAP_JSON, SSR_BUNDLER_CTX_MAP_JSON, BUNX_CWD_MODULE_CACHE_DIR, BUILD_INFO_JSON, } = 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);
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);
writeFileSync(SSR_BUNDLER_CTX_MAP_JSON, ssr_bundler_ctx_json_str, "utf-8");
}
const build_data = {
build_id: v4(),
build_date_unix: Date.now(),
build_date: Date(),
};
writeFileSync(BUILD_INFO_JSON, JSON.stringify(build_data, null, 4), "utf-8");
log.success("Modules Built Successfully!");
process.exit();
});
}