From 715979c32ab566ff62ac9bdb63c29fe1d03773d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2026 06:06:43 +0000 Subject: [PATCH 1/3] [C3] Bump create-astro in /packages/create-cloudflare/src/frameworks Bumps [create-astro](https://github.com/withastro/astro/tree/HEAD/packages/create-astro) from 5.2.6 to 5.3.0. - [Release notes](https://github.com/withastro/astro/releases) - [Changelog](https://github.com/withastro/astro/blob/main/packages/create-astro/CHANGELOG.md) - [Commits](https://github.com/withastro/astro/commits/create-astro@5.3.0/packages/create-astro) --- updated-dependencies: - dependency-name: create-astro dependency-version: 5.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- packages/create-cloudflare/src/frameworks/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-cloudflare/src/frameworks/package.json b/packages/create-cloudflare/src/frameworks/package.json index 8eee034a396..a6b87690835 100644 --- a/packages/create-cloudflare/src/frameworks/package.json +++ b/packages/create-cloudflare/src/frameworks/package.json @@ -4,7 +4,7 @@ "@angular/create": "22.2.2", "@tanstack/cli": "0.71.1", "create-analog": "2.8.1", - "create-astro": "5.2.6", + "create-astro": "5.3.0", "create-docusaurus": "3.10.2", "create-hono": "0.19.5", "create-next-app": "16.4.1", From ec38e3380bfe70841f8f4f978cbc037e02f66dad Mon Sep 17 00:00:00 2001 From: Wrangler automated PR updater Date: Sun, 18 Oct 2026 06:08:56 +0000 Subject: [PATCH 2/3] Update dependencies of "create-cloudflare" The following dependency versions have been updated: | Dependency | From | To | | ------------ | ----- | ----- | | create-astro | 5.2.6 | 5.3.0 | --- .changeset/c3-frameworks-update-16342.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .changeset/c3-frameworks-update-16342.md diff --git a/.changeset/c3-frameworks-update-16342.md b/.changeset/c3-frameworks-update-16342.md new file mode 100644 index 00000000000..3304c0e0fe7 --- /dev/null +++ b/.changeset/c3-frameworks-update-16342.md @@ -0,0 +1,11 @@ +--- +"create-cloudflare": patch +--- + +Update dependencies of "create-cloudflare" + +The following dependency versions have been updated: + +| Dependency | From | To | +| ------------ | ----- | ----- | +| create-astro | 5.2.6 | 5.3.0 | From ba88f269bfef2667e1acf3b09f88a57d9736a7ff Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Sun, 18 Oct 2026 15:02:10 +0100 Subject: [PATCH 3/3] [C3] Check Node.js version before creating Astro projects --- .changeset/c3-frameworks-update-16342.md | 2 +- .../src/frameworks/__tests__/index.test.ts | 45 +++++++++++++++++++ .../templates/astro/pages/c3.ts | 1 + .../templates/astro/workers/c3.ts | 1 + 4 files changed, 48 insertions(+), 1 deletion(-) diff --git a/.changeset/c3-frameworks-update-16342.md b/.changeset/c3-frameworks-update-16342.md index 3304c0e0fe7..b1bee05f5b3 100644 --- a/.changeset/c3-frameworks-update-16342.md +++ b/.changeset/c3-frameworks-update-16342.md @@ -2,7 +2,7 @@ "create-cloudflare": patch --- -Update dependencies of "create-cloudflare" +Use create-astro 5.3.0 for new Astro projects. If your Node.js version is older than 22.22.0, C3 now explains the required upgrade before starting the Astro generator. The following dependency versions have been updated: diff --git a/packages/create-cloudflare/src/frameworks/__tests__/index.test.ts b/packages/create-cloudflare/src/frameworks/__tests__/index.test.ts index 501f3b2ce56..c0daba36ca7 100644 --- a/packages/create-cloudflare/src/frameworks/__tests__/index.test.ts +++ b/packages/create-cloudflare/src/frameworks/__tests__/index.test.ts @@ -3,6 +3,7 @@ import { join, resolve } from "node:path"; import { runCommand } from "@cloudflare/cli-shared-helpers/command"; import { runInTempDir } from "@cloudflare/workers-utils/test-helpers"; import { mockPackageManager } from "helpers/__tests__/mocks"; +import astro from "templates/astro/c3"; import nuxt from "templates/nuxt/c3"; import { afterEach, describe, test, vi } from "vitest"; import { getFrameworkCli, runFrameworkGenerator } from ".."; @@ -62,6 +63,50 @@ describe("framework CLI Node.js requirements", () => { vi.unstubAllGlobals(); }); + describe.each(Object.entries(astro.platformVariants))( + "Astro (%s)", + (_, template) => { + test.for(["22.0.0", "22.21.99"])( + "rejects Node.js %s before running create-astro", + async (nodeVersion, { expect }) => { + vi.stubGlobal("process", { + ...process, + versions: { ...process.versions, node: nodeVersion }, + }); + const ctx = createTestContext(); + ctx.template = template; + + await expect( + runFrameworkGenerator(ctx, [ctx.project.name]) + ).rejects.toThrow( + `Astro requires Node.js >=22.22.0. You are using Node.js ${nodeVersion}. Please upgrade Node.js and try again.` + ); + expect(runCommand).not.toHaveBeenCalled(); + } + ); + + test.for(["22.22.0", "24.0.0", "26.0.0"])( + "runs create-astro on Node.js %s", + async (nodeVersion, { expect }) => { + vi.stubGlobal("process", { + ...process, + versions: { ...process.versions, node: nodeVersion }, + }); + mockPackageManager("pnpm"); + const ctx = createTestContext(); + ctx.template = template; + + await runFrameworkGenerator(ctx, [ctx.project.name]); + + expect(runCommand).toHaveBeenCalledWith( + ["pnpx", getFrameworkCli(ctx), ctx.project.name], + { env: {} } + ); + } + ); + } + ); + describe.each(Object.entries(nuxt.platformVariants))( "Nuxt (%s)", (_, template) => { diff --git a/packages/create-cloudflare/templates/astro/pages/c3.ts b/packages/create-cloudflare/templates/astro/pages/c3.ts index 2242faf5c8b..5ecf103fc20 100644 --- a/packages/create-cloudflare/templates/astro/pages/c3.ts +++ b/packages/create-cloudflare/templates/astro/pages/c3.ts @@ -75,6 +75,7 @@ const config: TemplateConfig = { configVersion: 1, id: "astro", frameworkCli: "create-astro", + frameworkCliNodeVersion: ">=22.22.0", platform: "pages", hidden: true, displayName: "Astro", diff --git a/packages/create-cloudflare/templates/astro/workers/c3.ts b/packages/create-cloudflare/templates/astro/workers/c3.ts index 3afe411f614..7bb997963fb 100644 --- a/packages/create-cloudflare/templates/astro/workers/c3.ts +++ b/packages/create-cloudflare/templates/astro/workers/c3.ts @@ -37,6 +37,7 @@ const config: TemplateConfig = { configVersion: 1, id: "astro", frameworkCli: "create-astro", + frameworkCliNodeVersion: ">=22.22.0", platform: "workers", displayName: "Astro", copyFiles: {