From 9dd929c45e4141a5b911de21c71332c14b72a182 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Thu, 27 Mar 2025 11:24:46 +0000 Subject: [PATCH 1/4] remove BETA label from Workers+Assets templates and hide Pages templates --- .changeset/clever-squids-unite.md | 5 ++++ .../create-cloudflare/src/helpers/args.ts | 8 ++--- packages/create-cloudflare/src/templates.ts | 30 ++++++++++++------- .../templates/angular/pages/c3.ts | 1 + .../templates/astro/pages/c3.ts | 1 + .../templates/docusaurus/pages/c3.ts | 1 + .../templates/gatsby/pages/c3.ts | 1 + .../templates/hono/pages/c3.ts | 1 + .../templates/nuxt/pages/c3.ts | 1 + .../templates/qwik/pages/c3.ts | 1 + .../templates/react/pages/c3.ts | 1 + .../templates/remix/pages/c3.ts | 1 + .../templates/svelte/pages/c3.ts | 1 + .../templates/vue/pages/c3.ts | 1 + 14 files changed, 39 insertions(+), 15 deletions(-) create mode 100644 .changeset/clever-squids-unite.md diff --git a/.changeset/clever-squids-unite.md b/.changeset/clever-squids-unite.md new file mode 100644 index 000000000000..20ec9e165a71 --- /dev/null +++ b/.changeset/clever-squids-unite.md @@ -0,0 +1,5 @@ +--- +"create-cloudflare": patch +--- + +remove BETA label from Workers+Assets templates and hide Pages templates diff --git a/packages/create-cloudflare/src/helpers/args.ts b/packages/create-cloudflare/src/helpers/args.ts index 9a0f18eadf39..d6f028682bcc 100644 --- a/packages/create-cloudflare/src/helpers/args.ts +++ b/packages/create-cloudflare/src/helpers/args.ts @@ -129,14 +129,14 @@ export const cliDefinition: ArgumentsDefinition = { description: `Whether the application should be deployed to Pages or Workers. This is only applicable for Frameworks templates that support both Pages and Workers.`, values: [ { - name: "pages", + name: "workers", description: - "Create a web application that can be deployed to Pages.", + "Create a web application that can be deployed to Workers.", }, { - name: "workers", + name: "pages", description: - "Create a web application that can be deployed to Workers (BETA).", + "Create a web application that can be deployed to Pages.", }, ], requiresArg: true, diff --git a/packages/create-cloudflare/src/templates.ts b/packages/create-cloudflare/src/templates.ts index 570b3259311d..9345f2daf33e 100644 --- a/packages/create-cloudflare/src/templates.ts +++ b/packages/create-cloudflare/src/templates.ts @@ -472,17 +472,25 @@ export const createContext = async ( label: "platform", question: "Select your deployment platform", options: [ - { - label: "Workers with Assets (BETA)", - value: "workers", - description: - "Take advantage of the full Developer Platform, including R2, Queues, Durable Objects and more.", - }, - { - label: "Pages", - value: "pages", - description: "Great for simple websites and applications.", - }, + ...(frameworkConfig.platformVariants.workers.hidden + ? [] + : [ + { + label: "Workers with Assets", + value: "workers", + description: + "Take advantage of the full Developer Platform, including R2, Queues, Durable Objects and more.", + }, + ]), + ...(frameworkConfig.platformVariants.pages.hidden + ? [] + : [ + { + label: "Pages", + value: "pages", + description: "Great for simple websites and applications.", + }, + ]), backOption, ], defaultValue: "workers", diff --git a/packages/create-cloudflare/templates/angular/pages/c3.ts b/packages/create-cloudflare/templates/angular/pages/c3.ts index 05737942f76d..456e33590f51 100644 --- a/packages/create-cloudflare/templates/angular/pages/c3.ts +++ b/packages/create-cloudflare/templates/angular/pages/c3.ts @@ -95,6 +95,7 @@ const config: TemplateConfig = { frameworkCli: "@angular/create", displayName: "Angular", platform: "pages", + hidden: true, copyFiles: { path: "./templates", }, diff --git a/packages/create-cloudflare/templates/astro/pages/c3.ts b/packages/create-cloudflare/templates/astro/pages/c3.ts index 28de1231cd04..7773c657ebc5 100644 --- a/packages/create-cloudflare/templates/astro/pages/c3.ts +++ b/packages/create-cloudflare/templates/astro/pages/c3.ts @@ -63,6 +63,7 @@ const config: TemplateConfig = { id: "astro", frameworkCli: "create-astro", platform: "pages", + hidden: true, displayName: "Astro", path: "templates/astro/pages", copyFiles: { diff --git a/packages/create-cloudflare/templates/docusaurus/pages/c3.ts b/packages/create-cloudflare/templates/docusaurus/pages/c3.ts index 34959590eaa9..cdd0e5358ee5 100644 --- a/packages/create-cloudflare/templates/docusaurus/pages/c3.ts +++ b/packages/create-cloudflare/templates/docusaurus/pages/c3.ts @@ -14,6 +14,7 @@ const config: TemplateConfig = { id: "docusaurus", frameworkCli: "create-docusaurus", platform: "pages", + hidden: true, displayName: "Docusaurus", path: "templates/docusaurus/pages", generate, diff --git a/packages/create-cloudflare/templates/gatsby/pages/c3.ts b/packages/create-cloudflare/templates/gatsby/pages/c3.ts index dc6cc3d42797..9cf83507cc1d 100644 --- a/packages/create-cloudflare/templates/gatsby/pages/c3.ts +++ b/packages/create-cloudflare/templates/gatsby/pages/c3.ts @@ -34,6 +34,7 @@ const config: TemplateConfig = { id: "gatsby", frameworkCli: "gatsby", platform: "pages", + hidden: true, displayName: "Gatsby", path: "templates/gatsby/pages", generate, diff --git a/packages/create-cloudflare/templates/hono/pages/c3.ts b/packages/create-cloudflare/templates/hono/pages/c3.ts index 01384e1a7803..857cea6d92a9 100644 --- a/packages/create-cloudflare/templates/hono/pages/c3.ts +++ b/packages/create-cloudflare/templates/hono/pages/c3.ts @@ -29,6 +29,7 @@ const config: TemplateConfig = { }, path: "templates/hono/pages", platform: "pages", + hidden: true, generate, transformPackageJson: async () => ({ scripts: { diff --git a/packages/create-cloudflare/templates/nuxt/pages/c3.ts b/packages/create-cloudflare/templates/nuxt/pages/c3.ts index fa76ee1f06ad..ea9945d95916 100644 --- a/packages/create-cloudflare/templates/nuxt/pages/c3.ts +++ b/packages/create-cloudflare/templates/nuxt/pages/c3.ts @@ -125,6 +125,7 @@ const config: TemplateConfig = { id: "nuxt", frameworkCli: "nuxi", platform: "pages", + hidden: true, displayName: "Nuxt", copyFiles: { path: "./templates", diff --git a/packages/create-cloudflare/templates/qwik/pages/c3.ts b/packages/create-cloudflare/templates/qwik/pages/c3.ts index 1c6d0e753227..a0f8c2720c93 100644 --- a/packages/create-cloudflare/templates/qwik/pages/c3.ts +++ b/packages/create-cloudflare/templates/qwik/pages/c3.ts @@ -129,6 +129,7 @@ const config: TemplateConfig = { frameworkCli: "create-qwik", displayName: "Qwik", platform: "pages", + hidden: true, copyFiles: { path: "./templates", }, diff --git a/packages/create-cloudflare/templates/react/pages/c3.ts b/packages/create-cloudflare/templates/react/pages/c3.ts index 1f76ea5fb15e..181b95fac6c4 100644 --- a/packages/create-cloudflare/templates/react/pages/c3.ts +++ b/packages/create-cloudflare/templates/react/pages/c3.ts @@ -47,6 +47,7 @@ const config: TemplateConfig = { frameworkCli: "create-vite", displayName: "React", platform: "pages", + hidden: true, path: "templates/react/pages", generate, transformPackageJson: async () => ({ diff --git a/packages/create-cloudflare/templates/remix/pages/c3.ts b/packages/create-cloudflare/templates/remix/pages/c3.ts index 20adbd9a9185..e803a54cafcf 100644 --- a/packages/create-cloudflare/templates/remix/pages/c3.ts +++ b/packages/create-cloudflare/templates/remix/pages/c3.ts @@ -47,6 +47,7 @@ const config: TemplateConfig = { id: "remix", frameworkCli: "create-remix", platform: "pages", + hidden: true, displayName: "Remix", copyFiles: { path: "./templates", diff --git a/packages/create-cloudflare/templates/svelte/pages/c3.ts b/packages/create-cloudflare/templates/svelte/pages/c3.ts index ec9828568dcf..9aa0858f2d4d 100644 --- a/packages/create-cloudflare/templates/svelte/pages/c3.ts +++ b/packages/create-cloudflare/templates/svelte/pages/c3.ts @@ -130,6 +130,7 @@ const config: TemplateConfig = { frameworkCli: "sv", displayName: "SvelteKit", platform: "pages", + hidden: true, copyFiles: { path: "./templates", }, diff --git a/packages/create-cloudflare/templates/vue/pages/c3.ts b/packages/create-cloudflare/templates/vue/pages/c3.ts index a31594372c43..24d1931567a1 100644 --- a/packages/create-cloudflare/templates/vue/pages/c3.ts +++ b/packages/create-cloudflare/templates/vue/pages/c3.ts @@ -15,6 +15,7 @@ const config: TemplateConfig = { frameworkCli: "create-vue", displayName: "Vue", platform: "pages", + hidden: true, path: "templates/pages/vue", generate, transformPackageJson: async () => ({ From 389e307a693e25e3fb8de7c1556d7beeaf539479 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Fri, 4 Apr 2025 16:28:48 +0100 Subject: [PATCH 2/4] Skip the platform question if there is only one option --- packages/create-cloudflare/src/templates.ts | 29 +++++++++++++++------ 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/packages/create-cloudflare/src/templates.ts b/packages/create-cloudflare/src/templates.ts index 9345f2daf33e..784c82cfe4f9 100644 --- a/packages/create-cloudflare/src/templates.ts +++ b/packages/create-cloudflare/src/templates.ts @@ -467,30 +467,43 @@ export const createContext = async ( } if ("platformVariants" in frameworkConfig) { + const availableVariants = Object.entries( + frameworkConfig.platformVariants, + ).filter(([, config]) => !config.hidden) as [ + keyof typeof frameworkConfig.platformVariants, + TemplateConfig, + ][]; + + if (availableVariants.length === 1) { + args.platform ??= availableVariants[0][0]; + } + const platform = await processArgument(args, "platform", { type: "select", label: "platform", question: "Select your deployment platform", options: [ - ...(frameworkConfig.platformVariants.workers.hidden - ? [] - : [ + ...(args.platform === "workers" || + !frameworkConfig.platformVariants.workers.hidden + ? [ { label: "Workers with Assets", value: "workers", description: "Take advantage of the full Developer Platform, including R2, Queues, Durable Objects and more.", }, - ]), - ...(frameworkConfig.platformVariants.pages.hidden - ? [] - : [ + ] + : []), + ...(args.platform === "pages" || + !frameworkConfig.platformVariants.pages.hidden + ? [ { label: "Pages", value: "pages", description: "Great for simple websites and applications.", }, - ]), + ] + : []), backOption, ], defaultValue: "workers", From d37efb6901206612f512e1dcd6c013f2eeffbc82 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Fri, 4 Apr 2025 17:14:34 +0100 Subject: [PATCH 3/4] include hiding of next-on-pages --- packages/create-cloudflare/templates/next/pages/c3.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/create-cloudflare/templates/next/pages/c3.ts b/packages/create-cloudflare/templates/next/pages/c3.ts index 86f116f8ac28..ea3f5a381e13 100644 --- a/packages/create-cloudflare/templates/next/pages/c3.ts +++ b/packages/create-cloudflare/templates/next/pages/c3.ts @@ -161,6 +161,7 @@ export default { id: "next", frameworkCli: "create-next-app", platform: "pages", + hidden: true, displayName: "Next.js", path: "templates/next/pages", generate, From 322515078e411392bb7f32fc2c0b85761f9982aa Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Sat, 5 Apr 2025 13:49:33 +0100 Subject: [PATCH 4/4] update snapshots --- packages/create-cloudflare/e2e-tests/cli.test.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/create-cloudflare/e2e-tests/cli.test.ts b/packages/create-cloudflare/e2e-tests/cli.test.ts index 93f5bf083cea..3095175d16cc 100644 --- a/packages/create-cloudflare/e2e-tests/cli.test.ts +++ b/packages/create-cloudflare/e2e-tests/cli.test.ts @@ -486,10 +486,10 @@ describe.skipIf(frameworkToTest || isQuarantineMode())("help text", () => { --platform= Whether the application should be deployed to Pages or Workers. This is only applicable for Frameworks templates that support both Pages and Workers. Allowed Values: + workers + Create a web application that can be deployed to Workers. pages Create a web application that can be deployed to Pages. - workers - Create a web application that can be deployed to Workers (BETA). --lang= The programming language of the template Allowed Values: @@ -576,10 +576,10 @@ describe.skipIf(frameworkToTest || isQuarantineMode())("help text", () => { --platform= Whether the application should be deployed to Pages or Workers. This is only applicable for Frameworks templates that support both Pages and Workers. Allowed Values: + workers + Create a web application that can be deployed to Workers. pages Create a web application that can be deployed to Pages. - workers - Create a web application that can be deployed to Workers (BETA). --lang= The programming language of the template Allowed Values: