diff --git a/plugins/auth-backend/src/providers/createAuthProviderIntegration.ts b/plugins/auth-backend/src/providers/createAuthProviderIntegration.ts index 8b58e89062..c6e9107353 100644 --- a/plugins/auth-backend/src/providers/createAuthProviderIntegration.ts +++ b/plugins/auth-backend/src/providers/createAuthProviderIntegration.ts @@ -25,18 +25,20 @@ import { AuthProviderFactory, SignInResolver } from './types'; */ export function createAuthProviderIntegration< TCreateOptions extends unknown[], - TResolvers extends { - [name in string]: (...args: any[]) => SignInResolver; - }, + TResolvers extends + | { + [name in string]: (...args: any[]) => SignInResolver; + }, >(config: { create: (...args: TCreateOptions) => AuthProviderFactory; - resolvers: TResolvers; + resolvers?: TResolvers; }): Readonly<{ create: (...args: TCreateOptions) => AuthProviderFactory; - resolvers: Readonly; + // If no resolvers are defined, this receives the type `never` + resolvers: Readonly; }> { return Object.freeze({ ...config, - resolvers: Object.freeze(config.resolvers), + resolvers: Object.freeze(config.resolvers ?? ({} as any)), }); }