Skip to content

Commit 7233825

Browse files
authored
fix(tanstack-start): Fix event handler return type mismatch (#5051)
1 parent d3152be commit 7233825

File tree

4 files changed

+16
-4
lines changed

4 files changed

+16
-4
lines changed

.changeset/great-peaches-yell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@clerk/tanstack-start": patch
3+
---
4+
5+
Fix type mismatch between TanStack Start and Clerk event handlers

packages/tanstack-start/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@
6969
"devDependencies": {
7070
"@tanstack/react-router": "^1.97.25",
7171
"@tanstack/start": "^1.97.25",
72-
"esbuild-plugin-file-path-extensions": "^2.1.2"
72+
"esbuild-plugin-file-path-extensions": "^2.1.2",
73+
"h3": "^1.13.0"
7374
},
7475
"peerDependencies": {
7576
"@tanstack/react-router": ">=1.85.9",

packages/tanstack-start/src/server/middlewareHandler.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { AnyRouter } from '@tanstack/react-router';
2-
import type { EventHandler } from 'vinxi/http';
2+
import type { eventHandler } from 'h3';
33

44
import { authenticateRequest } from './authenticateRequest';
55
import { loadOptions } from './loadOptions';
@@ -11,13 +11,16 @@ export type HandlerCallback<TRouter extends AnyRouter> = (ctx: {
1111
router: TRouter;
1212
responseHeaders: Headers;
1313
}) => Response | Promise<Response>;
14-
export type CustomizeStartHandler<TRouter extends AnyRouter> = (cb: HandlerCallback<TRouter>) => EventHandler;
14+
15+
export type CustomizeStartHandler<TRouter extends AnyRouter> = (
16+
cb: HandlerCallback<TRouter>,
17+
) => ReturnType<typeof eventHandler>;
1518

1619
export function createClerkHandler<TRouter extends AnyRouter>(
1720
eventHandler: CustomizeStartHandler<TRouter>,
1821
clerkOptions: LoaderOptions = {},
1922
) {
20-
return (cb: HandlerCallback<TRouter>): EventHandler => {
23+
return (cb: HandlerCallback<TRouter>) => {
2124
return eventHandler(async ({ request, router, responseHeaders }) => {
2225
try {
2326
const loadedOptions = loadOptions(request, clerkOptions);

pnpm-lock.yaml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)