From 56a9564d383145ae966995f617d1aec9e8a4969d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Orb=C3=A1n?= Date: Wed, 2 Oct 2024 21:50:40 +0200 Subject: [PATCH] feat(adapters): support Prisma's `strictUndefinedChecks` (#11952) * Fix #11944 - Removed explicit undefined values before passing to Prisma * Pull out stripUndefined to module scope * chore: upgrade dependencies * feat(adapters): support Prisma's `strictUndefinedChecks` * downgrade accelerate https://www.answeroverflow.com/m/1290391123633770589 * syntax * syntax --------- Co-authored-by: Peter Goldstein --- packages/adapter-prisma/package.json | 8 +- packages/adapter-prisma/prisma/custom.prisma | 1 + packages/adapter-prisma/prisma/mongodb.prisma | 1 + packages/adapter-prisma/prisma/schema.prisma | 1 + packages/adapter-prisma/src/index.ts | 34 ++- pnpm-lock.yaml | 215 +++++++++--------- 6 files changed, 136 insertions(+), 124 deletions(-) diff --git a/packages/adapter-prisma/package.json b/packages/adapter-prisma/package.json index a7e3cbf551..28623b89c8 100644 --- a/packages/adapter-prisma/package.json +++ b/packages/adapter-prisma/package.json @@ -56,9 +56,9 @@ "@prisma/client": ">=2.26.0 || >=3 || >=4 || >=5" }, "devDependencies": { - "@prisma/client": "^5.9.1", - "@prisma/extension-accelerate": "^0.6.3", - "mongodb": "^4.17.0", - "prisma": "^5.9.1" + "@prisma/client": "^5.20.0", + "@prisma/extension-accelerate": "1.1.0", + "mongodb": "^6.9.0", + "prisma": "^5.20.0" } } diff --git a/packages/adapter-prisma/prisma/custom.prisma b/packages/adapter-prisma/prisma/custom.prisma index 0f67d40919..a455a2343b 100644 --- a/packages/adapter-prisma/prisma/custom.prisma +++ b/packages/adapter-prisma/prisma/custom.prisma @@ -5,6 +5,7 @@ datasource db { generator client { provider = "prisma-client-js" + previewFeatures = ["strictUndefinedChecks"] } model User { diff --git a/packages/adapter-prisma/prisma/mongodb.prisma b/packages/adapter-prisma/prisma/mongodb.prisma index e0f83db99c..8762338abe 100644 --- a/packages/adapter-prisma/prisma/mongodb.prisma +++ b/packages/adapter-prisma/prisma/mongodb.prisma @@ -5,6 +5,7 @@ datasource db { generator client { provider = "prisma-client-js" + previewFeatures = ["strictUndefinedChecks"] } model Account { diff --git a/packages/adapter-prisma/prisma/schema.prisma b/packages/adapter-prisma/prisma/schema.prisma index 60e5a0841b..d545207a74 100644 --- a/packages/adapter-prisma/prisma/schema.prisma +++ b/packages/adapter-prisma/prisma/schema.prisma @@ -5,6 +5,7 @@ datasource db { generator client { provider = "prisma-client-js" + previewFeatures = ["strictUndefinedChecks"] } model User { diff --git a/packages/adapter-prisma/src/index.ts b/packages/adapter-prisma/src/index.ts index bf2f01fd95..769e5ede55 100644 --- a/packages/adapter-prisma/src/index.ts +++ b/packages/adapter-prisma/src/index.ts @@ -29,10 +29,7 @@ export function PrismaAdapter( const p = prisma as PrismaClient return { // We need to let Prisma generate the ID because our default UUID is incompatible with MongoDB - // eslint-disable-next-line @typescript-eslint/no-unused-vars - createUser: ({ id, ...data }) => { - return p.user.create({ data }) - }, + createUser: ({ id, ...data }) => p.user.create(stripUndefined(data)), getUser: (id) => p.user.findUnique({ where: { id } }), getUserByEmail: (email) => p.user.findUnique({ where: { email } }), async getUserByAccount(provider_providerAccountId) { @@ -43,7 +40,10 @@ export function PrismaAdapter( return (account?.user as AdapterUser) ?? null }, updateUser: ({ id, ...data }) => - p.user.update({ where: { id }, data }) as Promise, + p.user.update({ + where: { id }, + ...stripUndefined(data), + }) as Promise, deleteUser: (id) => p.user.delete({ where: { id } }) as Promise, linkAccount: (data) => @@ -61,13 +61,18 @@ export function PrismaAdapter( const { user, ...session } = userAndSession return { user, session } as { user: AdapterUser; session: AdapterSession } }, - createSession: (data) => p.session.create({ data }), + createSession: (data) => p.session.create(stripUndefined(data)), updateSession: (data) => - p.session.update({ where: { sessionToken: data.sessionToken }, data }), + p.session.update({ + where: { sessionToken: data.sessionToken }, + ...stripUndefined(data), + }), deleteSession: (sessionToken) => p.session.delete({ where: { sessionToken } }), async createVerificationToken(data) { - const verificationToken = await p.verificationToken.create({ data }) + const verificationToken = await p.verificationToken.create( + stripUndefined(data) + ) // @ts-expect-errors // MongoDB needs an ID, but we don't if (verificationToken.id) delete verificationToken.id return verificationToken @@ -93,10 +98,8 @@ export function PrismaAdapter( where: { providerAccountId, provider }, }) as Promise }, - async createAuthenticator(authenticator) { - return p.authenticator.create({ - data: authenticator, - }) + async createAuthenticator(data) { + return p.authenticator.create(stripUndefined(data)) }, async getAuthenticator(credentialID) { return p.authenticator.findUnique({ @@ -116,3 +119,10 @@ export function PrismaAdapter( }, } } + +/** @see https://www.prisma.io/docs/orm/prisma-client/special-fields-and-types/null-and-undefined */ +function stripUndefined(obj: T) { + const data = {} as T + for (const key in obj) if (obj[key] !== undefined) data[key] = obj[key] + return { data } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 19d4272f40..7ceb4f2625 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -380,7 +380,7 @@ importers: version: 0.23.0 drizzle-orm: specifier: ^0.32.0 - version: 0.32.1(@cloudflare/workers-types@4.20240117.0)(@libsql/client@0.6.0)(@opentelemetry/api@1.7.0)(@prisma/client@5.9.1)(@types/better-sqlite3@7.6.9)(@types/pg@8.11.0)(@types/react@18.2.78)(@xata.io/client@0.28.0(typescript@5.3.3))(better-sqlite3@9.6.0)(knex@2.5.1(better-sqlite3@9.6.0)(mysql2@3.9.7)(pg@8.11.3)(sqlite3@5.1.6))(kysely@0.24.2)(mysql2@3.9.7)(pg@8.11.3)(postgres@3.4.3)(react@18.3.1)(sqlite3@5.1.6) + version: 0.32.1(@cloudflare/workers-types@4.20240117.0)(@libsql/client@0.6.0)(@opentelemetry/api@1.7.0)(@prisma/client@5.20.0)(@types/better-sqlite3@7.6.9)(@types/pg@8.11.0)(@types/react@18.2.78)(@xata.io/client@0.28.0(typescript@5.3.3))(better-sqlite3@9.6.0)(knex@2.5.1(better-sqlite3@9.6.0)(mysql2@3.9.7)(pg@8.11.3)(sqlite3@5.1.6))(kysely@0.24.2)(mysql2@3.9.7)(pg@8.11.3)(postgres@3.4.3)(react@18.3.1)(sqlite3@5.1.6) libsql: specifier: ^0.3.18 version: 0.3.18 @@ -553,17 +553,17 @@ importers: version: link:../core devDependencies: '@prisma/client': - specifier: ^5.9.1 - version: 5.9.1(prisma@5.9.1) + specifier: ^5.20.0 + version: 5.20.0(prisma@5.20.0) '@prisma/extension-accelerate': - specifier: ^0.6.3 - version: 0.6.3(@prisma/client@5.9.1(prisma@5.9.1)) + specifier: 1.1.0 + version: 1.1.0(@prisma/client@5.20.0(prisma@5.20.0)) mongodb: - specifier: ^4.17.0 - version: 4.17.2 + specifier: ^6.9.0 + version: 6.9.0(@aws-sdk/credential-providers@3.499.0)(gcp-metadata@5.3.0)(socks@2.7.1) prisma: - specifier: ^5.9.1 - version: 5.9.1 + specifier: ^5.20.0 + version: 5.20.0 packages/adapter-sequelize: dependencies: @@ -3648,6 +3648,9 @@ packages: '@mongodb-js/saslprep@1.1.4': resolution: {integrity: sha512-8zJ8N1x51xo9hwPh6AWnKdLGEC5N3lDa6kms1YHmFBoRhTpJR6HG8wWk0td1MVCu9cD4YBrvjZEtd5Obw0Fbnw==} + '@mongodb-js/saslprep@1.1.9': + resolution: {integrity: sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==} + '@napi-rs/simple-git-android-arm-eabi@0.1.16': resolution: {integrity: sha512-dbrCL0Pl5KZG7x7tXdtVsA5CO6At5ohDX3myf5xIYn9kN4jDFxsocl8bNt6Vb/hZQoJd8fI+k5VlJt+rFhbdVw==} engines: {node: '>= 10'} @@ -4188,8 +4191,8 @@ packages: peerDependencies: prettier: ^3.0.0 - '@prisma/client@5.9.1': - resolution: {integrity: sha512-caSOnG4kxcSkhqC/2ShV7rEoWwd3XrftokxJqOCMVvia4NYV/TPtJlS9C2os3Igxw/Qyxumj9GBQzcStzECvtQ==} + '@prisma/client@5.20.0': + resolution: {integrity: sha512-CLv55ZuMuUawMsxoqxGtLT3bEZoa2W8L3Qnp6rDIFWy+ZBrUcOFKdoeGPSnbBqxc3SkdxJrF+D1veN/WNynZYA==} engines: {node: '>=16.13'} peerDependencies: prisma: '*' @@ -4197,26 +4200,26 @@ packages: prisma: optional: true - '@prisma/debug@5.9.1': - resolution: {integrity: sha512-yAHFSFCg8KVoL0oRUno3m60GAjsUKYUDkQ+9BA2X2JfVR3kRVSJFc/GpQ2fSORi4pSHZR9orfM4UC9OVXIFFTA==} + '@prisma/debug@5.20.0': + resolution: {integrity: sha512-oCx79MJ4HSujokA8S1g0xgZUGybD4SyIOydoHMngFYiwEwYDQ5tBQkK5XoEHuwOYDKUOKRn/J0MEymckc4IgsQ==} - '@prisma/engines-version@5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64': - resolution: {integrity: sha512-HFl7275yF0FWbdcNvcSRbbu9JCBSLMcurYwvWc8WGDnpu7APxQo2ONtZrUggU3WxLxUJ2uBX+0GOFIcJeVeOOQ==} + '@prisma/engines-version@5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284': + resolution: {integrity: sha512-Lg8AS5lpi0auZe2Mn4gjuCg081UZf88k3cn0RCwHgR+6cyHHpttPZBElJTHf83ZGsRNAmVCZCfUGA57WB4u4JA==} - '@prisma/engines@5.9.1': - resolution: {integrity: sha512-gkdXmjxQ5jktxWNdDA5aZZ6R8rH74JkoKq6LD5mACSvxd2vbqWeWIOV0Py5wFC8vofOYShbt6XUeCIUmrOzOnQ==} + '@prisma/engines@5.20.0': + resolution: {integrity: sha512-DtqkP+hcZvPEbj8t8dK5df2b7d3B8GNauKqaddRRqQBBlgkbdhJkxhoJTrOowlS3vaRt2iMCkU0+CSNn0KhqAQ==} - '@prisma/extension-accelerate@0.6.3': - resolution: {integrity: sha512-KnIfqbwCNMP3t1jgw76IVCE4HspRmWxagR0L4wJS+/74BgkRHrt/9ic8ONo7dir4AGGoHyg/Ej8yN+uGXNrXeg==} + '@prisma/extension-accelerate@1.1.0': + resolution: {integrity: sha512-sESjhBZ4ywQjAVpKzsfhxyNu+9txIM5I6M1MPBaJBq/xDlqmniIAhlwIEt9KLtO80zqPxqbZYes18zrkgYqNiQ==} engines: {node: '>=16'} peerDependencies: '@prisma/client': '>=4.16.1' - '@prisma/fetch-engine@5.9.1': - resolution: {integrity: sha512-l0goQOMcNVOJs1kAcwqpKq3ylvkD9F04Ioe1oJoCqmz05mw22bNAKKGWuDd3zTUoUZr97va0c/UfLNru+PDmNA==} + '@prisma/fetch-engine@5.20.0': + resolution: {integrity: sha512-JVcaPXC940wOGpCOwuqQRTz6I9SaBK0c1BAyC1pcz9xBi+dzFgUu3G/p9GV1FhFs9OKpfSpIhQfUJE9y00zhqw==} - '@prisma/get-platform@5.9.1': - resolution: {integrity: sha512-6OQsNxTyhvG+T2Ksr8FPFpuPeL4r9u0JF0OZHUBI/Uy9SS43sPyAIutt4ZEAyqWQt104ERh70EZedkHZKsnNbg==} + '@prisma/get-platform@5.20.0': + resolution: {integrity: sha512-8/+CehTZZNzJlvuryRgc77hZCWrUDYd/PmlZ7p2yNXtmf2Una4BWnTbak3us6WVdqoz5wmptk6IhsXdG2v5fmA==} '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -5365,9 +5368,6 @@ packages: '@types/whatwg-url@11.0.4': resolution: {integrity: sha512-lXCmTWSHJvf0TRSO58nm978b8HJ/EdsSsEKLd3ODHFjo+3VGAyyTp4v50nWvwtzBxSMQrVOK7tcuN0zGPLICMw==} - '@types/whatwg-url@8.2.2': - resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==} - '@types/wrap-ansi@3.0.0': resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} @@ -6474,14 +6474,14 @@ packages: bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - bson@4.7.2: - resolution: {integrity: sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==} - engines: {node: '>=6.9.0'} - bson@6.2.0: resolution: {integrity: sha512-ID1cI+7bazPDyL9wYy9GaQ8gEEohWvcUl/Yf0dIdutJxnmInEEyCsb4awy/OiBfall7zBA179Pahi3vCdFze3Q==} engines: {node: '>=16.20.1'} + bson@6.8.0: + resolution: {integrity: sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==} + engines: {node: '>=16.20.1'} + btoa-lite@1.0.0: resolution: {integrity: sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==} @@ -10132,16 +10132,9 @@ packages: moment@2.30.1: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - mongodb-connection-string-url@2.6.0: - resolution: {integrity: sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==} - mongodb-connection-string-url@3.0.0: resolution: {integrity: sha512-t1Vf+m1I5hC2M5RJx/7AtxgABy1cZmIPQRMXw+gEIPn/cZNF3Oiy+l0UIypUwVB5trcWHq3crg2g3uAR9aAwsQ==} - mongodb@4.17.2: - resolution: {integrity: sha512-mLV7SEiov2LHleRJPMPrK2PMyhXFZt2UQLC4VD4pnth3jMjYKHhtqfwwkkvS/NXuo/Fp3vbhaNcXrIDaLRb9Tg==} - engines: {node: '>=12.9.0'} - mongodb@6.3.0: resolution: {integrity: sha512-tt0KuGjGtLUhLoU263+xvQmPHEGTw5LbcNC73EoFRYgSHwZt5tsoJC110hDyO1kjQzpgNrpdcSza9PknWN4LrA==} engines: {node: '>=16.20.1'} @@ -10169,6 +10162,33 @@ packages: socks: optional: true + mongodb@6.9.0: + resolution: {integrity: sha512-UMopBVx1LmEUbW/QE0Hw18u583PEDVQmUmVzzBRH0o/xtE9DBRA5ZYLOjpLIa03i8FXjzvQECJcqoMvCXftTUA==} + engines: {node: '>=16.20.1'} + peerDependencies: + '@aws-sdk/credential-providers': ^3.188.0 + '@mongodb-js/zstd': ^1.1.0 + gcp-metadata: ^5.2.0 + kerberos: ^2.0.1 + mongodb-client-encryption: '>=6.0.0 <7' + snappy: ^7.2.2 + socks: ^2.7.1 + peerDependenciesMeta: + '@aws-sdk/credential-providers': + optional: true + '@mongodb-js/zstd': + optional: true + gcp-metadata: + optional: true + kerberos: + optional: true + mongodb-client-encryption: + optional: true + snappy: + optional: true + socks: + optional: true + morgan@1.10.0: resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} engines: {node: '>= 0.8.0'} @@ -11207,8 +11227,8 @@ packages: peerDependencies: react: '>=16.0.0' - prisma@5.9.1: - resolution: {integrity: sha512-Hy/8KJZz0ELtkw4FnG9MS9rNWlXcJhf98Z2QMqi0QiVMoS8PzsBkpla0/Y5hTlob8F3HeECYphBjqmBxrluUrQ==} + prisma@5.20.0: + resolution: {integrity: sha512-6obb3ucKgAnsGS9x9gLOe8qa51XxvJ3vLQtmyf52CTey1Qcez3A6W6ROH5HIz5Q5bW+0VpmZb8WBohieMFGpig==} engines: {node: '>=16.13'} hasBin: true @@ -12709,10 +12729,6 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} - tr46@4.1.1: resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} engines: {node: '>=14'} @@ -13666,10 +13682,6 @@ packages: resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} engines: {node: '>=0.8.0'} - whatwg-url@11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} - whatwg-url@13.0.0: resolution: {integrity: sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==} engines: {node: '>=16'} @@ -14231,7 +14243,7 @@ snapshots: '@smithy/util-endpoints': 1.1.1 '@smithy/util-retry': 2.1.1 '@smithy/util-utf8': 2.1.1 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - aws-crt optional: true @@ -14386,7 +14398,7 @@ snapshots: '@aws-sdk/types': 3.496.0 '@smithy/property-provider': 2.1.1 '@smithy/types': 2.9.1 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - aws-crt optional: true @@ -14408,7 +14420,7 @@ snapshots: '@smithy/smithy-client': 2.3.1 '@smithy/types': 2.9.1 '@smithy/util-stream': 2.1.1 - tslib: 2.6.2 + tslib: 2.7.0 optional: true '@aws-sdk/credential-provider-ini@3.496.0': @@ -14486,7 +14498,7 @@ snapshots: '@smithy/credential-provider-imds': 2.2.1 '@smithy/property-provider': 2.1.1 '@smithy/types': 2.9.1 - tslib: 2.6.2 + tslib: 2.7.0 transitivePeerDependencies: - aws-crt optional: true @@ -14541,7 +14553,7 @@ snapshots: '@smithy/signature-v4': 2.1.1 '@smithy/types': 2.9.1 '@smithy/util-middleware': 2.1.1 - tslib: 2.6.2 + tslib: 2.7.0 optional: true '@aws-sdk/middleware-user-agent@3.496.0': @@ -17442,6 +17454,10 @@ snapshots: dependencies: sparse-bitfield: 3.0.3 + '@mongodb-js/saslprep@1.1.9': + dependencies: + sparse-bitfield: 3.0.3 + '@napi-rs/simple-git-android-arm-eabi@0.1.16': optional: true @@ -18071,34 +18087,34 @@ snapshots: prettier: 3.3.3 pug-lexer: 5.0.1 - '@prisma/client@5.9.1(prisma@5.9.1)': + '@prisma/client@5.20.0(prisma@5.20.0)': optionalDependencies: - prisma: 5.9.1 + prisma: 5.20.0 - '@prisma/debug@5.9.1': {} + '@prisma/debug@5.20.0': {} - '@prisma/engines-version@5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64': {} + '@prisma/engines-version@5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284': {} - '@prisma/engines@5.9.1': + '@prisma/engines@5.20.0': dependencies: - '@prisma/debug': 5.9.1 - '@prisma/engines-version': 5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64 - '@prisma/fetch-engine': 5.9.1 - '@prisma/get-platform': 5.9.1 + '@prisma/debug': 5.20.0 + '@prisma/engines-version': 5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284 + '@prisma/fetch-engine': 5.20.0 + '@prisma/get-platform': 5.20.0 - '@prisma/extension-accelerate@0.6.3(@prisma/client@5.9.1(prisma@5.9.1))': + '@prisma/extension-accelerate@1.1.0(@prisma/client@5.20.0(prisma@5.20.0))': dependencies: - '@prisma/client': 5.9.1(prisma@5.9.1) + '@prisma/client': 5.20.0(prisma@5.20.0) - '@prisma/fetch-engine@5.9.1': + '@prisma/fetch-engine@5.20.0': dependencies: - '@prisma/debug': 5.9.1 - '@prisma/engines-version': 5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64 - '@prisma/get-platform': 5.9.1 + '@prisma/debug': 5.20.0 + '@prisma/engines-version': 5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284 + '@prisma/get-platform': 5.20.0 - '@prisma/get-platform@5.9.1': + '@prisma/get-platform@5.20.0': dependencies: - '@prisma/debug': 5.9.1 + '@prisma/debug': 5.20.0 '@protobufjs/aspromise@1.1.2': optional: true @@ -19434,11 +19450,6 @@ snapshots: dependencies: '@types/webidl-conversions': 7.0.3 - '@types/whatwg-url@8.2.2': - dependencies: - '@types/node': 20.12.7 - '@types/webidl-conversions': 7.0.3 - '@types/wrap-ansi@3.0.0': {} '@types/ws@8.5.10': @@ -21296,12 +21307,10 @@ snapshots: dependencies: node-int64: 0.4.0 - bson@4.7.2: - dependencies: - buffer: 5.7.1 - bson@6.2.0: {} + bson@6.8.0: {} + btoa-lite@1.0.0: {} buffer-crc32@0.2.13: {} @@ -22327,12 +22336,12 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.32.1(@cloudflare/workers-types@4.20240117.0)(@libsql/client@0.6.0)(@opentelemetry/api@1.7.0)(@prisma/client@5.9.1)(@types/better-sqlite3@7.6.9)(@types/pg@8.11.0)(@types/react@18.2.78)(@xata.io/client@0.28.0(typescript@5.3.3))(better-sqlite3@9.6.0)(knex@2.5.1(better-sqlite3@9.6.0)(mysql2@3.9.7)(pg@8.11.3)(sqlite3@5.1.6))(kysely@0.24.2)(mysql2@3.9.7)(pg@8.11.3)(postgres@3.4.3)(react@18.3.1)(sqlite3@5.1.6): + drizzle-orm@0.32.1(@cloudflare/workers-types@4.20240117.0)(@libsql/client@0.6.0)(@opentelemetry/api@1.7.0)(@prisma/client@5.20.0)(@types/better-sqlite3@7.6.9)(@types/pg@8.11.0)(@types/react@18.2.78)(@xata.io/client@0.28.0(typescript@5.3.3))(better-sqlite3@9.6.0)(knex@2.5.1(better-sqlite3@9.6.0)(mysql2@3.9.7)(pg@8.11.3)(sqlite3@5.1.6))(kysely@0.24.2)(mysql2@3.9.7)(pg@8.11.3)(postgres@3.4.3)(react@18.3.1)(sqlite3@5.1.6): optionalDependencies: '@cloudflare/workers-types': 4.20240117.0 '@libsql/client': 0.6.0 '@opentelemetry/api': 1.7.0 - '@prisma/client': 5.9.1(prisma@5.9.1) + '@prisma/client': 5.20.0(prisma@5.20.0) '@types/better-sqlite3': 7.6.9 '@types/pg': 8.11.0 '@types/react': 18.2.78 @@ -24260,7 +24269,8 @@ snapshots: transitivePeerDependencies: - supports-color - ip@2.0.0: {} + ip@2.0.0: + optional: true ipaddr.js@1.9.1: {} @@ -26057,31 +26067,25 @@ snapshots: moment@2.30.1: {} - mongodb-connection-string-url@2.6.0: - dependencies: - '@types/whatwg-url': 8.2.2 - whatwg-url: 11.0.0 - mongodb-connection-string-url@3.0.0: dependencies: '@types/whatwg-url': 11.0.4 whatwg-url: 13.0.0 - mongodb@4.17.2: + mongodb@6.3.0(@aws-sdk/credential-providers@3.499.0)(gcp-metadata@5.3.0)(socks@2.7.1): dependencies: - bson: 4.7.2 - mongodb-connection-string-url: 2.6.0 - socks: 2.7.1 + '@mongodb-js/saslprep': 1.1.4 + bson: 6.2.0 + mongodb-connection-string-url: 3.0.0 optionalDependencies: '@aws-sdk/credential-providers': 3.499.0 - '@mongodb-js/saslprep': 1.1.4 - transitivePeerDependencies: - - aws-crt + gcp-metadata: 5.3.0 + socks: 2.7.1 - mongodb@6.3.0(@aws-sdk/credential-providers@3.499.0)(gcp-metadata@5.3.0)(socks@2.7.1): + mongodb@6.9.0(@aws-sdk/credential-providers@3.499.0)(gcp-metadata@5.3.0)(socks@2.7.1): dependencies: - '@mongodb-js/saslprep': 1.1.4 - bson: 6.2.0 + '@mongodb-js/saslprep': 1.1.9 + bson: 6.8.0 mongodb-connection-string-url: 3.0.0 optionalDependencies: '@aws-sdk/credential-providers': 3.499.0 @@ -27280,9 +27284,11 @@ snapshots: clsx: 1.2.1 react: 18.3.1 - prisma@5.9.1: + prisma@5.20.0: dependencies: - '@prisma/engines': 5.9.1 + '@prisma/engines': 5.20.0 + optionalDependencies: + fsevents: 2.3.3 prismjs@1.29.0: {} @@ -28370,7 +28376,8 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - smart-buffer@4.2.0: {} + smart-buffer@4.2.0: + optional: true smtp-server@3.13.0: dependencies: @@ -28396,6 +28403,7 @@ snapshots: dependencies: ip: 2.0.0 smart-buffer: 4.2.0 + optional: true solid-js@1.8.12: dependencies: @@ -29137,10 +29145,6 @@ snapshots: tr46@0.0.3: {} - tr46@3.0.0: - dependencies: - punycode: 2.3.1 - tr46@4.1.1: dependencies: punycode: 2.3.1 @@ -30078,11 +30082,6 @@ snapshots: websocket-extensions@0.1.4: {} - whatwg-url@11.0.0: - dependencies: - tr46: 3.0.0 - webidl-conversions: 7.0.0 - whatwg-url@13.0.0: dependencies: tr46: 4.1.1