diff --git a/.changeset/itchy-days-greet.md b/.changeset/itchy-days-greet.md new file mode 100644 index 000000000000..9b17076b51e0 --- /dev/null +++ b/.changeset/itchy-days-greet.md @@ -0,0 +1,5 @@ +--- +"create-cloudflare": minor +--- + +Change the default project type to the hello world worker script. diff --git a/packages/create-cloudflare/e2e-tests/cli.test.ts b/packages/create-cloudflare/e2e-tests/cli.test.ts index 074446e68030..f134094f8cfe 100644 --- a/packages/create-cloudflare/e2e-tests/cli.test.ts +++ b/packages/create-cloudflare/e2e-tests/cli.test.ts @@ -63,7 +63,7 @@ describe.skipIf(frameworkToTest || isQuarantineMode())( promptHandlers: [ { matcher: /What type of application do you want to create/, - input: [keys.down, keys.enter], + input: [keys.enter], }, { matcher: /Do you want to use TypeScript/, @@ -130,7 +130,7 @@ describe.skipIf(frameworkToTest || isQuarantineMode())( promptHandlers: [ { matcher: /What type of application do you want to create/, - input: [keys.down, keys.enter], + input: [keys.enter], }, { matcher: /Do you want to use git for version control/, diff --git a/packages/create-cloudflare/src/helpers/cli.ts b/packages/create-cloudflare/src/helpers/cli.ts index 5c6d77dc85bd..1752719b3a0c 100644 --- a/packages/create-cloudflare/src/helpers/cli.ts +++ b/packages/create-cloudflare/src/helpers/cli.ts @@ -20,7 +20,7 @@ export async function openInBrowser(url: string): Promise { export const C3_DEFAULTS = { projectName: new Haikunator().haikunate({ tokenHex: true }), - type: "webFramework", + type: "hello-world", framework: "angular", autoUpdate: true, deploy: true, diff --git a/packages/create-cloudflare/src/helpers/command.ts b/packages/create-cloudflare/src/helpers/command.ts index 46810c701430..c3f68a63ea23 100644 --- a/packages/create-cloudflare/src/helpers/command.ts +++ b/packages/create-cloudflare/src/helpers/command.ts @@ -298,7 +298,15 @@ const needsPackageManagerReset = (ctx: PagesGeneratorContext) => { export const npmInstall = async () => { const { npm } = detectPackageManager(); - await runCommand(`${npm} install`, { + const installCmd = [npm, "install"]; + + if (npm === "yarn" && process.env.VITEST) { + // Yarn can corrupt the cache if more than one instance is running at once, + // which is what we do in our tests. + installCmd.push("--mutex", "network"); + } + + await runCommand(installCmd, { silent: true, startText: "Installing dependencies", doneText: `${brandColor("installed")} ${dim(`via \`${npm} install\``)}`, diff --git a/packages/create-cloudflare/src/templateMap.ts b/packages/create-cloudflare/src/templateMap.ts index f87935368acf..356906217a43 100644 --- a/packages/create-cloudflare/src/templateMap.ts +++ b/packages/create-cloudflare/src/templateMap.ts @@ -9,14 +9,14 @@ type TemplateConfig = { }; export const templateMap: Record = { - webFramework: { - label: "Website or web app", - handler: runPagesGenerator, - }, "hello-world": { label: `"Hello World" Worker`, handler: runWorkersGenerator, }, + webFramework: { + label: "Website or web app", + handler: runPagesGenerator, + }, common: { label: "Example router & proxy Worker", handler: runWorkersGenerator,