Push HMR updates before the SSR rebuild in dev
Client-only edits are sent to the browser right after the hydration build, without re-running server functions; SSR rebuilds afterwards and props are re-fetched only when a .server.ts output changed or after fullRebuild. Page requests wait for an in-flight SSR rebuild. The SSR build no longer runs Tailwind, the PostCSS processor is reused across rebuilds, and the watcher debounce drops from 200ms to 50ms. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -5,6 +5,7 @@ import getCache from "../../cache/get-cache";
|
||||
import generateWebPageResponseFromComponentReturn from "./generate-web-page-response-from-component-return";
|
||||
import grabPageComponent from "./grab-page-component";
|
||||
import grabPageErrorComponent from "./grab-page-error-component";
|
||||
import { awaitSSRRebuild } from "../../bundler/pages-ssr-context-bundler";
|
||||
export default async function handleWebPages({ req, }) {
|
||||
try {
|
||||
const is_dev = isDevelopment();
|
||||
@@ -31,6 +32,11 @@ export default async function handleWebPages({ req, }) {
|
||||
}
|
||||
catch (error) { }
|
||||
}
|
||||
// HMR pushes client updates before the SSR rebuild finishes; a page
|
||||
// load in that window waits so SSR HTML matches the new bundle.
|
||||
if (is_dev) {
|
||||
await awaitSSRRebuild();
|
||||
}
|
||||
const componentRes = await grabPageComponent({
|
||||
req,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user