Skip to content

Commit 4e98ac0

Browse files
brenelzclaude
andauthored
fix: restore routerLoad argument to createHandler (#2228)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent eeff49a commit 4e98ac0

3 files changed

Lines changed: 12 additions & 2 deletions

File tree

.changeset/spotty-moons-repeat.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@solidjs/start": patch
3+
---
4+
5+
Restore the optional `routerLoad` third argument to `createHandler`, which primes custom routers (e.g. TanStack Router) on the server before SSR rendering. It was accidentally dropped in the v2 rewrite.

packages/start/src/server/handler.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export function createBaseHandler(
2121
createPageEvent: (e: FetchEvent) => Promise<PageEvent>,
2222
fn: (context: PageEvent) => JSX.Element,
2323
options: HandlerOptions | ((context: PageEvent) => HandlerOptions | Promise<HandlerOptions>) = {},
24+
routerLoad?: (event: FetchEvent) => Promise<void>,
2425
): H3 {
2526
const handler = defineHandler({
2627
middleware: middleware.length ? middleware.map(decorateMiddleware) : undefined,
@@ -64,6 +65,8 @@ export function createBaseHandler(
6465
}
6566
}
6667

68+
if (routerLoad) await routerLoad(event);
69+
6770
const context = await createPageEvent(event);
6871

6972
const resolvedOptions =
@@ -134,8 +137,9 @@ export function createBaseHandler(
134137
export function createHandler(
135138
fn: (context: PageEvent) => JSX.Element,
136139
options: HandlerOptions | ((context: PageEvent) => HandlerOptions | Promise<HandlerOptions>) = {},
140+
routerLoad?: (event: FetchEvent) => Promise<void>,
137141
): H3 {
138-
return createBaseHandler(createPageEvent, fn, options);
142+
return createBaseHandler(createPageEvent, fn, options, routerLoad);
139143
}
140144

141145
export async function createPageEvent(ctx: FetchEvent) {

packages/start/src/server/spa/handler.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ import type { FetchEvent, HandlerOptions, PageEvent } from "../types.ts";
1212
export function createHandler(
1313
fn: (context: PageEvent) => JSX.Element,
1414
options?: HandlerOptions | ((context: PageEvent) => HandlerOptions),
15+
routerLoad?: (event: FetchEvent) => Promise<void>,
1516
): H3 {
16-
return createBaseHandler(createPageEvent, fn, options);
17+
return createBaseHandler(createPageEvent, fn, options, routerLoad);
1718
}
1819

1920
async function createPageEvent(ctx: FetchEvent) {

0 commit comments

Comments
 (0)