diff --git a/.changeset/fix-evlog-error-handler-compat.md b/.changeset/fix-evlog-error-handler-compat.md new file mode 100644 index 0000000..bc385aa --- /dev/null +++ b/.changeset/fix-evlog-error-handler-compat.md @@ -0,0 +1,7 @@ +--- +"evlog": patch +--- + +fix(nitro): make `evlogErrorHandler` compatible with TanStack Start's `createMiddleware().server()` API + +`evlogErrorHandler` now accepts both `(next)` and `({ next })` signatures, so `createMiddleware().server(evlogErrorHandler)` works directly without a wrapper in all TanStack Start versions. diff --git a/packages/evlog/src/nitro-v3/middleware.ts b/packages/evlog/src/nitro-v3/middleware.ts index d7eb370..b21c095 100644 --- a/packages/evlog/src/nitro-v3/middleware.ts +++ b/packages/evlog/src/nitro-v3/middleware.ts @@ -23,7 +23,8 @@ import { serializeEvlogErrorResponse } from '../nitro' * ``` */ -export async function evlogErrorHandler(next: (...args: any[]) => Promise): Promise { +export async function evlogErrorHandler(nextOrOptions: ((...args: any[]) => Promise) | { next: (...args: any[]) => Promise }): Promise { + const next = typeof nextOrOptions === 'function' ? nextOrOptions : nextOrOptions.next try { return await next() } catch (error: unknown) {