Next.js Supabase V3 (#463)

Version 3 of the kit:
- Radix UI replaced with Base UI (using the Shadcn UI patterns)
- next-intl replaces react-i18next
- enhanceAction deprecated; usage moved to next-safe-action
- main layout now wrapped with [locale] path segment
- Teams only mode
- Layout updates
- Zod v4
- Next.js 16.2
- Typescript 6
- All other dependencies updated
- Removed deprecated Edge CSRF
- Dynamic Github Action runner
This commit is contained in:
Giancarlo Buomprisco
2026-03-24 13:40:38 +08:00
committed by GitHub
parent 4912e402a3
commit 7ebff31475
840 changed files with 71395 additions and 20095 deletions

View File

@@ -1,36 +1,17 @@
import type { Provider } from '@supabase/supabase-js';
import { z } from 'zod';
import * as z from 'zod';
const providers: z.ZodType<Provider> = getProviders();
const AuthConfigSchema = z.object({
captchaTokenSiteKey: z
.string({
description: 'The reCAPTCHA site key.',
})
.optional(),
displayTermsCheckbox: z
.boolean({
description: 'Whether to display the terms checkbox during sign-up.',
})
.optional(),
enableIdentityLinking: z
.boolean({
description: 'Allow linking and unlinking of auth identities.',
})
.optional()
.default(false),
captchaTokenSiteKey: z.string().optional(),
displayTermsCheckbox: z.boolean().optional(),
enableIdentityLinking: z.boolean().optional().default(false),
providers: z.object({
password: z.boolean({
description: 'Enable password authentication.',
}),
magicLink: z.boolean({
description: 'Enable magic link authentication.',
}),
otp: z.boolean({
description: 'Enable one-time password authentication.',
}),
password: z.boolean(),
magicLink: z.boolean(),
otp: z.boolean(),
oAuth: providers.array(),
}),
});
@@ -57,7 +38,7 @@ const authConfig = AuthConfigSchema.parse({
otp: process.env.NEXT_PUBLIC_AUTH_OTP === 'true',
oAuth: ['google'],
},
} satisfies z.infer<typeof AuthConfigSchema>);
} satisfies z.output<typeof AuthConfigSchema>);
export default authConfig;