Skip to content

Commit 5184e45

Browse files
authored
fix(prerender): call nitroApp close hook when done prerendering (#2287)
1 parent dc83a2e commit 5184e45

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/prerender.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ export async function prerender(nitro: Nitro) {
8181
nitroRenderer.options.output.serverDir,
8282
"index.mjs"
8383
);
84-
const { localFetch } = (await import(
84+
const { closePrerenderer, localFetch } = (await import(
8585
pathToFileURL(serverEntrypoint).href
86-
)) as { localFetch: $Fetch };
86+
)) as { closePrerenderer: () => Promise<void>; localFetch: $Fetch };
8787

8888
// Create route rule matcher
8989
const _routeRulesMatcher = toRouteMatcher(
@@ -296,6 +296,8 @@ export async function prerender(nitro: Nitro) {
296296
interval: nitro.options.prerender.interval,
297297
});
298298

299+
await closePrerenderer();
300+
299301
await nitro.hooks.callHook("prerender:done", {
300302
prerenderedRoutes: nitro._prerenderedRoutes,
301303
failedRoutes: [...failedRoutes],

src/runtime/entries/nitro-prerenderer.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { nitroApp } from "../app";
33
import { trapUnhandledNodeErrors } from "../utils";
44

55
export const localFetch = nitroApp.localFetch;
6+
export const closePrerenderer = () => nitroApp.hooks.callHook("close");
67

78
// Trap unhandled errors
89
trapUnhandledNodeErrors();

0 commit comments

Comments
 (0)