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/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: 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..784c82cfe4f9 100644 --- a/packages/create-cloudflare/src/templates.ts +++ b/packages/create-cloudflare/src/templates.ts @@ -467,22 +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: [ - { - 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.", - }, + ...(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.", + }, + ] + : []), + ...(args.platform === "pages" || + !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/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, 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 () => ({