Skip to content

Commit fd2cb21

Browse files
authored
Update Next.js version in the experimental template (#8451)
* Update Next.js version in the experimental template * fixup! Next15 now generates a .ts config when TS is used
1 parent 99f8025 commit fd2cb21

File tree

4 files changed

+19
-37
lines changed

4 files changed

+19
-37
lines changed

.changeset/real-clocks-ask.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"create-cloudflare": patch
3+
---
4+
5+
Update the Next experimental template to use version ~15.2.2

packages/create-cloudflare/templates-experimental/next/c3.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { brandColor, dim } from "@cloudflare/cli/colors";
22
import { spinner } from "@cloudflare/cli/interactive";
33
import { runFrameworkGenerator } from "frameworks/index";
4-
import { readFile, writeFile } from "helpers/files";
4+
import { readFile, usesTypescript, writeFile } from "helpers/files";
55
import { installPackages } from "helpers/packages";
66
import type { TemplateConfig } from "../../src/templates";
77
import type { C3Context } from "types";
@@ -10,7 +10,7 @@ const generate = async (ctx: C3Context) => {
1010
await runFrameworkGenerator(ctx, [ctx.project.name]);
1111
};
1212

13-
const configure = async () => {
13+
const configure = async (ctx: C3Context) => {
1414
const packages = [
1515
"@opennextjs/[email protected]",
1616
"@cloudflare/workers-types",
@@ -21,13 +21,15 @@ const configure = async () => {
2121
doneText: `${brandColor(`installed`)} ${dim(packages.join(", "))}`,
2222
});
2323

24-
updateNextConfig();
24+
const usesTs = usesTypescript(ctx);
25+
26+
updateNextConfig(usesTs);
2527
};
2628

27-
const updateNextConfig = () => {
29+
const updateNextConfig = (usesTs: boolean) => {
2830
const s = spinner();
2931

30-
const configFile = "next.config.mjs";
32+
const configFile = `next.config.${usesTs ? "ts" : "mjs"}`;
3133
s.start(`Updating \`${configFile}\``);
3234

3335
const configContent = readFile(configFile);
@@ -49,10 +51,8 @@ export default {
4951
configVersion: 1,
5052
id: "next",
5153
frameworkCli: "create-next-app",
52-
// TODO: here we need to specify a version of create-next-app which is different from the
53-
// standard one used in the stable Next.js template, that's because our open-next adapter
54-
// is not yet fully ready for Next.js 15, once it is we should remove the following
55-
frameworkCliPinnedVersion: "^14.2.23",
54+
// TODO: Stop using a pinned version when the template graduates.
55+
frameworkCliPinnedVersion: "~15.2.2",
5656
platform: "workers",
5757
displayName: "Next.js (using Node.js compat + Workers Assets)",
5858
path: "templates-experimental/next",
Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,6 @@
1-
import cache from "@opennextjs/cloudflare/kvCache";
1+
import { defineCloudflareConfig } from "@opennextjs/cloudflare";
2+
import kvIncrementalCache from "@opennextjs/cloudflare/kv-cache";
23

3-
const config = {
4-
default: {
5-
override: {
6-
wrapper: "cloudflare-node",
7-
converter: "edge",
8-
incrementalCache: async () => cache,
9-
tagCache: "dummy",
10-
queue: "dummy",
11-
},
12-
},
13-
14-
middleware: {
15-
external: true,
16-
override: {
17-
wrapper: "cloudflare-edge",
18-
converter: "edge",
19-
proxyExternalRequest: "fetch",
20-
},
21-
},
22-
23-
dangerous: {
24-
enableCacheInterception: false,
25-
},
26-
};
27-
28-
export default config;
4+
export default defineCloudflareConfig({
5+
incrementalCache: kvIncrementalCache,
6+
});

packages/create-cloudflare/templates-experimental/next/templates/wrangler.jsonc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"compatibility_flags": [
66
"nodejs_compat"
77
],
8-
"minify": true,
98
"assets": {
109
"binding": "ASSETS",
1110
"directory": ".open-next/assets"

0 commit comments

Comments
 (0)