From e7f4eea9e6fd5fb78ba8f85c7c7c327ed9693000 Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 27 Dec 2024 10:54:44 +0100 Subject: [PATCH 1/6] update the experimental Next.js template to work on `@opennextjs/cloudflare@0.3.x` --- .changeset/gorgeous-kids-protect.md | 5 ++++ .../templates-experimental/next/c3.ts | 6 ++-- .../next/templates/.gitignore | 7 ++--- .../next/templates/open-next.config.ts | 28 +++++++++++++++++++ .../next/templates/wrangler.toml | 4 +-- 5 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 .changeset/gorgeous-kids-protect.md create mode 100644 packages/create-cloudflare/templates-experimental/next/templates/open-next.config.ts diff --git a/.changeset/gorgeous-kids-protect.md b/.changeset/gorgeous-kids-protect.md new file mode 100644 index 000000000000..9386ce52c15d --- /dev/null +++ b/.changeset/gorgeous-kids-protect.md @@ -0,0 +1,5 @@ +--- +"create-cloudflare": patch +--- + +fix and update experimental Next.js template to work on `@opennextjs/cloudflare@0.3.x` diff --git a/packages/create-cloudflare/templates-experimental/next/c3.ts b/packages/create-cloudflare/templates-experimental/next/c3.ts index 74195c25e1ad..80f0959f68ac 100644 --- a/packages/create-cloudflare/templates-experimental/next/c3.ts +++ b/packages/create-cloudflare/templates-experimental/next/c3.ts @@ -19,7 +19,7 @@ const generate = async (ctx: C3Context) => { const configure = async () => { const packages = [ - "@opennextjs/cloudflare@0.2.x", + "@opennextjs/cloudflare@0.3.x", "@cloudflare/workers-types", ]; await installPackages(packages, { @@ -47,8 +47,8 @@ export default { configure, transformPackageJson: async () => ({ scripts: { - deploy: `cloudflare && wrangler deploy`, - preview: `cloudflare && wrangler dev`, + deploy: `opennextjs-cloudflare && wrangler deploy`, + preview: `opennextjs-cloudflare && wrangler dev`, "cf-typegen": `wrangler types --env-interface CloudflareEnv env.d.ts`, }, }), diff --git a/packages/create-cloudflare/templates-experimental/next/templates/.gitignore b/packages/create-cloudflare/templates-experimental/next/templates/.gitignore index 0b418115f12a..76107d8b80c9 100644 --- a/packages/create-cloudflare/templates-experimental/next/templates/.gitignore +++ b/packages/create-cloudflare/templates-experimental/next/templates/.gitignore @@ -35,8 +35,5 @@ yarn-error.log* *.tsbuildinfo next-env.d.ts - -# Cloudflare related -/.save.next -/.worker-next -/.wrangler +# OpenNext +/.open-next diff --git a/packages/create-cloudflare/templates-experimental/next/templates/open-next.config.ts b/packages/create-cloudflare/templates-experimental/next/templates/open-next.config.ts new file mode 100644 index 000000000000..30889ac44a49 --- /dev/null +++ b/packages/create-cloudflare/templates-experimental/next/templates/open-next.config.ts @@ -0,0 +1,28 @@ +import cache from "@opennextjs/cloudflare/kvCache"; + +const config = { + default: { + override: { + wrapper: "cloudflare-node", + converter: "edge", + incrementalCache: async () => cache, + tagCache: "dummy", + queue: "dummy", + }, + }, + + middleware: { + external: true, + override: { + wrapper: "cloudflare-edge", + converter: "edge", + proxyExternalRequest: "fetch", + }, + }, + + dangerous: { + enableCacheInterception: false, + }, +}; + +export default config; diff --git a/packages/create-cloudflare/templates-experimental/next/templates/wrangler.toml b/packages/create-cloudflare/templates-experimental/next/templates/wrangler.toml index 4f7e9f1324c4..609adc8a3ea6 100644 --- a/packages/create-cloudflare/templates-experimental/next/templates/wrangler.toml +++ b/packages/create-cloudflare/templates-experimental/next/templates/wrangler.toml @@ -1,6 +1,6 @@ #:schema node_modules/wrangler/config-schema.json name = "" -main = ".worker-next/index.mjs" +main = ".open-next/index.mjs" compatibility_date = "2024-09-26" compatibility_flags = ["nodejs_compat"] @@ -9,4 +9,4 @@ compatibility_flags = ["nodejs_compat"] minify = true # Use the new Workers + Assets to host the static frontend files -assets = { directory = ".worker-next/assets", binding = "ASSETS" } +assets = { directory = ".open-next/assets", binding = "ASSETS" } From a5a603477c9615b5b9453cb9ce3b5cdab76fa846 Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 27 Dec 2024 12:08:25 +0100 Subject: [PATCH 2/6] fixup! update the experimental Next.js template to work on `@opennextjs/cloudflare@0.3.x` fix incorrect main --- .../templates-experimental/next/templates/wrangler.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-cloudflare/templates-experimental/next/templates/wrangler.toml b/packages/create-cloudflare/templates-experimental/next/templates/wrangler.toml index 609adc8a3ea6..10aaf705902c 100644 --- a/packages/create-cloudflare/templates-experimental/next/templates/wrangler.toml +++ b/packages/create-cloudflare/templates-experimental/next/templates/wrangler.toml @@ -1,6 +1,6 @@ #:schema node_modules/wrangler/config-schema.json name = "" -main = ".open-next/index.mjs" +main = ".open-next/worker.js" compatibility_date = "2024-09-26" compatibility_flags = ["nodejs_compat"] From 203e884bcdd8a185c31e9e07fb5ac6ca1761f11e Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 27 Dec 2024 12:17:55 +0100 Subject: [PATCH 3/6] fixup! update the experimental Next.js template to work on `@opennextjs/cloudflare@0.3.x` include `.dev.vars` template file --- packages/create-cloudflare/.gitignore | 3 +++ .../templates-experimental/next/templates/.dev.vars | 2 ++ 2 files changed, 5 insertions(+) create mode 100644 packages/create-cloudflare/templates-experimental/next/templates/.dev.vars diff --git a/packages/create-cloudflare/.gitignore b/packages/create-cloudflare/.gitignore index db7dbd67a7c7..db25f9aaee58 100644 --- a/packages/create-cloudflare/.gitignore +++ b/packages/create-cloudflare/.gitignore @@ -13,5 +13,8 @@ templates*/**/pnpm-lock.yaml # the build step renames .gitignore files to __dot__gitignore templates*/**/__dot__gitignore +# include .dev.vars files in templates +!templates*/**/.dev.vars + scripts/snippets !scripts/snippets/.gitkeep diff --git a/packages/create-cloudflare/templates-experimental/next/templates/.dev.vars b/packages/create-cloudflare/templates-experimental/next/templates/.dev.vars new file mode 100644 index 000000000000..b457e2387ce5 --- /dev/null +++ b/packages/create-cloudflare/templates-experimental/next/templates/.dev.vars @@ -0,0 +1,2 @@ +# Load .env.development* files when running `wrangler dev` +NEXTJS_ENV=development \ No newline at end of file From 289d59e4d1262c5b73c114fa29dff2fc3ff74f21 Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 27 Dec 2024 12:18:32 +0100 Subject: [PATCH 4/6] fixup! update the experimental Next.js template to work on `@opennextjs/cloudflare@0.3.x` update comment --- packages/create-cloudflare/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-cloudflare/.gitignore b/packages/create-cloudflare/.gitignore index db25f9aaee58..1152fa6a605e 100644 --- a/packages/create-cloudflare/.gitignore +++ b/packages/create-cloudflare/.gitignore @@ -13,7 +13,7 @@ templates*/**/pnpm-lock.yaml # the build step renames .gitignore files to __dot__gitignore templates*/**/__dot__gitignore -# include .dev.vars files in templates +# include .dev.vars template files !templates*/**/.dev.vars scripts/snippets From 1bce3e082073db4c4159247248087df79fd35fda Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 27 Dec 2024 12:51:14 +0100 Subject: [PATCH 5/6] fixup! update the experimental Next.js template to work on `@opennextjs/cloudflare@0.3.x` add missing newline --- .../templates-experimental/next/templates/.dev.vars | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-cloudflare/templates-experimental/next/templates/.dev.vars b/packages/create-cloudflare/templates-experimental/next/templates/.dev.vars index b457e2387ce5..96d720bda5ef 100644 --- a/packages/create-cloudflare/templates-experimental/next/templates/.dev.vars +++ b/packages/create-cloudflare/templates-experimental/next/templates/.dev.vars @@ -1,2 +1,2 @@ # Load .env.development* files when running `wrangler dev` -NEXTJS_ENV=development \ No newline at end of file +NEXTJS_ENV=development From ea5ba02628e985bb430e7d691481cafc8ea9ae71 Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Fri, 27 Dec 2024 16:25:15 +0100 Subject: [PATCH 6/6] fixup! update the experimental Next.js template to work on `@opennextjs/cloudflare@0.3.x` skip bun and yarn experimental e2es --- packages/create-cloudflare/e2e-tests/frameworks.test.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/create-cloudflare/e2e-tests/frameworks.test.ts b/packages/create-cloudflare/e2e-tests/frameworks.test.ts index 7bc9edcca872..c17d23480ab3 100644 --- a/packages/create-cloudflare/e2e-tests/frameworks.test.ts +++ b/packages/create-cloudflare/e2e-tests/frameworks.test.ts @@ -188,6 +188,11 @@ function getFrameworkTests(opts: { expectedText: "Create Next App", }, unsupportedOSs: ["win32"], + unsupportedPms: [ + // bun and yarn are failing in CI + "bun", + "yarn", + ], }, nuxt: { testCommitMessage: true,