From e5d2a5dbbdfadbde5458b0765ae4ad07a9971c4e Mon Sep 17 00:00:00 2001 From: Bereket Engida Date: Mon, 11 Aug 2025 09:58:30 -0700 Subject: [PATCH] chore: bump `biome` (#3784) --- biome.json | 39 +++--- demo/nextjs/app/dashboard/change-plan.tsx | 5 +- demo/nextjs/components/account-switch.tsx | 6 +- docs/app/global.css | 9 +- docs/components/api-method.tsx | 5 +- docs/components/builder/tabs.tsx | 6 +- docs/components/landing/section-svg.tsx | 6 +- docs/components/side-bar.tsx | 5 +- examples/nextjs-mcp/app/globals.css | 26 ++-- .../app/components/login-form.tsx | 2 + .../app/components/ui/avatar.tsx | 2 +- .../app/components/ui/button.tsx | 2 +- .../app/components/ui/dialog.tsx | 2 +- .../app/components/ui/label.tsx | 2 +- examples/tanstack-example/app/lib/auth.ts | 2 +- examples/tanstack-example/app/lib/icons/X.tsx | 1 + .../tanstack-example/app/lib/style/global.css | 4 +- .../tanstack-example/app/routeTree.gen.ts | 6 +- .../tanstack-example/app/routes/__root.tsx | 9 +- .../tanstack-example/app/routes/index.tsx | 19 ++- examples/tanstack-example/biome.json | 24 +++- package.json | 81 ++++++------ .../src/adapters/create-adapter/index.ts | 27 ++-- .../src/adapters/create-adapter/types.ts | 14 ++- .../test/normal/adapter.kysely.test.ts | 5 +- .../adapter.kysely.number-id.test.ts | 5 +- .../mongodb-adapter/mongodb-adapter.ts | 11 +- packages/better-auth/src/adapters/test.ts | 4 +- .../better-auth/src/cookies/cookie-utils.ts | 4 +- packages/better-auth/src/crypto/password.ts | 5 +- .../src/integrations/solid-start.ts | 4 +- .../plugins/api-key/routes/create-api-key.ts | 11 +- .../src/plugins/api-key/routes/index.ts | 7 +- .../better-auth/src/plugins/api-key/schema.ts | 5 +- .../src/plugins/organization/adapter.ts | 34 ++--- .../organization/routes/crud-invites.ts | 4 +- packages/better-auth/src/types/adapter.ts | 5 +- packages/cli/src/commands/init.ts | 6 +- packages/cli/src/generators/prisma.ts | 6 +- packages/sso/src/index.ts | 2 +- pnpm-lock.yaml | 118 +++++++++--------- 41 files changed, 283 insertions(+), 257 deletions(-) diff --git a/biome.json b/biome.json index 88cb5b346a..8f283a900b 100644 --- a/biome.json +++ b/biome.json @@ -1,12 +1,11 @@ { - "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json", + "root": true, + "$schema": "https://biomejs.dev/schemas/2.1.3/schema.json", "formatter": { "enabled": true, "indentStyle": "tab" }, - "organizeImports": { - "enabled": false - }, + "assist": { "actions": { "source": { "organizeImports": "off" } } }, "linter": { "enabled": true, "rules": { @@ -24,12 +23,15 @@ }, "correctness": { "noUnusedImports": "warn" + }, + "nursery": { + "noMisusedPromises": "error" } } }, "overrides": [ { - "include": ["examples/svelte-kit-example/**"], + "includes": ["**/examples/svelte-kit-example/**"], "linter": { "rules": { "correctness": { @@ -40,19 +42,20 @@ } ], "files": { - "ignore": [ - "dist", - "build", - ".next", - ".svelte-kit", - "package.json", - ".contentlayer", - ".turbo", - ".nuxt", - ".source", - ".expo", - ".cache", - "dev/cloudflare/drizzle" + "includes": [ + "**", + "!**/dist", + "!**/build", + "!**/.next", + "!**/.svelte-kit", + "!**/package.json", + "!**/.contentlayer", + "!**/.turbo", + "!**/.nuxt", + "!**/.source", + "!**/.expo", + "!**/.cache", + "!**/dev/cloudflare/drizzle" ] } } diff --git a/demo/nextjs/app/dashboard/change-plan.tsx b/demo/nextjs/app/dashboard/change-plan.tsx index bc8ade1bf2..1b5bdd0ab6 100644 --- a/demo/nextjs/app/dashboard/change-plan.tsx +++ b/demo/nextjs/app/dashboard/change-plan.tsx @@ -15,10 +15,7 @@ import { ArrowUpFromLine, CreditCard, RefreshCcw } from "lucide-react"; import { useId, useState } from "react"; import { toast } from "sonner"; -function Component(props: { - currentPlan?: string; - isTrial?: boolean; -}) { +function Component(props: { currentPlan?: string; isTrial?: boolean }) { const [selectedPlan, setSelectedPlan] = useState("plus"); const id = useId(); return ( diff --git a/demo/nextjs/components/account-switch.tsx b/demo/nextjs/components/account-switch.tsx index 89a614e282..d47dec99c3 100644 --- a/demo/nextjs/components/account-switch.tsx +++ b/demo/nextjs/components/account-switch.tsx @@ -20,11 +20,7 @@ import { Session } from "@/lib/auth-types"; import { client, useSession } from "@/lib/auth-client"; import { useRouter } from "next/navigation"; -export default function AccountSwitcher({ - sessions, -}: { - sessions: Session[]; -}) { +export default function AccountSwitcher({ sessions }: { sessions: Session[] }) { const { data: currentUser } = useSession(); const [open, setOpen] = useState(false); const router = useRouter(); diff --git a/docs/app/global.css b/docs/app/global.css index 93ecb8167d..68a226589f 100644 --- a/docs/app/global.css +++ b/docs/app/global.css @@ -251,11 +251,10 @@ html { @layer utilities { .no-scrollbar::-webkit-scrollbar { - display: none; + display: none; } .no-scrollbar { - -ms-overflow-style: none; - scrollbar-width: none; + -ms-overflow-style: none; + scrollbar-width: none; } - } - \ No newline at end of file +} diff --git a/docs/components/api-method.tsx b/docs/components/api-method.tsx index 8d194aaac1..28617701d6 100644 --- a/docs/components/api-method.tsx +++ b/docs/components/api-method.tsx @@ -319,7 +319,10 @@ function getChildren( function TypeTable({ props, isServer, -}: { props: Property[]; isServer: boolean }) { +}: { + props: Property[]; + isServer: boolean; +}) { if (!isServer && !props.filter((x) => !x.isServerOnly).length) return null; if (isServer && !props.filter((x) => !x.isClientOnly).length) return null; if (!props.length) return null; diff --git a/docs/components/builder/tabs.tsx b/docs/components/builder/tabs.tsx index 2f6e5c1484..fa73c9a1b0 100644 --- a/docs/components/builder/tabs.tsx +++ b/docs/components/builder/tabs.tsx @@ -9,11 +9,7 @@ type Tab = { content?: string | React.ReactNode | any; }; -export const AuthTabs = ({ - tabs: propTabs, -}: { - tabs: Tab[]; -}) => { +export const AuthTabs = ({ tabs: propTabs }: { tabs: Tab[] }) => { const [active, setActive] = useState(propTabs[0]); const [tabs, setTabs] = useState(propTabs); const isActive = (tab: Tab) => { diff --git a/docs/components/landing/section-svg.tsx b/docs/components/landing/section-svg.tsx index fccc8cb6b5..235dfece32 100644 --- a/docs/components/landing/section-svg.tsx +++ b/docs/components/landing/section-svg.tsx @@ -1,10 +1,6 @@ import { Plus } from "lucide-react"; -const SectionSvg = ({ - crossesOffset, -}: { - crossesOffset: string; -}) => { +const SectionSvg = ({ crossesOffset }: { crossesOffset: string }) => { return ( <> void }) { +}: { + group: string; + setGroup: (group: string) => void; +}) { const router = useRouter(); const selected = tabs.find((tab) => tab.value === group); diff --git a/examples/nextjs-mcp/app/globals.css b/examples/nextjs-mcp/app/globals.css index a2dc41ecee..0673ff0229 100644 --- a/examples/nextjs-mcp/app/globals.css +++ b/examples/nextjs-mcp/app/globals.css @@ -1,26 +1,26 @@ @import "tailwindcss"; :root { - --background: #ffffff; - --foreground: #171717; + --background: #ffffff; + --foreground: #171717; } @theme inline { - --color-background: var(--background); - --color-foreground: var(--foreground); - --font-sans: var(--font-geist-sans); - --font-mono: var(--font-geist-mono); + --color-background: var(--background); + --color-foreground: var(--foreground); + --font-sans: var(--font-geist-sans); + --font-mono: var(--font-geist-mono); } @media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - } + :root { + --background: #0a0a0a; + --foreground: #ededed; + } } body { - background: var(--background); - color: var(--foreground); - font-family: Arial, Helvetica, sans-serif; + background: var(--background); + color: var(--foreground); + font-family: Arial, Helvetica, sans-serif; } diff --git a/examples/tanstack-example/app/components/login-form.tsx b/examples/tanstack-example/app/components/login-form.tsx index d2d3825ac5..ad0ca6210e 100644 --- a/examples/tanstack-example/app/components/login-form.tsx +++ b/examples/tanstack-example/app/components/login-form.tsx @@ -82,6 +82,7 @@ export function LoginForm() { height="1em" viewBox="0 0 24 24" > + Discord logo + GitHub logo { + }: { + model: string; + field: string; + }) => { // Plugin `schema`s can't define their own `id`. Better-auth auto provides `id` to every schema model. // Given this, we can't just check if the `field` (that being `id`) is within the schema's fields, since it is never defined. // So we check if the `field` is `id` and if so, we return `id` itself. Otherwise, we return the `field` from the schema. @@ -184,7 +187,10 @@ export const createAdapter = function getFieldName({ model: model_name, field: field_name, - }: { model: string; field: string }) { + }: { + model: string; + field: string; + }) { const model = getDefaultModelName(model_name); const field = getDefaultFieldName({ model, field: field_name }); @@ -251,7 +257,10 @@ export const createAdapter = const idField = ({ customModelName, forceAllowId, - }: { customModelName?: string; forceAllowId?: boolean }) => { + }: { + customModelName?: string; + forceAllowId?: boolean; + }) => { const shouldGenerateId = !config.disableIdGeneration && !options.advanced?.database?.useNumberId && @@ -291,7 +300,10 @@ export const createAdapter = const getFieldAttributes = ({ model, field, - }: { model: string; field: string }) => { + }: { + model: string; + field: string; + }) => { const defaultModelName = getDefaultModelName(model); const defaultFieldName = getDefaultFieldName({ field: field, @@ -482,9 +494,10 @@ export const createAdapter = const transformWhereClause = ({ model, where, - }: { where: W; model: string }): W extends undefined - ? undefined - : CleanedWhere[] => { + }: { + where: W; + model: string; + }): W extends undefined ? undefined : CleanedWhere[] => { if (!where) return undefined as any; const newMappedKeys = config.mapKeysTransformInput ?? {}; diff --git a/packages/better-auth/src/adapters/create-adapter/types.ts b/packages/better-auth/src/adapters/create-adapter/types.ts index 405b6f10f3..4a6c1352f4 100644 --- a/packages/better-auth/src/adapters/create-adapter/types.ts +++ b/packages/better-auth/src/adapters/create-adapter/types.ts @@ -222,9 +222,7 @@ export interface AdapterConfig { * } * ``` */ - customIdGenerator?: (props: { - model: string; - }) => string; + customIdGenerator?: (props: { model: string }) => string; } export type CreateCustomAdapter = ({ @@ -280,7 +278,10 @@ export type CreateCustomAdapter = ({ getDefaultFieldName: ({ model, field, - }: { model: string; field: string }) => string; + }: { + model: string; + field: string; + }) => string; /** * Get the field attributes for a given model and field. * @@ -289,7 +290,10 @@ export type CreateCustomAdapter = ({ getFieldAttributes: ({ model, field, - }: { model: string; field: string }) => FieldAttribute; + }: { + model: string; + field: string; + }) => FieldAttribute; }) => CustomAdapter; export interface CustomAdapter { diff --git a/packages/better-auth/src/adapters/kysely-adapter/test/normal/adapter.kysely.test.ts b/packages/better-auth/src/adapters/kysely-adapter/test/normal/adapter.kysely.test.ts index 33748f0543..4a72608fbf 100644 --- a/packages/better-auth/src/adapters/kysely-adapter/test/normal/adapter.kysely.test.ts +++ b/packages/better-auth/src/adapters/kysely-adapter/test/normal/adapter.kysely.test.ts @@ -29,7 +29,10 @@ const mysqlKy = new Kysely({ export const opts = ({ database, isNumberIdTest, -}: { database: BetterAuthOptions["database"]; isNumberIdTest: boolean }) => +}: { + database: BetterAuthOptions["database"]; + isNumberIdTest: boolean; +}) => ({ database: database, user: { diff --git a/packages/better-auth/src/adapters/kysely-adapter/test/number-id/adapter.kysely.number-id.test.ts b/packages/better-auth/src/adapters/kysely-adapter/test/number-id/adapter.kysely.number-id.test.ts index 096eb89ea9..44cb7d1dc1 100644 --- a/packages/better-auth/src/adapters/kysely-adapter/test/number-id/adapter.kysely.number-id.test.ts +++ b/packages/better-auth/src/adapters/kysely-adapter/test/number-id/adapter.kysely.number-id.test.ts @@ -15,7 +15,10 @@ import type { BetterAuthOptions } from "../../../../types"; export const opts = ({ database, isNumberIdTest, -}: { database: BetterAuthOptions["database"]; isNumberIdTest: boolean }) => +}: { + database: BetterAuthOptions["database"]; + isNumberIdTest: boolean; +}) => ({ database: database, user: { diff --git a/packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts b/packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts index 90f4f4d571..dd5dda30e5 100644 --- a/packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts +++ b/packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts @@ -96,7 +96,11 @@ export const mongodbAdapter = (db: Db, config?: MongoDBAdapterConfig) => { field, value, model, - }: { field: string; value: any; model: string }) { + }: { + field: string; + value: any; + model: string; + }) { if (customIdGen) { return value; } @@ -139,7 +143,10 @@ export const mongodbAdapter = (db: Db, config?: MongoDBAdapterConfig) => { function convertWhereClause({ where, model, - }: { where: Where[]; model: string }) { + }: { + where: Where[]; + model: string; + }) { if (!where.length) return {}; const conditions = where.map((w) => { const { diff --git a/packages/better-auth/src/adapters/test.ts b/packages/better-auth/src/adapters/test.ts index ffb5ca6912..d9bb5f674d 100644 --- a/packages/better-auth/src/adapters/test.ts +++ b/packages/better-auth/src/adapters/test.ts @@ -56,8 +56,8 @@ const numberIdAdapterTests = { SHOULD_INCREMENT_THE_ID_BY_1: "Should increment the id by 1", } as const; -// @ts-ignore -// biome-ignore lint/performance/noDelete: +// @ts-expect-error +// biome-ignore lint/performance/noDelete: testing propose delete numberIdAdapterTests.SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND; async function adapterTest( diff --git a/packages/better-auth/src/cookies/cookie-utils.ts b/packages/better-auth/src/cookies/cookie-utils.ts index 244b6fde62..89af9a43d7 100644 --- a/packages/better-auth/src/cookies/cookie-utils.ts +++ b/packages/better-auth/src/cookies/cookie-utils.ts @@ -75,9 +75,7 @@ export function parseSetCookieHeader( } export function setCookieToHeader(headers: Headers) { - return (context: { - response: Response; - }) => { + return (context: { response: Response }) => { const setCookieHeader = context.response.headers.get("set-cookie"); if (!setCookieHeader) { return; diff --git a/packages/better-auth/src/crypto/password.ts b/packages/better-auth/src/crypto/password.ts index 1665abd7aa..5b9b5e56b8 100644 --- a/packages/better-auth/src/crypto/password.ts +++ b/packages/better-auth/src/crypto/password.ts @@ -30,7 +30,10 @@ export const hashPassword = async (password: string) => { export const verifyPassword = async ({ hash, password, -}: { hash: string; password: string }) => { +}: { + hash: string; + password: string; +}) => { const [salt, key] = hash.split(":"); const targetKey = await generateKey(password, salt!); return constantTimeEqual(targetKey, hexToBytes(key)); diff --git a/packages/better-auth/src/integrations/solid-start.ts b/packages/better-auth/src/integrations/solid-start.ts index 42eb050f99..107c338852 100644 --- a/packages/better-auth/src/integrations/solid-start.ts +++ b/packages/better-auth/src/integrations/solid-start.ts @@ -5,9 +5,7 @@ export function toSolidStartHandler( } | ((request: Request) => Promise), ) { - const handler = async (event: { - request: Request; - }) => { + const handler = async (event: { request: Request }) => { return "handler" in auth ? auth.handler(event.request) : auth(event.request); diff --git a/packages/better-auth/src/plugins/api-key/routes/create-api-key.ts b/packages/better-auth/src/plugins/api-key/routes/create-api-key.ts index 2bcf88f5c1..c7606bd4e5 100644 --- a/packages/better-auth/src/plugins/api-key/routes/create-api-key.ts +++ b/packages/better-auth/src/plugins/api-key/routes/create-api-key.ts @@ -15,9 +15,10 @@ export function createApiKey({ schema, deleteAllExpiredApiKeys, }: { - keyGenerator: (options: { length: number; prefix: string | undefined }) => - | Promise - | string; + keyGenerator: (options: { + length: number; + prefix: string | undefined; + }) => Promise | string; opts: PredefinedApiKeyOptions; schema: ReturnType; deleteAllExpiredApiKeys( @@ -420,12 +421,12 @@ export function createApiKey({ rateLimitTimeWindow: rateLimitTimeWindow ?? opts.rateLimit.timeWindow ?? null, remaining: - remaining === null ? remaining : remaining ?? refillAmount ?? null, + remaining === null ? remaining : (remaining ?? refillAmount ?? null), refillAmount: refillAmount ?? null, refillInterval: refillInterval ?? null, rateLimitEnabled: rateLimitEnabled === undefined - ? opts.rateLimit.enabled ?? true + ? (opts.rateLimit.enabled ?? true) : rateLimitEnabled, requestCount: 0, //@ts-ignore - we intentionally save the permissions as string on DB. diff --git a/packages/better-auth/src/plugins/api-key/routes/index.ts b/packages/better-auth/src/plugins/api-key/routes/index.ts index 7e4f80b29f..ad696b67ae 100644 --- a/packages/better-auth/src/plugins/api-key/routes/index.ts +++ b/packages/better-auth/src/plugins/api-key/routes/index.ts @@ -75,9 +75,10 @@ export function createApiKeyRoutes({ opts, schema, }: { - keyGenerator: (options: { length: number; prefix: string | undefined }) => - | Promise - | string; + keyGenerator: (options: { + length: number; + prefix: string | undefined; + }) => Promise | string; opts: PredefinedApiKeyOptions; schema: ReturnType; }) { diff --git a/packages/better-auth/src/plugins/api-key/schema.ts b/packages/better-auth/src/plugins/api-key/schema.ts index 17dc24a063..212112b99d 100644 --- a/packages/better-auth/src/plugins/api-key/schema.ts +++ b/packages/better-auth/src/plugins/api-key/schema.ts @@ -4,7 +4,10 @@ import parseJSON from "../../client/parser"; export const apiKeySchema = ({ timeWindow, rateLimitMax, -}: { timeWindow: number; rateLimitMax: number }) => +}: { + timeWindow: number; + rateLimitMax: number; +}) => ({ apikey: { fields: { diff --git a/packages/better-auth/src/plugins/organization/adapter.ts b/packages/better-auth/src/plugins/organization/adapter.ts index 7987625fe5..1a4f79d692 100644 --- a/packages/better-auth/src/plugins/organization/adapter.ts +++ b/packages/better-auth/src/plugins/organization/adapter.ts @@ -680,9 +680,7 @@ export const getOrgAdapter = ( return session as Session; }, - listTeamMembers: async (data: { - teamId: string; - }) => { + listTeamMembers: async (data: { teamId: string }) => { const members = await adapter.findMany({ model: "teamMember", where: [ @@ -695,27 +693,21 @@ export const getOrgAdapter = ( return members; }, - countTeamMembers: async (data: { - teamId: string; - }) => { + countTeamMembers: async (data: { teamId: string }) => { const count = await adapter.count({ model: "teamMember", where: [{ field: "teamId", value: data.teamId }], }); return count; }, - countMembers: async (data: { - organizationId: string; - }) => { + countMembers: async (data: { organizationId: string }) => { const count = await adapter.count({ model: "member", where: [{ field: "organizationId", value: data.organizationId }], }); return count; }, - listTeamsByUser: async (data: { - userId: string; - }) => { + listTeamsByUser: async (data: { userId: string }) => { const members = await adapter.findMany({ model: "teamMember", where: [ @@ -740,10 +732,7 @@ export const getOrgAdapter = ( return teams; }, - findTeamMember: async (data: { - teamId: string; - userId: string; - }) => { + findTeamMember: async (data: { teamId: string; userId: string }) => { const member = await adapter.findOne({ model: "teamMember", where: [ @@ -791,10 +780,7 @@ export const getOrgAdapter = ( }); }, - removeTeamMember: async (data: { - teamId: string; - userId: string; - }) => { + removeTeamMember: async (data: { teamId: string; userId: string }) => { await adapter.delete({ model: "teamMember", where: [ @@ -900,9 +886,7 @@ export const getOrgAdapter = ( (invite) => new Date(invite.expiresAt) > new Date(), ); }, - findPendingInvitations: async (data: { - organizationId: string; - }) => { + findPendingInvitations: async (data: { organizationId: string }) => { const invitations = await adapter.findMany>({ model: "invitation", where: [ @@ -920,9 +904,7 @@ export const getOrgAdapter = ( (invite) => new Date(invite.expiresAt) > new Date(), ); }, - listInvitations: async (data: { - organizationId: string; - }) => { + listInvitations: async (data: { organizationId: string }) => { const invitations = await adapter.findMany>({ model: "invitation", where: [ diff --git a/packages/better-auth/src/plugins/organization/routes/crud-invites.ts b/packages/better-auth/src/plugins/organization/routes/crud-invites.ts index 495d6848ce..2126ed9bc1 100644 --- a/packages/better-auth/src/plugins/organization/routes/crud-invites.ts +++ b/packages/better-auth/src/plugins/organization/routes/crud-invites.ts @@ -256,7 +256,7 @@ export const createInvitation = (option: O) => { }, ctx.context, ) - : ctx.context.orgOptions.invitationLimit ?? 100; + : (ctx.context.orgOptions.invitationLimit ?? 100); const pendingInvitations = await adapter.findPendingInvitations({ organizationId: organizationId, @@ -315,7 +315,7 @@ export const createInvitation = (option: O) => { "teamId" in ctx.body ? typeof ctx.body.teamId === "string" ? [ctx.body.teamId as string] - : (ctx.body.teamId as string[]) ?? [] + : ((ctx.body.teamId as string[]) ?? []) : []; const { diff --git a/packages/better-auth/src/types/adapter.ts b/packages/better-auth/src/types/adapter.ts index f3756b9c92..7ac607f5de 100644 --- a/packages/better-auth/src/types/adapter.ts +++ b/packages/better-auth/src/types/adapter.ts @@ -51,10 +51,7 @@ export type Adapter = { }; offset?: number; }) => Promise; - count: (data: { - model: string; - where?: Where[]; - }) => Promise; + count: (data: { model: string; where?: Where[] }) => Promise; /** * ⚠︎ Update may not return the updated data * if multiple where clauses are provided diff --git a/packages/cli/src/commands/init.ts b/packages/cli/src/commands/init.ts index 1135e207f2..9c4b441f13 100644 --- a/packages/cli/src/commands/init.ts +++ b/packages/cli/src/commands/init.ts @@ -201,11 +201,7 @@ const defaultFormatOptions = { tabWidth: 4, }; -const getDefaultAuthConfig = async ({ - appName, -}: { - appName?: string; -}) => +const getDefaultAuthConfig = async ({ appName }: { appName?: string }) => await prettierFormat( [ "import { betterAuth } from 'better-auth';", diff --git a/packages/cli/src/generators/prisma.ts b/packages/cli/src/generators/prisma.ts index 3b857e70ee..85d12bafc8 100644 --- a/packages/cli/src/generators/prisma.ts +++ b/packages/cli/src/generators/prisma.ts @@ -63,7 +63,11 @@ export const generatePrismaSchema: SchemaGenerator = async ({ isBigint, isOptional, type, - }: { type: FieldType; isOptional: boolean; isBigint: boolean }) { + }: { + type: FieldType; + isOptional: boolean; + isBigint: boolean; + }) { if (type === "string") { return isOptional ? "String?" : "String"; } diff --git a/packages/sso/src/index.ts b/packages/sso/src/index.ts index 3a40726f69..ad9d921630 100644 --- a/packages/sso/src/index.ts +++ b/packages/sso/src/index.ts @@ -563,7 +563,7 @@ export const sso = (options?: SSOOptions) => { const limit = typeof options?.providersLimit === "function" ? await options.providersLimit(user) - : options?.providersLimit ?? 10; + : (options?.providersLimit ?? 10); if (!limit) { throw new APIError("FORBIDDEN", { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5ce4410985..163c3a17e9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,8 +31,8 @@ importers: .: dependencies: '@biomejs/biome': - specifier: 1.7.3 - version: 1.7.3 + specifier: 2.1.3 + version: 2.1.3 '@types/node': specifier: ^20.17.9 version: 20.17.57 @@ -979,7 +979,7 @@ importers: version: 8.6.0(vue@3.5.18(typescript@5.8.3)) nuxt: specifier: ^3.14.1592 - version: 3.17.4(u7o2fm6xsvozcu3hqg2m2evhvi) + version: 3.17.4(pmbbkaqntai4lvdcfdsxjvtgwi) radix-vue: specifier: ^1.9.11 version: 1.9.17(vue@3.5.18(typescript@5.8.3)) @@ -2703,21 +2703,15 @@ packages: '@better-fetch/fetch@1.1.18': resolution: {integrity: sha512-rEFOE1MYIsBmoMJtQbl32PGHHXuG2hDxvEd7rUHE0vCBoFQVSDqaVs9hkZEtHCxRoY+CljXKFCOuJ8uxqw1LcA==} - '@biomejs/biome@1.7.3': - resolution: {integrity: sha512-ogFQI+fpXftr+tiahA6bIXwZ7CSikygASdqMtH07J2cUzrpjyTMVc9Y97v23c7/tL1xCZhM+W9k4hYIBm7Q6cQ==} - engines: {node: '>=14.21.3'} - hasBin: true - '@biomejs/biome@1.9.4': resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@1.7.3': - resolution: {integrity: sha512-eDvLQWmGRqrPIRY7AIrkPHkQ3visEItJKkPYSHCscSDdGvKzYjmBJwG1Gu8+QC5ed6R7eiU63LEC0APFBobmfQ==} + '@biomejs/biome@2.1.3': + resolution: {integrity: sha512-KE/tegvJIxTkl7gJbGWSgun7G6X/n2M6C35COT6ctYrAy7SiPyNvi6JtoQERVK/VRbttZfgGq96j2bFmhmnH4w==} engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [darwin] + hasBin: true '@biomejs/cli-darwin-arm64@1.9.4': resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} @@ -2725,10 +2719,10 @@ packages: cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@1.7.3': - resolution: {integrity: sha512-JXCaIseKRER7dIURsVlAJacnm8SG5I0RpxZ4ya3dudASYUc68WGl4+FEN03ABY3KMIq7hcK1tzsJiWlmXyosZg==} + '@biomejs/cli-darwin-arm64@2.1.3': + resolution: {integrity: sha512-LFLkSWRoSGS1wVUD/BE6Nlt2dSn0ulH3XImzg2O/36BoToJHKXjSxzPEMAqT9QvwVtk7/9AQhZpTneERU9qaXA==} engines: {node: '>=14.21.3'} - cpu: [x64] + cpu: [arm64] os: [darwin] '@biomejs/cli-darwin-x64@1.9.4': @@ -2737,11 +2731,11 @@ packages: cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@1.7.3': - resolution: {integrity: sha512-c8AlO45PNFZ1BYcwaKzdt46kYbuP6xPGuGQ6h4j3XiEDpyseRRUy/h+6gxj07XovmyxKnSX9GSZ6nVbZvcVUAw==} + '@biomejs/cli-darwin-x64@2.1.3': + resolution: {integrity: sha512-Q/4OTw8P9No9QeowyxswcWdm0n2MsdCwWcc5NcKQQvzwPjwuPdf8dpPPf4r+x0RWKBtl1FLiAUtJvBlri6DnYw==} engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [linux] + cpu: [x64] + os: [darwin] '@biomejs/cli-linux-arm64-musl@1.9.4': resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} @@ -2749,8 +2743,8 @@ packages: cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@1.7.3': - resolution: {integrity: sha512-phNTBpo7joDFastnmZsFjYcDYobLTx4qR4oPvc9tJ486Bd1SfEVPHEvJdNJrMwUQK56T+TRClOQd/8X1nnjA9w==} + '@biomejs/cli-linux-arm64-musl@2.1.3': + resolution: {integrity: sha512-KXouFSBnoxAWZYDQrnNRzZBbt5s9UJkIm40hdvSL9mBxSSoxRFQJbtg1hP3aa8A2SnXyQHxQfpiVeJlczZt76w==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] @@ -2761,10 +2755,10 @@ packages: cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@1.7.3': - resolution: {integrity: sha512-UdEHKtYGWEX3eDmVWvQeT+z05T9/Sdt2+F/7zmMOFQ7boANeX8pcO6EkJPK3wxMudrApsNEKT26rzqK6sZRTRA==} + '@biomejs/cli-linux-arm64@2.1.3': + resolution: {integrity: sha512-2hS6LgylRqMFmAZCOFwYrf77QMdUwJp49oe8PX/O8+P2yKZMSpyQTf3Eo5ewnsMFUEmYbPOskafdV1ds1MZMJA==} engines: {node: '>=14.21.3'} - cpu: [x64] + cpu: [arm64] os: [linux] '@biomejs/cli-linux-x64-musl@1.9.4': @@ -2773,8 +2767,8 @@ packages: cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@1.7.3': - resolution: {integrity: sha512-vnedYcd5p4keT3iD48oSKjOIRPYcjSNNbd8MO1bKo9ajg3GwQXZLAH+0Cvlr+eMsO67/HddWmscSQwTFrC/uPA==} + '@biomejs/cli-linux-x64-musl@2.1.3': + resolution: {integrity: sha512-KaLAxnROouzIWtl6a0Y88r/4hW5oDUJTIqQorOTVQITaKQsKjZX4XCUmHIhdEk8zMnaiLZzRTAwk1yIAl+mIew==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] @@ -2785,11 +2779,11 @@ packages: cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@1.7.3': - resolution: {integrity: sha512-unNCDqUKjujYkkSxs7gFIfdasttbDC4+z0kYmcqzRk6yWVoQBL4dNLcCbdnJS+qvVDNdI9rHp2NwpQ0WAdla4Q==} + '@biomejs/cli-linux-x64@2.1.3': + resolution: {integrity: sha512-NxlSCBhLvQtWGagEztfAZ4WcE1AkMTntZV65ZvR+J9jp06+EtOYEBPQndA70ZGhHbEDG57bR6uNvqkd1WrEYVA==} engines: {node: '>=14.21.3'} - cpu: [arm64] - os: [win32] + cpu: [x64] + os: [linux] '@biomejs/cli-win32-arm64@1.9.4': resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} @@ -2797,10 +2791,10 @@ packages: cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@1.7.3': - resolution: {integrity: sha512-ZmByhbrnmz/UUFYB622CECwhKIPjJLLPr5zr3edhu04LzbfcOrz16VYeNq5dpO1ADG70FORhAJkaIGdaVBG00w==} + '@biomejs/cli-win32-arm64@2.1.3': + resolution: {integrity: sha512-V9CUZCtWH4u0YwyCYbQ3W5F4ZGPWp2C2TYcsiWFNNyRfmOW1j/TY/jAurl33SaRjgZPO5UUhGyr9m6BN9t84NQ==} engines: {node: '>=14.21.3'} - cpu: [x64] + cpu: [arm64] os: [win32] '@biomejs/cli-win32-x64@1.9.4': @@ -2809,6 +2803,12 @@ packages: cpu: [x64] os: [win32] + '@biomejs/cli-win32-x64@2.1.3': + resolution: {integrity: sha512-dxy599q6lgp8ANPpR8sDMscwdp9oOumEsVXuVCVT9N2vAho8uYXlCz53JhxX6LtJOXaE73qzgkGQ7QqvFlMC0g==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [win32] + '@chevrotain/cst-dts-gen@10.5.0': resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==} @@ -21238,17 +21238,6 @@ snapshots: '@better-fetch/fetch@1.1.18': {} - '@biomejs/biome@1.7.3': - optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.7.3 - '@biomejs/cli-darwin-x64': 1.7.3 - '@biomejs/cli-linux-arm64': 1.7.3 - '@biomejs/cli-linux-arm64-musl': 1.7.3 - '@biomejs/cli-linux-x64': 1.7.3 - '@biomejs/cli-linux-x64-musl': 1.7.3 - '@biomejs/cli-win32-arm64': 1.7.3 - '@biomejs/cli-win32-x64': 1.7.3 - '@biomejs/biome@1.9.4': optionalDependencies: '@biomejs/cli-darwin-arm64': 1.9.4 @@ -21260,54 +21249,65 @@ snapshots: '@biomejs/cli-win32-arm64': 1.9.4 '@biomejs/cli-win32-x64': 1.9.4 - '@biomejs/cli-darwin-arm64@1.7.3': - optional: true + '@biomejs/biome@2.1.3': + optionalDependencies: + '@biomejs/cli-darwin-arm64': 2.1.3 + '@biomejs/cli-darwin-x64': 2.1.3 + '@biomejs/cli-linux-arm64': 2.1.3 + '@biomejs/cli-linux-arm64-musl': 2.1.3 + '@biomejs/cli-linux-x64': 2.1.3 + '@biomejs/cli-linux-x64-musl': 2.1.3 + '@biomejs/cli-win32-arm64': 2.1.3 + '@biomejs/cli-win32-x64': 2.1.3 '@biomejs/cli-darwin-arm64@1.9.4': optional: true - '@biomejs/cli-darwin-x64@1.7.3': + '@biomejs/cli-darwin-arm64@2.1.3': optional: true '@biomejs/cli-darwin-x64@1.9.4': optional: true - '@biomejs/cli-linux-arm64-musl@1.7.3': + '@biomejs/cli-darwin-x64@2.1.3': optional: true '@biomejs/cli-linux-arm64-musl@1.9.4': optional: true - '@biomejs/cli-linux-arm64@1.7.3': + '@biomejs/cli-linux-arm64-musl@2.1.3': optional: true '@biomejs/cli-linux-arm64@1.9.4': optional: true - '@biomejs/cli-linux-x64-musl@1.7.3': + '@biomejs/cli-linux-arm64@2.1.3': optional: true '@biomejs/cli-linux-x64-musl@1.9.4': optional: true - '@biomejs/cli-linux-x64@1.7.3': + '@biomejs/cli-linux-x64-musl@2.1.3': optional: true '@biomejs/cli-linux-x64@1.9.4': optional: true - '@biomejs/cli-win32-arm64@1.7.3': + '@biomejs/cli-linux-x64@2.1.3': optional: true '@biomejs/cli-win32-arm64@1.9.4': optional: true - '@biomejs/cli-win32-x64@1.7.3': + '@biomejs/cli-win32-arm64@2.1.3': optional: true '@biomejs/cli-win32-x64@1.9.4': optional: true + '@biomejs/cli-win32-x64@2.1.3': + optional: true + '@chevrotain/cst-dts-gen@10.5.0': dependencies: '@chevrotain/gast': 10.5.0 @@ -23658,7 +23658,7 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/vite-builder@3.17.4(@biomejs/biome@1.9.4)(@types/node@22.13.8)(eslint@8.57.1)(less@4.3.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.41.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(typescript@5.8.3)(vue@3.5.18(typescript@5.8.3))(yaml@2.8.0)': + '@nuxt/vite-builder@3.17.4(@biomejs/biome@2.1.3)(@types/node@22.13.8)(eslint@8.57.1)(less@4.3.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.41.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(typescript@5.8.3)(vue@3.5.18(typescript@5.8.3))(yaml@2.8.0)': dependencies: '@nuxt/kit': 3.17.4(magicast@0.3.5) '@rollup/plugin-replace': 6.0.2(rollup@4.41.1) @@ -23691,7 +23691,7 @@ snapshots: unplugin: 2.3.5 vite: 6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) vite-node: 3.1.4(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) - vite-plugin-checker: 0.9.3(@biomejs/biome@1.9.4)(eslint@8.57.1)(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) + vite-plugin-checker: 0.9.3(@biomejs/biome@2.1.3)(eslint@8.57.1)(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)) vue: 3.5.18(typescript@5.8.3) vue-bundle-renderer: 2.1.1 transitivePeerDependencies: @@ -39047,7 +39047,7 @@ snapshots: dependencies: esm-env: 1.2.2 - nuxt@3.17.4(u7o2fm6xsvozcu3hqg2m2evhvi): + nuxt@3.17.4(pmbbkaqntai4lvdcfdsxjvtgwi): dependencies: '@nuxt/cli': 3.25.1(magicast@0.3.5) '@nuxt/devalue': 2.0.2 @@ -39055,7 +39055,7 @@ snapshots: '@nuxt/kit': 3.17.4(magicast@0.3.5) '@nuxt/schema': 3.17.4 '@nuxt/telemetry': 2.6.6(magicast@0.3.5) - '@nuxt/vite-builder': 3.17.4(@biomejs/biome@1.9.4)(@types/node@22.13.8)(eslint@8.57.1)(less@4.3.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.41.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(typescript@5.8.3)(vue@3.5.18(typescript@5.8.3))(yaml@2.8.0) + '@nuxt/vite-builder': 3.17.4(@biomejs/biome@2.1.3)(@types/node@22.13.8)(eslint@8.57.1)(less@4.3.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.41.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(typescript@5.8.3)(vue@3.5.18(typescript@5.8.3))(yaml@2.8.0) '@unhead/vue': 2.0.10(vue@3.5.18(typescript@5.8.3)) '@vue/shared': 3.5.18 c12: 3.0.4(magicast@0.3.5) @@ -44290,7 +44290,7 @@ snapshots: - tsx - yaml - vite-plugin-checker@0.9.3(@biomejs/biome@1.9.4)(eslint@8.57.1)(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)): + vite-plugin-checker@0.9.3(@biomejs/biome@2.1.3)(eslint@8.57.1)(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0)): dependencies: '@babel/code-frame': 7.27.1 chokidar: 4.0.3 @@ -44303,7 +44303,7 @@ snapshots: vite: 6.3.5(@types/node@22.13.8)(jiti@2.4.2)(less@4.3.0)(lightningcss@1.30.1)(sass@1.89.1)(terser@5.40.0)(tsx@4.19.4)(yaml@2.8.0) vscode-uri: 3.1.0 optionalDependencies: - '@biomejs/biome': 1.9.4 + '@biomejs/biome': 2.1.3 eslint: 8.57.1 optionator: 0.9.4 typescript: 5.8.3