From 24a823764a29c7dddcdcd7a032d73e263619821f Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Wed, 26 Feb 2025 11:19:22 +0000 Subject: [PATCH] use the new `defineCloudflareConfig` utility the Cloudflare get-started configuration step --- pages/cloudflare/caching.mdx | 45 ++++++++++++++------------------ pages/cloudflare/get-started.mdx | 30 ++++----------------- 2 files changed, 24 insertions(+), 51 deletions(-) diff --git a/pages/cloudflare/caching.mdx b/pages/cloudflare/caching.mdx index aba87d7..e41a6a1 100644 --- a/pages/cloudflare/caching.mdx +++ b/pages/cloudflare/caching.mdx @@ -53,23 +53,21 @@ In your project's OpenNext config, enable the KV cache and set up a queue. The memory queue will send revalidation requests to a page when needed, and offers support for de-duplicating requests on a per-isolate basis. There might still be duplicate requests under high traffic or across regions. + + The memory queue provided by `@opennextjs/cloudflare` is not fully suitable for production deployments, you + can use it at your own risk! + + ```ts // open-next.config.ts -import incrementalCache from "@opennextjs/cloudflare/kv-cache"; +import { defineCloudflareConfig } from "@opennextjs/cloudflare"; +import kvIncrementalCache from "@opennextjs/cloudflare/kv-cache"; import memoryQueue from "@opennextjs/cloudflare/memory-queue"; -const config: OpenNextConfig = { - default: { - override: { - // ... - incrementalCache: () => incrementalCache, - queue: () => memoryQueue, - }, - }, - // ... -}; - -export default config; +export default defineCloudflareConfig({ + incrementalCache: kvIncrementalCache, + queue: memoryQueue, +}); ``` @@ -126,21 +124,16 @@ In your project's OpenNext config, enable the KV cache and set up a queue. The q ```ts // open-next.config.ts -import tagCache from "@opennextjs/cloudflare/d1-tag-cache"; -import incrementalCache from "@opennextjs/cloudflare/kv-cache"; +import { defineCloudflareConfig } from "@opennextjs/cloudflare"; +import kvIncrementalCache from "@opennextjs/cloudflare/kv-cache"; +import d1TagCache from "@opennextjs/cloudflare/d1-tag-cache"; import memoryQueue from "@opennextjs/cloudflare/memory-queue"; -const config: OpenNextConfig = { - default: { - override: { - // ... - incrementalCache: () => incrementalCache, - queue: () => memoryQueue, - tagCache: () => tagCache, - }, - }, - // ... -}; +export default defineCloudflareConfig({ + incrementalCache: kvIncrementalCache, + tagCache: d1TagCache, + queue: memoryQueue, +}); ``` ##### 4. Initialise the cache during deployments diff --git a/pages/cloudflare/get-started.mdx b/pages/cloudflare/get-started.mdx index 78b5115..a29ed7b 100644 --- a/pages/cloudflare/get-started.mdx +++ b/pages/cloudflare/get-started.mdx @@ -87,32 +87,12 @@ You can create one yourself in the root directory of your Next.js app with the n Add a [`open-next.config.ts`](https://opennext.js.org/aws/config) file to the root directory of your Next.js app: ```ts -import type { OpenNextConfig } from "@opennextjs/aws/types/open-next.js"; -import cache from "@opennextjs/cloudflare/kv-cache"; - -const config: OpenNextConfig = { - default: { - override: { - wrapper: "cloudflare-node", - converter: "edge", - // set `incrementalCache` to "dummy" to disable KV cache - incrementalCache: async () => cache, - tagCache: "dummy", - queue: "dummy", - }, - }, - - middleware: { - external: true, - override: { - wrapper: "cloudflare-edge", - converter: "edge", - proxyExternalRequest: "fetch", - }, - }, -}; +import { defineCloudflareConfig } from "@opennextjs/cloudflare"; +import kvIncrementalCache from "@opennextjs/cloudflare/kv-cache"; -export default config; +export default defineCloudflareConfig({ + incrementalCache: kvIncrementalCache, +}); ```