Updates
This commit is contained in:
Vendored
+14
-2
@@ -1,9 +1,10 @@
|
||||
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";
|
||||
const { HYDRATION_DST_DIR, BUNX_CWD_PAGES_REWRITE_DIR } = grabDirNames();
|
||||
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, } = grabDirNames();
|
||||
export default function () {
|
||||
return new Command("build")
|
||||
.description("Build Project")
|
||||
@@ -11,10 +12,21 @@ 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();
|
||||
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!");
|
||||
process.exit();
|
||||
});
|
||||
|
||||
Vendored
+7
-1
@@ -2,7 +2,8 @@ import { Command } from "commander";
|
||||
import path from "path";
|
||||
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;
|
||||
const MAX_RETRIES = 5;
|
||||
@@ -10,6 +11,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();
|
||||
});
|
||||
}
|
||||
|
||||
Vendored
+19
@@ -1,6 +1,25 @@
|
||||
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";
|
||||
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"));
|
||||
if (bundler_ctx_json) {
|
||||
global.BUNEXT_BUNDLER_CTX_MAP = bundler_ctx_json;
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
// 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"));
|
||||
if (ssr_bundler_ctx_json) {
|
||||
global.BUNEXT_SSR_BUNDLER_CTX_MAP = ssr_bundler_ctx_json;
|
||||
}
|
||||
}
|
||||
catch (error) { }
|
||||
await bunextInit();
|
||||
await startServer();
|
||||
|
||||
@@ -5,11 +5,11 @@ 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;
|
||||
export default function esbuildCTXArtifactTracker({ entryToPage, post_build_fn, build_only, }) {
|
||||
|
||||
Vendored
+11
-7
@@ -11,9 +11,14 @@ import watcherEsbuildCTX from "./server/watcher-esbuild-ctx";
|
||||
const dirNames = grabDirNames();
|
||||
const { PAGES_DIR } = dirNames;
|
||||
export default async function bunextInit(params) {
|
||||
const are_modules_aready_built = global.BUNEXT_BUNDLER_CTX_MAP && global.BUNEXT_SSR_BUNDLER_CTX_MAP;
|
||||
global.BUNEXT_HMR_CONTROLLERS = [];
|
||||
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;
|
||||
@@ -35,7 +40,7 @@ export default async function bunextInit(params) {
|
||||
const is_dev = isDevelopment();
|
||||
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 ...`);
|
||||
@@ -46,15 +51,14 @@ export default async function bunextInit(params) {
|
||||
});
|
||||
watcherEsbuildCTX();
|
||||
}
|
||||
else {
|
||||
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,
|
||||
// });
|
||||
// });
|
||||
|
||||
Vendored
-4
@@ -10,10 +10,6 @@ export default async function () {
|
||||
recursive: true,
|
||||
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/`)) {
|
||||
log.error(`Can't Run From this Directory => ${dirNames.ROOT_DIR}`);
|
||||
|
||||
Vendored
+2
@@ -26,5 +26,7 @@ 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;
|
||||
|
||||
Vendored
+4
@@ -29,6 +29,8 @@ export default function grabDirNames() {
|
||||
const BUNX_ROOT_500_PRESET_COMPONENT = path.join(BUNX_ROOT_PRESETS_DIR, `${BUNX_ROOT_500_FILE_NAME}.tsx`);
|
||||
const BUNX_ROOT_404_FILE_NAME = `not-found`;
|
||||
const BUNX_ROOT_404_PRESET_COMPONENT = path.join(BUNX_ROOT_PRESETS_DIR, `${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,
|
||||
@@ -57,6 +59,8 @@ export default function grabDirNames() {
|
||||
BUNX_BUNDLER_ERROR_EXIT_FILE,
|
||||
BUNX_ERROR_LOGS_DIR,
|
||||
BUNX_LOGS_DIR,
|
||||
BUNDLER_CTX_MAP_JSON,
|
||||
SSR_BUNDLER_CTX_MAP_JSON,
|
||||
};
|
||||
}
|
||||
// const NODE_MODULES_DIR = path.resolve(
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@moduletrace/bunext",
|
||||
"version": "1.1.7",
|
||||
"version": "1.1.8",
|
||||
"main": "dist/index.js",
|
||||
"module": "index.ts",
|
||||
"dependencies": {
|
||||
|
||||
@@ -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 = [];
|
||||
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({
|
||||
@@ -103,16 +110,14 @@ export default async function bunextInit(params?: Params) {
|
||||
},
|
||||
});
|
||||
watcherEsbuildCTX();
|
||||
} else {
|
||||
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