Updates
This commit is contained in:
@@ -1,10 +1,17 @@
|
||||
import { Command } from "commander";
|
||||
import { log } from "../../utils/log";
|
||||
import grabDirNames from "../../utils/grab-dir-names";
|
||||
import { rmSync } from "fs";
|
||||
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 } = grabDirNames();
|
||||
const {
|
||||
HYDRATION_DST_DIR,
|
||||
BUNX_CWD_PAGES_REWRITE_DIR,
|
||||
BUNDLER_CTX_MAP_JSON,
|
||||
SSR_BUNDLER_CTX_MAP_JSON,
|
||||
BUNX_CWD_MODULE_CACHE_DIR,
|
||||
} = grabDirNames();
|
||||
|
||||
export default function () {
|
||||
return new Command("build")
|
||||
@@ -13,11 +20,32 @@ export default function () {
|
||||
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<string>();
|
||||
|
||||
await bunextInit({ build_only: true });
|
||||
// await pagesSSRBundler();
|
||||
|
||||
if (global.BUNEXT_BUNDLER_CTX_MAP) {
|
||||
writeFileSync(
|
||||
BUNDLER_CTX_MAP_JSON,
|
||||
JSON.stringify(global.BUNEXT_BUNDLER_CTX_MAP),
|
||||
"utf-8",
|
||||
);
|
||||
}
|
||||
|
||||
if (global.BUNEXT_SSR_BUNDLER_CTX_MAP) {
|
||||
writeFileSync(
|
||||
SSR_BUNDLER_CTX_MAP_JSON,
|
||||
JSON.stringify(global.BUNEXT_SSR_BUNDLER_CTX_MAP),
|
||||
"utf-8",
|
||||
);
|
||||
}
|
||||
|
||||
log.success("Modules Built Successfully!");
|
||||
|
||||
|
||||
@@ -3,7 +3,9 @@ import path from "path";
|
||||
import type { BunSpawnOptions } from "../../types";
|
||||
import grabDirNames from "../../utils/grab-dir-names";
|
||||
import writeErrorFile from "../../functions/write-error-file";
|
||||
import { existsSync } from "fs";
|
||||
import { existsSync, rmSync } from "fs";
|
||||
|
||||
const { BUNDLER_CTX_MAP_JSON, SSR_BUNDLER_CTX_MAP_JSON } = grabDirNames();
|
||||
|
||||
let retries = 0;
|
||||
let timeout: any;
|
||||
@@ -13,6 +15,11 @@ export default function () {
|
||||
return new Command("dev")
|
||||
.description("Run development server")
|
||||
.action(async () => {
|
||||
try {
|
||||
rmSync(SSR_BUNDLER_CTX_MAP_JSON, { recursive: true });
|
||||
rmSync(BUNDLER_CTX_MAP_JSON, { recursive: true });
|
||||
} catch (error) {}
|
||||
|
||||
await dev();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,9 +1,36 @@
|
||||
import { readFileSync } from "fs";
|
||||
import bunextInit from "../../functions/bunext-init";
|
||||
import startServer from "../../functions/server/start-server";
|
||||
import grabDirNames from "../../utils/grab-dir-names";
|
||||
import { log } from "../../utils/log";
|
||||
import type { BundlerCTXMap } from "../../types";
|
||||
|
||||
const { BUNDLER_CTX_MAP_JSON, SSR_BUNDLER_CTX_MAP_JSON } = grabDirNames();
|
||||
|
||||
log.info("Starting production server ...");
|
||||
|
||||
try {
|
||||
const bundler_ctx_json = JSON.parse(
|
||||
readFileSync(BUNDLER_CTX_MAP_JSON, "utf-8"),
|
||||
) as { [k: string]: BundlerCTXMap } | undefined;
|
||||
|
||||
if (bundler_ctx_json) {
|
||||
global.BUNEXT_BUNDLER_CTX_MAP = bundler_ctx_json;
|
||||
}
|
||||
} catch (error: any) {
|
||||
// log.error(`Couldn't set global bundler CTX map: ${error.message}`);
|
||||
}
|
||||
|
||||
try {
|
||||
const ssr_bundler_ctx_json = JSON.parse(
|
||||
readFileSync(SSR_BUNDLER_CTX_MAP_JSON, "utf-8"),
|
||||
) as { [k: string]: BundlerCTXMap } | undefined;
|
||||
|
||||
if (ssr_bundler_ctx_json) {
|
||||
global.BUNEXT_SSR_BUNDLER_CTX_MAP = ssr_bundler_ctx_json;
|
||||
}
|
||||
} catch (error) {}
|
||||
|
||||
await bunextInit();
|
||||
|
||||
await startServer();
|
||||
|
||||
@@ -6,12 +6,17 @@ import buildOnstartErrorHandler from "../build-on-start-error-handler";
|
||||
import _ from "lodash";
|
||||
import pagesSSRBundler from "../pages-ssr-bundler";
|
||||
import grabDirNames from "../../../utils/grab-dir-names";
|
||||
import { cpSync, existsSync, mkdirSync, rmSync } from "fs";
|
||||
import { cpSync, existsSync, mkdirSync, rmSync, writeFileSync } from "fs";
|
||||
import fullRebuild from "../../server/full-rebuild";
|
||||
import path from "path";
|
||||
import cleanupLogsDirs from "../../cleanup-logs-dir";
|
||||
|
||||
const { BUNX_BUNDLER_ERROR_EXIT_FILE, BUNX_ERROR_LOGS_DIR } = grabDirNames();
|
||||
const {
|
||||
BUNX_BUNDLER_ERROR_EXIT_FILE,
|
||||
BUNX_ERROR_LOGS_DIR,
|
||||
BUNDLER_CTX_MAP_JSON,
|
||||
SSR_BUNDLER_CTX_MAP_JSON,
|
||||
} = grabDirNames();
|
||||
|
||||
let build_start = 0;
|
||||
const MAX_BUILD_STARTS = 2;
|
||||
|
||||
@@ -63,9 +63,16 @@ type Params = {
|
||||
};
|
||||
|
||||
export default async function bunextInit(params?: Params) {
|
||||
const are_modules_aready_built =
|
||||
global.BUNEXT_BUNDLER_CTX_MAP && global.BUNEXT_SSR_BUNDLER_CTX_MAP;
|
||||
|
||||
global.BUNEXT_HMR_CONTROLLERS = [];
|
||||
global.BUNEXT_BUNDLER_CTX_MAP = {};
|
||||
global.BUNEXT_SSR_BUNDLER_CTX_MAP = {};
|
||||
if (!global.BUNEXT_BUNDLER_CTX_MAP) {
|
||||
global.BUNEXT_BUNDLER_CTX_MAP = {};
|
||||
}
|
||||
if (!global.BUNEXT_SSR_BUNDLER_CTX_MAP) {
|
||||
global.BUNEXT_SSR_BUNDLER_CTX_MAP = {};
|
||||
}
|
||||
// global.BUNEXT_API_ROUTES_BUNDLER_CTX_MAP = {};
|
||||
global.BUNEXT_BUNDLER_REBUILDS = 0;
|
||||
global.BUNEXT_REBUILD_RETRIES = 0;
|
||||
@@ -94,7 +101,7 @@ export default async function bunextInit(params?: Params) {
|
||||
|
||||
if (params?.build_only) {
|
||||
log.build(`Building Modules ...`);
|
||||
await allPagesESBuildContextBundler();
|
||||
await allPagesESBuildContextBundler({ build_only: params.build_only });
|
||||
} else if (is_dev) {
|
||||
log.build(`Building Modules ...`);
|
||||
await allPagesESBuildContextBundler({
|
||||
@@ -104,15 +111,13 @@ export default async function bunextInit(params?: Params) {
|
||||
});
|
||||
watcherEsbuildCTX();
|
||||
} else {
|
||||
log.build(`Building Modules ...`);
|
||||
await allPagesESBuildContextBundler({ start: true });
|
||||
if (are_modules_aready_built) {
|
||||
log.success(`All modules already built.`);
|
||||
} else {
|
||||
log.build(`Building Modules ...`);
|
||||
await allPagesESBuildContextBundler({ start: true });
|
||||
}
|
||||
|
||||
cron();
|
||||
}
|
||||
}
|
||||
|
||||
// process.on("exit", (code) => {
|
||||
// Bun.spawn([process.execPath, ...process.argv.slice(1)], {
|
||||
// stdio: ["inherit", "inherit", "inherit"],
|
||||
// env: process.env,
|
||||
// });
|
||||
// });
|
||||
|
||||
@@ -14,11 +14,6 @@ export default async function () {
|
||||
force: true,
|
||||
});
|
||||
|
||||
rmSync(dirNames.BUNX_CWD_MODULE_CACHE_DIR, {
|
||||
recursive: true,
|
||||
force: true,
|
||||
});
|
||||
|
||||
if (
|
||||
dirNames.ROOT_DIR.startsWith(dirNames.BUNX_ROOT_DIR) &&
|
||||
!dirNames.ROOT_DIR.includes(`${dirNames.BUNX_ROOT_DIR}/test/`)
|
||||
|
||||
@@ -28,6 +28,8 @@ export type DirNames = {
|
||||
BUNX_BUNDLER_ERROR_EXIT_FILE: string;
|
||||
BUNX_ERROR_LOGS_DIR: string;
|
||||
BUNX_LOGS_DIR: string;
|
||||
BUNDLER_CTX_MAP_JSON: string;
|
||||
SSR_BUNDLER_CTX_MAP_JSON: string;
|
||||
};
|
||||
|
||||
export default function grabDirNames(): DirNames {
|
||||
@@ -84,6 +86,15 @@ export default function grabDirNames(): DirNames {
|
||||
`${BUNX_ROOT_404_FILE_NAME}.tsx`,
|
||||
);
|
||||
|
||||
const BUNDLER_CTX_MAP_JSON = path.join(
|
||||
BUNX_CWD_DIR,
|
||||
"bundler-ctx-map.json",
|
||||
);
|
||||
const SSR_BUNDLER_CTX_MAP_JSON = path.join(
|
||||
BUNX_CWD_DIR,
|
||||
"ssr-bundler-ctx-map.json",
|
||||
);
|
||||
|
||||
return {
|
||||
ROOT_DIR,
|
||||
SRC_DIR,
|
||||
@@ -112,6 +123,8 @@ export default function grabDirNames(): DirNames {
|
||||
BUNX_BUNDLER_ERROR_EXIT_FILE,
|
||||
BUNX_ERROR_LOGS_DIR,
|
||||
BUNX_LOGS_DIR,
|
||||
BUNDLER_CTX_MAP_JSON,
|
||||
SSR_BUNDLER_CTX_MAP_JSON,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user