Update build step
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
import { Command } from "commander";
|
||||
import { log } from "../../utils/log";
|
||||
import init from "../../functions/init";
|
||||
import grabDirNames from "../../utils/grab-dir-names";
|
||||
import { rmSync } from "fs";
|
||||
import allPagesESBuildContextBundler from "../../functions/bundler/all-pages-esbuild-context-bundler";
|
||||
import bunextInit from "../../functions/bunext-init";
|
||||
|
||||
const { HYDRATION_DST_DIR, BUNX_CWD_PAGES_REWRITE_DIR } = grabDirNames();
|
||||
|
||||
@@ -18,16 +17,9 @@ export default function () {
|
||||
|
||||
global.SKIPPED_BROWSER_MODULES = new Set<string>();
|
||||
|
||||
// await rewritePagesModule();
|
||||
await init();
|
||||
await bunextInit({ build_only: true });
|
||||
|
||||
log.banner();
|
||||
log.build("Building Project ...");
|
||||
|
||||
// await allPagesBunBundler();
|
||||
|
||||
// await allPagesBundler();
|
||||
await allPagesESBuildContextBundler();
|
||||
log.success("Modules Built Successfully!");
|
||||
|
||||
process.exit();
|
||||
});
|
||||
|
||||
@@ -44,16 +44,29 @@ async function dev() {
|
||||
},
|
||||
};
|
||||
|
||||
let dev_process = Bun.spawn(spawn_options);
|
||||
let dev_process;
|
||||
try {
|
||||
dev_process = Bun.spawn(spawn_options);
|
||||
} catch (error) {
|
||||
console.error(`Failed to start dev process:`, error);
|
||||
retries++;
|
||||
timeout = setTimeout(() => {
|
||||
retries = 0;
|
||||
}, 10000);
|
||||
return await dev();
|
||||
}
|
||||
|
||||
retries++;
|
||||
const exited = await dev_process.exited;
|
||||
|
||||
if (exited) {
|
||||
retries++;
|
||||
timeout = setTimeout(() => {
|
||||
retries = 0;
|
||||
}, 10000);
|
||||
return await dev();
|
||||
}
|
||||
|
||||
timeout = setTimeout(() => {
|
||||
retries = 0;
|
||||
}, 10000);
|
||||
|
||||
const exited = await dev_process.exited;
|
||||
if (exited) {
|
||||
return await dev();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,17 +45,29 @@ async function start() {
|
||||
},
|
||||
};
|
||||
|
||||
let dev_process = Bun.spawn(spawn_options);
|
||||
|
||||
retries++;
|
||||
|
||||
timeout = setTimeout(() => {
|
||||
retries = 0;
|
||||
}, 10000);
|
||||
let dev_process;
|
||||
try {
|
||||
dev_process = Bun.spawn(spawn_options);
|
||||
} catch (error) {
|
||||
console.error(`Failed to start production process:`, error);
|
||||
retries++;
|
||||
timeout = setTimeout(() => {
|
||||
retries = 0;
|
||||
}, 10000);
|
||||
return await start();
|
||||
}
|
||||
|
||||
const exited = await dev_process.exited;
|
||||
|
||||
if (exited) {
|
||||
retries++;
|
||||
timeout = setTimeout(() => {
|
||||
retries = 0;
|
||||
}, 10000);
|
||||
return await start();
|
||||
}
|
||||
|
||||
timeout = setTimeout(() => {
|
||||
retries = 0;
|
||||
}, 10000);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ type Params = {
|
||||
post_build_fn?: (params: {
|
||||
artifacts: BundlerCTXMap[];
|
||||
}) => Promise<void> | void;
|
||||
build_only?: boolean;
|
||||
};
|
||||
|
||||
export default async function allPagesESBuildContextBundler(params?: Params) {
|
||||
@@ -82,6 +83,7 @@ export default async function allPagesESBuildContextBundler(params?: Params) {
|
||||
esbuildCTXArtifactTracker({
|
||||
entryToPage,
|
||||
post_build_fn: params?.post_build_fn,
|
||||
build_only: params?.build_only,
|
||||
}),
|
||||
],
|
||||
jsx: "automatic",
|
||||
|
||||
@@ -24,11 +24,13 @@ type Params = {
|
||||
}
|
||||
>;
|
||||
post_build_fn?: (params: { artifacts: any[] }) => Promise<void> | void;
|
||||
build_only?: boolean;
|
||||
};
|
||||
|
||||
export default function esbuildCTXArtifactTracker({
|
||||
entryToPage,
|
||||
post_build_fn,
|
||||
build_only,
|
||||
}: Params) {
|
||||
const artifactTracker: Plugin = {
|
||||
name: "artifact-tracker",
|
||||
@@ -49,7 +51,7 @@ export default function esbuildCTXArtifactTracker({
|
||||
}
|
||||
});
|
||||
|
||||
build.onEnd((result) => {
|
||||
build.onEnd(async (result) => {
|
||||
if (result.errors.length > 0) {
|
||||
global.RECOMPILING = false;
|
||||
global.IS_SERVER_COMPONENT = false;
|
||||
@@ -112,7 +114,13 @@ export default function esbuildCTXArtifactTracker({
|
||||
BUNX_BUNDLER_ERROR_EXIT_FILE,
|
||||
);
|
||||
|
||||
if (does_error_file_exist) {
|
||||
if (build_only) {
|
||||
try {
|
||||
await pagesSSRBundler();
|
||||
} catch (error) {
|
||||
log.error(`SSR Bundler Error: ${error}`);
|
||||
}
|
||||
} else if (does_error_file_exist) {
|
||||
mkdirSync(BUNX_ERROR_LOGS_DIR, { recursive: true });
|
||||
cpSync(
|
||||
BUNX_BUNDLER_ERROR_EXIT_FILE,
|
||||
@@ -120,7 +128,7 @@ export default function esbuildCTXArtifactTracker({
|
||||
);
|
||||
rmSync(BUNX_BUNDLER_ERROR_EXIT_FILE, { force: true });
|
||||
cleanupLogsDirs();
|
||||
fullRebuild();
|
||||
await fullRebuild();
|
||||
} else {
|
||||
try {
|
||||
pagesSSRBundler();
|
||||
|
||||
@@ -58,7 +58,11 @@ declare global {
|
||||
const dirNames = grabDirNames();
|
||||
const { PAGES_DIR } = dirNames;
|
||||
|
||||
export default async function bunextInit() {
|
||||
type Params = {
|
||||
build_only?: boolean;
|
||||
};
|
||||
|
||||
export default async function bunextInit(params?: Params) {
|
||||
global.HMR_CONTROLLERS = [];
|
||||
global.BUNDLER_CTX_MAP = {};
|
||||
global.SSR_BUNDLER_CTX_MAP = {};
|
||||
@@ -88,7 +92,10 @@ export default async function bunextInit() {
|
||||
|
||||
const is_dev = isDevelopment();
|
||||
|
||||
if (is_dev) {
|
||||
if (params?.build_only) {
|
||||
log.build(`Building Modules ...`);
|
||||
await allPagesESBuildContextBundler();
|
||||
} else if (is_dev) {
|
||||
log.build(`Building Modules ...`);
|
||||
await allPagesESBuildContextBundler({
|
||||
post_build_fn: () => {
|
||||
|
||||
@@ -25,7 +25,7 @@ export default async function fullRebuild(params?: { msg?: string }) {
|
||||
|
||||
// await pagesSSRBundler();
|
||||
|
||||
allPagesESBuildContextBundler({
|
||||
await allPagesESBuildContextBundler({
|
||||
post_build_fn: () => {
|
||||
serverPostBuildFn();
|
||||
},
|
||||
|
||||
@@ -29,6 +29,7 @@ export default async function watcherEsbuildCTX() {
|
||||
|
||||
if (global.BUNDLER_CTX_DISPOSED) {
|
||||
await fullRebuild({ msg: `Restarting Bundler ...` });
|
||||
return;
|
||||
}
|
||||
|
||||
if (global.SSR_BUNDLER_CTX_DISPOSED) {
|
||||
|
||||
Reference in New Issue
Block a user