diff --git a/packages/next/lib/load-custom-routes.ts b/packages/next/lib/load-custom-routes.ts index 36a226b81221..caa0e2f8307c 100644 --- a/packages/next/lib/load-custom-routes.ts +++ b/packages/next/lib/load-custom-routes.ts @@ -42,9 +42,16 @@ export type Redirect = { basePath?: false locale?: false has?: RouteHas[] - statusCode?: number - permanent?: boolean -} +} & ( + | { + statusCode?: never + permanent: boolean + } + | { + statusCode: number + permanent?: never + } +) export const allowedStatusCodes = new Set([301, 302, 303, 307, 308]) const allowedHasTypes = new Set(['header', 'cookie', 'query', 'host'])