Skip to content

Commit 880177c

Browse files
authored
fix(nextjs): Update clerkMiddleware type (#5470)
1 parent f30fa75 commit 880177c

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

.changeset/cool-houses-bake.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/nextjs': patch
3+
---
4+
5+
Fixing a Typing error in clerkMiddleware

packages/nextjs/src/server/clerkMiddleware.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,11 @@ interface ClerkMiddleware {
9494
/**
9595
* The `clerkMiddleware()` helper integrates Clerk authentication into your Next.js application through Middleware. `clerkMiddleware()` is compatible with both the App and Pages routers.
9696
*/
97-
// @ts-expect-error TS is not happy here. Will dig into it
98-
export const clerkMiddleware: ClerkMiddleware = (...args: unknown[]) => {
97+
export const clerkMiddleware = ((...args: unknown[]): NextMiddleware | NextMiddlewareReturn => {
9998
const [request, event] = parseRequestAndEvent(args);
10099
const [handler, params] = parseHandlerAndOptions(args);
101100

102-
return clerkMiddlewareRequestDataStorage.run(clerkMiddlewareRequestDataStore, () => {
101+
const middleware = clerkMiddlewareRequestDataStorage.run(clerkMiddlewareRequestDataStore, () => {
103102
const baseNextMiddleware: NextMiddleware = withLogger('clerkMiddleware', logger => async (request, event) => {
104103
// Handles the case where `options` is a callback function to dynamically access `NextRequest`
105104
const resolvedParams = typeof params === 'function' ? await params(request) : params;
@@ -263,7 +262,9 @@ export const clerkMiddleware: ClerkMiddleware = (...args: unknown[]) => {
263262
// eg, export default clerkMiddleware(auth => { ... });
264263
return nextMiddleware;
265264
});
266-
};
265+
266+
return middleware;
267+
}) as ClerkMiddleware;
267268

268269
const parseRequestAndEvent = (args: unknown[]) => {
269270
return [args[0] instanceof Request ? args[0] : undefined, args[0] instanceof Request ? args[1] : undefined] as [

0 commit comments

Comments
 (0)