Refactor SSR strategy. Redirect before bundling any page component. Additional bugfixes for dev environment

This commit is contained in:
2026-04-12 16:20:16 +01:00
parent 84d490b189
commit f0aae8a8fa
27 changed files with 210 additions and 87 deletions
+9 -4
View File
@@ -5,6 +5,7 @@ import { log } from "../../../utils/log";
import grabPageModules from "./grab-page-modules";
import grabPageCombinedServerRes from "./grab-page-combined-server-res";
import fullRebuild from "../full-rebuild";
import serverPostBuildFn from "../server-post-build-fn";
class NotFoundError extends Error {
status = 404;
constructor(message) {
@@ -41,7 +42,6 @@ export default async function grabPageComponent(params) {
}
const bundledMap = global.BUNDLER_CTX_MAP[file_path];
if (!bundledMap?.path) {
console.log(global.BUNDLER_CTX_MAP);
const errMsg = `No Bundled File Path for this request path!`;
log.error(errMsg);
throw new Error(errMsg);
@@ -62,7 +62,7 @@ export default async function grabPageComponent(params) {
});
return { serverRes };
}
const { component, module, serverRes, root_module } = await grabPageModules({
const page_modules = await grabPageModules({
file_path,
debug,
query: match?.query,
@@ -70,7 +70,10 @@ export default async function grabPageComponent(params) {
url,
skip_server_res,
});
global.IS_404_PAGE = false;
if (page_modules instanceof Response) {
return page_modules;
}
const { component, module, serverRes, root_module } = page_modules;
return {
component,
serverRes,
@@ -94,8 +97,10 @@ export default async function grabPageComponent(params) {
...params,
retry: true,
});
if (component_retried.success) {
if (component_retried instanceof Response ||
component_retried.success) {
global.REBUILD_RETRIES = 0;
await serverPostBuildFn();
return component_retried;
}
}