diff --git a/content/200-orm/200-prisma-client/100-queries/037-relation-queries.mdx b/content/200-orm/200-prisma-client/100-queries/037-relation-queries.mdx index a65f4ea724..7aaed50598 100644 --- a/content/200-orm/200-prisma-client/100-queries/037-relation-queries.mdx +++ b/content/200-orm/200-prisma-client/100-queries/037-relation-queries.mdx @@ -414,7 +414,7 @@ const relationCount = await prisma.user.findMany({ When you use `select` or `include` to return a subset of the related data, you can **filter and sort the list of relations** inside the `select` or `include`. -For example, the following query returns all users and a list of titles of the unpublished posts associated with each user: +For example, the following query returns list of titles of the unpublished posts associated with the user: ```ts const result = await prisma.user.findFirst({ diff --git a/content/200-orm/200-prisma-client/300-client-extensions/130-result.mdx b/content/200-orm/200-prisma-client/300-client-extensions/130-result.mdx index 3c44d4d415..04543b1989 100644 --- a/content/200-orm/200-prisma-client/300-client-extensions/130-result.mdx +++ b/content/200-orm/200-prisma-client/300-client-extensions/130-result.mdx @@ -202,3 +202,22 @@ const user = await xprisma.user.findFirstOrThrow({ }) ``` In this case, omitting both `password` and `sanitizedPassword` will exclude both from the result as well as prevent the `password` field from being read from the database. + +## Limitation +As of now, Prisma Client's result extension component does not support relation fields. This means that you cannot create custom fields or methods based on related models or fields in a relational relationship (e.g., user.posts, post.author). The needs parameter can only reference scalar fields within the same model. Follow [issue #20091 on GitHub](https://github.com/prisma/prisma/issues/20091). + + +```ts +const prisma = new PrismaClient().$extends({ + result: { + user: { + postsCount: { + needs: { posts: true }, // This will not work because posts is a relation field + compute(user) { + return user.posts.length; // Accessing a relation is not allowed + }, + }, + }, + }, +}) +``` diff --git a/content/200-orm/800-more/600-help-and-troubleshooting/900-prisma-nuxt-module.mdx b/content/200-orm/800-more/600-help-and-troubleshooting/900-prisma-nuxt-module.mdx index 4aeb043c1b..8b4dcf23f9 100644 --- a/content/200-orm/800-more/600-help-and-troubleshooting/900-prisma-nuxt-module.mdx +++ b/content/200-orm/800-more/600-help-and-troubleshooting/900-prisma-nuxt-module.mdx @@ -1,9 +1,7 @@ --- - title: 'Using the Nuxt Prisma Module' metaTitle: 'Add Prisma ORM Easily to Your Nuxt Apps' metaDescription: 'Learn how to easily add Prisma ORM to your Nuxt apps, use its features, and understand its limitations.' - --- The Nuxt Prisma module simplifies the integration of Prisma ORM into your Nuxt applications. @@ -187,17 +185,6 @@ If you're using [Nuxt server components](https://nuxt.com/docs/guide/directory-s ``` -#### Using the auto-imported Prisma Client instance in your API route - -You can use the auto-imported Prisma Client instance, prisma, in your Nuxt API route as follows: -```typescript -export default defineEventHandler(async (event) => { - return { - user: await prisma.user.findFirst(), - }; -}); -``` - ### Option B: `lib/prisma.ts` After running through the initial setup prompts, this module creates the `lib/prisma.ts` file which contains a global instance of Prisma Client. @@ -299,6 +286,9 @@ export default defineNuxtConfig({ | **formatSchema** | `boolean` | true | Whether to [format](/orm/reference/prisma-cli-reference#format) the [Prisma Schema](/orm/prisma-schema) file. | | **installStudio** | `boolean` | true | Whether to install and start [Prisma Studio](https://www.prisma.io/studio) in the Nuxt Devtools. | | **autoSetupPrisma** | `boolean` | false | Whether to skip all prompts during setup. This option is useful for automating Prisma setup in scripts or CI/CD pipelines. | +| **skipPrompts** | `false` | false | Skips all prompts | +| **prismaRoot** | `string` | false | Required when using [Nuxt layers](https://nuxt.com/docs/getting-started/layers). For example, if you have a Nuxt layer called `database`, the `prismaRoot` would be `./database` in the base nuxt config. This refers to the folder where Prisma will be initialized or checked. | +| **prismaSchemaPath** | `string` | `undefined` | Required when using [Nuxt layers](https://nuxt.com/docs/getting-started/layers). For example, if you have a Nuxt layer called `database`, the `prismaSchemaPath` would be `./database/prisma/schema.prisma` in the base nuxt config. | ## Limitations @@ -355,4 +345,10 @@ export default defineNuxtConfig({ }) ``` -This configuration ensures that the module specifier is correctly mapped to the appropriate file. \ No newline at end of file +This configuration ensures that the module specifier is correctly mapped to the appropriate file. + +### Limitations in package manager support + +The module is designed to work with popular package managers, including npm, Yarn, and pnpm. However, as of `v0.2`, it is not fully compatible with Bun due to an issue causing an indefinite installation loop. + +Additionally, this package has not been tested with Deno and is therefore not officially **supported.** diff --git a/content/300-accelerate/250-connection-pooling.mdx b/content/300-accelerate/250-connection-pooling.mdx index 9ace98004e..54794400ff 100644 --- a/content/300-accelerate/250-connection-pooling.mdx +++ b/content/300-accelerate/250-connection-pooling.mdx @@ -91,6 +91,19 @@ Accelerate has a default global timeout of `15s` for each [interactive transacti See the [troubleshooting guide](/accelerate/troubleshoot#p6004-querytimeout) and our [pricing page](https://www.prisma.io/pricing#accelerate) for more information. +When you set a higher interactive transaction timeout in the Prisma Console, you **must also** specify a matching `timeout` value in your interactive transaction query via timeout [transaction option](/orm/prisma-client/queries/transactions#transaction-options). Otherwise, transactions will still time out at the lower default (e.g., 5 seconds limit when no timeout value is specified). Here’s an example of how to set a 30-second timeout in your code: + +```ts +await prisma.$transaction( + async (tx) => { + // Your queries go here + }, + { + timeout: 30000, // 30s + } +); +``` + :::warning While you can increase the interactive transaction timeout limit, it’s recommended to inspect and optimize your database transactions if they take longer than 15 seconds. Long-running transactions can negatively impact performance and often signal the need for optimization. Learn more in the [troubleshooting guide](/accelerate/troubleshoot#p6004-querytimeout) and review the [warning in the Interactive Transactions section](/orm/prisma-client/queries/transactions#interactive-transactions-1) in our documentation. ::: diff --git a/content/300-accelerate/650-troubleshoot.mdx b/content/300-accelerate/650-troubleshoot.mdx index 579928ba0f..33fed6294f 100644 --- a/content/300-accelerate/650-troubleshoot.mdx +++ b/content/300-accelerate/650-troubleshoot.mdx @@ -125,6 +125,13 @@ This error can happen when the wrong credentials are provided to Prisma Accelera **Suggested solution:** Verify the correctness of your database's username, password, and name in the connection string provided to Prisma Accelerate. Ensure that these credentials match those required by your database. Testing the connection using a direct database GUI tool can also help in confirming if the provided credentials are correct. +#### Database taking too long to respond + +If the database is taking too long to respond to the connection request, Prisma Accelerate may timeout and throw this error. This could happen if the database is not active or is waking up from sleep mode. + +**Suggested solution:** Verify that the database is active and reachable. If the database is in sleep mode, try to wake it up by sending a request to it using a direct database GUI tool or wake it up using the database's management console. + + ## Other errors ### Error with MySQL (Aiven): "We were unable to process your request. Please refresh and try again." diff --git a/content/400-pulse/400-api-reference.mdx b/content/400-pulse/400-api-reference.mdx index 12d34e2648..9a9c4cdf7a 100644 --- a/content/400-pulse/400-api-reference.mdx +++ b/content/400-pulse/400-api-reference.mdx @@ -355,6 +355,12 @@ _With_ having set the `REPLICA IDENDITY` to `FULL`: } ``` +:::note + +To enable `REPLICA IDENTITY` with the `FULL` setting, you must configure it on a per-table basis, as it is not enabled by default. This requires executing an SQL query against your database. [Learn more here.](/pulse/database-setup/general-database-instructions#replica-identity) + +::: + ## `PulseDeleteEvent` ### Type @@ -398,3 +404,9 @@ _With_ having set the `REPLICA IDENDITY` to `FULL`: id: '0/2A5A398' } ``` + +:::note + +To enable `REPLICA IDENTITY` with the `FULL` setting, you must configure it on a per-table basis, as it is not enabled by default. This requires executing an SQL query against your database. [Learn more here.](/pulse/database-setup/general-database-instructions#replica-identity) + +::: diff --git a/content/500-platform/50-support.mdx b/content/500-platform/50-support.mdx index 356583acdb..9b60bc2c24 100644 --- a/content/500-platform/50-support.mdx +++ b/content/500-platform/50-support.mdx @@ -34,6 +34,7 @@ Dedicated contact person. ## Deleting your PDP account -If you want to delete your PDP account, **email us at support@prisma.io**. +If you want to delete your PDP account, **email us at support@prisma.io** specifying the email id or GitHub handle with which you signed up. To ensure that you're not accidentally disabling any infrastructure powering one of your applications, we require that you **disable Accelerate and Pulse in _all_ environments of _all_ your projects** that live in the account to be deleted. +Additionally there should be no active subscriptions in the account to be deleted. Please cancel any active subscriptions before requesting account deletion. \ No newline at end of file diff --git a/content/700-optimize/300-recordings.mdx b/content/700-optimize/300-recordings.mdx index cf2de72cc1..847a1b893b 100644 --- a/content/700-optimize/300-recordings.mdx +++ b/content/700-optimize/300-recordings.mdx @@ -42,6 +42,7 @@ When a recording session ends, Optimize generates recommendations such as: - [Repeated query](/optimize/recommendations/repeated-query) - [Overfetching](/optimize/recommendations/select-returning) - [Using `@db.Money`](/optimize/recommendations/avoid-db-money) +- [Using `@db.VarChar(n)`](/optimize/recommendations/avoid-varchar) - [Using `timestamp(0)` or `timestamptz(0)`](/optimize/recommendations/avoid-timestamp-timestampz-0) :::info diff --git a/content/700-optimize/400-recommendations/700-avoid-varchar.mdx b/content/700-optimize/400-recommendations/700-avoid-varchar.mdx new file mode 100644 index 0000000000..f6dc6b0a61 --- /dev/null +++ b/content/700-optimize/400-recommendations/700-avoid-varchar.mdx @@ -0,0 +1,23 @@ +--- +title: 'Using @db.VarChar(n)' +metaTitle: 'Optimize Recommendations: Avoid usage of `@db.VarChar(n)`' +metaDescription: "Learn about the recommendation provided by Optimize for using `@db.VarChar(n)` native type." +tocDepth: 3 +toc: true +--- + +Optimize provides recommendations to help you identify and resolve performance issues caused by the use of `@db.VarChar(n)` type in PostgreSQL. + +The `@db.VarChar(n)` native type has been used within the `Item` model on the name field: + +```prisma +model Item { + // ... + name String @db.VarChar(1) + // ... +} +``` + +### Why this is a problem + +The `@db.VarChar(n)` type restricts content to a maximum length of `n`, which can cause unexpected issues in production if not properly managed by the application. In PostgreSQL, `varchar(n)` performs the same as `text`, and no additional optimizations are provided for `varchar(n)`, making the choice between them more about convention than performance. \ No newline at end of file diff --git a/docusaurus.config.ts b/docusaurus.config.ts index afe816f28c..1f5e258c5d 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -82,8 +82,8 @@ const config: Config = { [path.resolve(__dirname, 'client-plugins', 'posthog-docusaurus'), { apiKey: DOCUSAURUS_POST_HOG_KEY, - appUrl: DOCUSAURUS_BASE_URL, - person_profiles: "identified_only", + appUrl: 'https://proxyhog.prisma-data.net', // this is safe to have in version control + person_profiles: 'identified_only', enableInDevelopment: false }, ], diff --git a/package-lock.json b/package-lock.json index 228dff576b..67306a14e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "@docusaurus/types": "^3.5.2", "prettier": "3.4.2", "typescript": "~5.7.2", - "wrangler": "^3.97.0" + "wrangler": "^3.99.0" }, "engines": { "node": ">=18.0" @@ -2022,9 +2022,9 @@ } }, "node_modules/@cloudflare/workerd-darwin-64": { - "version": "1.20241205.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20241205.0.tgz", - "integrity": "sha512-TArEZkSZkHJyEwnlWWkSpCI99cF6lJ14OVeEoI9Um/+cD9CKZLM9vCmsLeKglKheJ0KcdCnkA+DbeD15t3VaWg==", + "version": "1.20241218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20241218.0.tgz", + "integrity": "sha512-8rveQoxtUvlmORKqTWgjv2ycM8uqWox0u9evn3zd2iWKdou5sncFwH517ZRLI3rq9P31ZLmCQBZ0gloFsTeY6w==", "cpu": [ "x64" ], @@ -2038,9 +2038,9 @@ } }, "node_modules/@cloudflare/workerd-darwin-arm64": { - "version": "1.20241205.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20241205.0.tgz", - "integrity": "sha512-u5eqKa9QRdA8MugfgCoD+ADDjY6EpKbv3hSYJETmmUh17l7WXjWBzv4pUvOKIX67C0UzMUy4jZYwC53MymhX3w==", + "version": "1.20241218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20241218.0.tgz", + "integrity": "sha512-be59Ad9nmM9lCkhHqmTs/uZ3JVZt8NJ9Z0PY+B0xnc5z6WwmV2lj0RVLtq7xJhQsQJA189zt5rXqDP6J+2mu7Q==", "cpu": [ "arm64" ], @@ -2054,9 +2054,9 @@ } }, "node_modules/@cloudflare/workerd-linux-64": { - "version": "1.20241205.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20241205.0.tgz", - "integrity": "sha512-OYA7S5zpumMamWEW+IhhBU6YojIEocyE5X/YFPiTOCrDE3dsfr9t6oqNE7hxGm1VAAu+Irtl+a/5LwmBOU681w==", + "version": "1.20241218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20241218.0.tgz", + "integrity": "sha512-MzpSBcfZXRxrYWxQ4pVDYDrUbkQuM62ssl4ZtHH8J35OAeGsWFAYji6MkS2SpVwVcvacPwJXIF4JSzp4xKImKw==", "cpu": [ "x64" ], @@ -2070,9 +2070,9 @@ } }, "node_modules/@cloudflare/workerd-linux-arm64": { - "version": "1.20241205.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20241205.0.tgz", - "integrity": "sha512-qAzecONjFJGIAVJZKExQ5dlbic0f3d4A+GdKa+H6SoUJtPaWiE3K6WuePo4JOT7W3/Zfh25McmX+MmpMUUcM5Q==", + "version": "1.20241218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20241218.0.tgz", + "integrity": "sha512-RIuJjPxpNqvwIs52vQsXeRMttvhIjgg9NLjjFa3jK8Ijnj8c3ZDru9Wqi48lJP07yDFIRr4uDMMqh/y29YQi2A==", "cpu": [ "arm64" ], @@ -2086,9 +2086,9 @@ } }, "node_modules/@cloudflare/workerd-windows-64": { - "version": "1.20241205.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20241205.0.tgz", - "integrity": "sha512-BEab+HiUgCdl6GXAT7EI2yaRtDPiRJlB94XLvRvXi1ZcmQqsrq6awGo6apctFo4WUL29V7c09LxmN4HQ3X2Tvg==", + "version": "1.20241218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20241218.0.tgz", + "integrity": "sha512-tO1VjlvK3F6Yb2d1jgEy/QBYl//9Pyv3K0j+lq8Eu7qdfm0IgKwSRgDWLept84/qmNsQfausZ4JdNGxTf9xsxQ==", "cpu": [ "x64" ], @@ -7338,12 +7338,6 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/confbox": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", - "dev": true - }, "node_modules/config-chain": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", @@ -13611,9 +13605,9 @@ } }, "node_modules/miniflare": { - "version": "3.20241205.0", - "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20241205.0.tgz", - "integrity": "sha512-Z0cTtIf6ZrcAJ3SrOI9EUM3s4dkGhNeU6Ubl8sroYhsPVD+rtz3m5+p6McHFWCkcMff1o60X5XEKVTmkz0gbpA==", + "version": "3.20241218.0", + "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20241218.0.tgz", + "integrity": "sha512-spYFDArH0wd+wJSTrzBrWrXJrbyJhRMJa35mat947y1jYhVV8I5V8vnD3LwjfpLr0SaEilojz1OIW7ekmnRe+w==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "0.8.1", @@ -13624,7 +13618,7 @@ "glob-to-regexp": "^0.4.1", "stoppable": "^1.1.0", "undici": "^5.28.4", - "workerd": "1.20241205.0", + "workerd": "1.20241218.0", "ws": "^8.18.0", "youch": "^3.2.2", "zod": "^3.22.3" @@ -13693,18 +13687,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mlly": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.3.tgz", - "integrity": "sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==", - "dev": true, - "dependencies": { - "acorn": "^8.14.0", - "pathe": "^1.1.2", - "pkg-types": "^1.2.1", - "ufo": "^1.5.4" - } - }, "node_modules/mrmime": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", @@ -14508,17 +14490,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-types": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.1.tgz", - "integrity": "sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==", - "dev": true, - "dependencies": { - "confbox": "^0.1.8", - "mlly": "^1.7.2", - "pathe": "^1.1.2" - } - }, "node_modules/pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", @@ -18503,13 +18474,12 @@ }, "node_modules/unenv": { "name": "unenv-nightly", - "version": "2.0.0-20241212-153011-af71c96", - "resolved": "https://registry.npmjs.org/unenv-nightly/-/unenv-nightly-2.0.0-20241212-153011-af71c96.tgz", - "integrity": "sha512-Yugb9yPs/EZsPOY+IHloqVVEcZeJ0uwwViTedsZjOtVeYO8I29B1rzU/p84FMT0R1Ht3bHsKkNV/rzrjSd07QA==", + "version": "2.0.0-20241204-140205-a5d5190", + "resolved": "https://registry.npmjs.org/unenv-nightly/-/unenv-nightly-2.0.0-20241204-140205-a5d5190.tgz", + "integrity": "sha512-jpmAytLeiiW01pl5bhVn9wYJ4vtiLdhGe10oXlJBuQEX8mxjxO8BlEXGHU4vr4yEikjFP1wsomTHt/CLU8kUwg==", "dev": true, "dependencies": { "defu": "^6.1.4", - "mlly": "^1.7.3", "ohash": "^1.1.4", "pathe": "^1.1.2", "ufo": "^1.5.4" @@ -19395,9 +19365,9 @@ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" }, "node_modules/workerd": { - "version": "1.20241205.0", - "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20241205.0.tgz", - "integrity": "sha512-vso/2n0c5SdBDWiD+Sx5gM7unA6SiZXRVUHDqH1euoP/9mFVHZF8icoYsNLB87b/TX8zNgpae+I5N/xFpd9v0g==", + "version": "1.20241218.0", + "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20241218.0.tgz", + "integrity": "sha512-7Z3D4vOVChMz9mWDffE299oQxUWm/pbkeAWx1btVamPcAK/2IuoNBhwflWo3jyuKuxvYuFAdIucgYxc8ICqXiA==", "dev": true, "hasInstallScript": true, "bin": { @@ -19407,17 +19377,17 @@ "node": ">=16" }, "optionalDependencies": { - "@cloudflare/workerd-darwin-64": "1.20241205.0", - "@cloudflare/workerd-darwin-arm64": "1.20241205.0", - "@cloudflare/workerd-linux-64": "1.20241205.0", - "@cloudflare/workerd-linux-arm64": "1.20241205.0", - "@cloudflare/workerd-windows-64": "1.20241205.0" + "@cloudflare/workerd-darwin-64": "1.20241218.0", + "@cloudflare/workerd-darwin-arm64": "1.20241218.0", + "@cloudflare/workerd-linux-64": "1.20241218.0", + "@cloudflare/workerd-linux-arm64": "1.20241218.0", + "@cloudflare/workerd-windows-64": "1.20241218.0" } }, "node_modules/wrangler": { - "version": "3.97.0", - "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-3.97.0.tgz", - "integrity": "sha512-NkFAigqZWe4NOK0gYROcpvdugaYJE/JRFrIZ+c5Q5/uie+25WH8OVbRvvmiXhWVhso56cZs2W2TPmAxT/sgHkw==", + "version": "3.99.0", + "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-3.99.0.tgz", + "integrity": "sha512-k0x4rT3G/QCbxcoZY7CHRVlAIS8WMmKdga6lf4d2c3gXFqssh44vwlTDuARA9QANBxKJTcA7JPTJRfUDhd9QBA==", "dev": true, "dependencies": { "@cloudflare/kv-asset-handler": "0.3.4", @@ -19428,14 +19398,14 @@ "date-fns": "^4.1.0", "esbuild": "0.17.19", "itty-time": "^1.0.6", - "miniflare": "3.20241205.0", + "miniflare": "3.20241218.0", "nanoid": "^3.3.3", "path-to-regexp": "^6.3.0", "resolve": "^1.22.8", "selfsigned": "^2.0.1", "source-map": "^0.6.1", - "unenv": "npm:unenv-nightly@2.0.0-20241212-153011-af71c96", - "workerd": "1.20241205.0", + "unenv": "npm:unenv-nightly@2.0.0-20241204-140205-a5d5190", + "workerd": "1.20241218.0", "xxhash-wasm": "^1.0.1" }, "bin": { @@ -19449,7 +19419,7 @@ "fsevents": "~2.3.2" }, "peerDependencies": { - "@cloudflare/workers-types": "^4.20241205.0" + "@cloudflare/workers-types": "^4.20241218.0" }, "peerDependenciesMeta": { "@cloudflare/workers-types": { diff --git a/package.json b/package.json index 71f6f421dc..917203b9b6 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "@docusaurus/types": "^3.5.2", "prettier": "3.4.2", "typescript": "~5.7.2", - "wrangler": "^3.97.0" + "wrangler": "^3.99.0" }, "browserslist": { "production": [