From a017bbb52532a9ea682be75191f27b259f15dd7f Mon Sep 17 00:00:00 2001 From: Sunil Pai Date: Sat, 5 Oct 2024 08:35:49 +0100 Subject: [PATCH] fix: c3, use latest types for `@cloudflare/workers-types` We have some code that looks for the latest compat date generated in a workers-types dist, but that's been frozen for 202307-01 forever. We have upcoming work that'll replace this with generated types based on compat date/flags, but till then let's generate new projects with the default types. --- .changeset/few-sheep-fail.md | 7 +++++++ .../src/helpers/__tests__/compatDate.test.ts | 4 ++-- packages/create-cloudflare/src/helpers/compatDate.ts | 2 +- .../create-cloudflare/templates-experimental/nuxt/c3.ts | 9 ++------- packages/create-cloudflare/templates/analog/c3.ts | 9 ++------- packages/create-cloudflare/templates/nuxt/c3.ts | 9 ++------- pnpm-lock.yaml | 6 ++++++ 7 files changed, 22 insertions(+), 24 deletions(-) create mode 100644 .changeset/few-sheep-fail.md diff --git a/.changeset/few-sheep-fail.md b/.changeset/few-sheep-fail.md new file mode 100644 index 000000000000..7784feb2e8b8 --- /dev/null +++ b/.changeset/few-sheep-fail.md @@ -0,0 +1,7 @@ +--- +"create-cloudflare": patch +--- + +fix: c3, use latest types for `@cloudflare/workers-types` + +We have some code that looks for the latest compat date generated in a workers-types dist, but that's been frozen for 202307-01 forever. We have upcoming work that'll replace this with generated types based on compat date/flags, but till then let's generate new projects with the default types. diff --git a/packages/create-cloudflare/src/helpers/__tests__/compatDate.test.ts b/packages/create-cloudflare/src/helpers/__tests__/compatDate.test.ts index ed18870a865a..132c580cf806 100644 --- a/packages/create-cloudflare/src/helpers/__tests__/compatDate.test.ts +++ b/packages/create-cloudflare/src/helpers/__tests__/compatDate.test.ts @@ -62,7 +62,7 @@ describe("Compatibility Date Helpers", () => { const date = await getWorkerdCompatibilityDate(); - const fallbackDate = "2023-05-18"; + const fallbackDate = "2024-10-04"; expect(date).toBe(fallbackDate); expect(spinner.start).toHaveBeenCalled(); expect(spinner.stop).toHaveBeenCalledWith( @@ -78,7 +78,7 @@ describe("Compatibility Date Helpers", () => { const date = await getWorkerdCompatibilityDate(); - const fallbackDate = "2023-05-18"; + const fallbackDate = "2024-10-04"; expect(date).toBe(fallbackDate); expect(spinner.start).toHaveBeenCalled(); expect(spinner.stop).toHaveBeenCalledWith( diff --git a/packages/create-cloudflare/src/helpers/compatDate.ts b/packages/create-cloudflare/src/helpers/compatDate.ts index 1a4bca731924..c06cadad5b12 100644 --- a/packages/create-cloudflare/src/helpers/compatDate.ts +++ b/packages/create-cloudflare/src/helpers/compatDate.ts @@ -35,7 +35,7 @@ export async function getWorkerdCompatibilityDate() { } } catch {} - const fallbackDate = "2023-05-18"; + const fallbackDate = "2024-10-04"; s.stop( `${brandColor("compatibility date")} ${dim( diff --git a/packages/create-cloudflare/templates-experimental/nuxt/c3.ts b/packages/create-cloudflare/templates-experimental/nuxt/c3.ts index 128158eadfd8..e04f74f577d4 100644 --- a/packages/create-cloudflare/templates-experimental/nuxt/c3.ts +++ b/packages/create-cloudflare/templates-experimental/nuxt/c3.ts @@ -3,7 +3,6 @@ import { brandColor, dim } from "@cloudflare/cli/colors"; import { spinner } from "@cloudflare/cli/interactive"; import { runFrameworkGenerator } from "frameworks/index"; import { mergeObjectProperties, transformFile } from "helpers/codemod"; -import { getLatestTypesEntrypoint } from "helpers/compatDate"; import { readFile, writeFile } from "helpers/files"; import { detectPackageManager } from "helpers/packageManagers"; import { installPackages } from "helpers/packages"; @@ -48,7 +47,7 @@ const configure = async (ctx: C3Context) => { updateEnvTypes(ctx); }; -const updateEnvTypes = (ctx: C3Context) => { +const updateEnvTypes = (_ctx: C3Context) => { const filepath = "env.d.ts"; const s = spinner(); @@ -56,11 +55,7 @@ const updateEnvTypes = (ctx: C3Context) => { let file = readFile(filepath); - let typesEntrypoint = `@cloudflare/workers-types`; - const latestEntrypoint = getLatestTypesEntrypoint(ctx); - if (latestEntrypoint) { - typesEntrypoint += `/${latestEntrypoint}`; - } + const typesEntrypoint = `@cloudflare/workers-types/experimental`; // Replace placeholder with actual types entrypoint file = file.replace("WORKERS_TYPES_ENTRYPOINT", typesEntrypoint); diff --git a/packages/create-cloudflare/templates/analog/c3.ts b/packages/create-cloudflare/templates/analog/c3.ts index 1df940eb00ae..f8ebb5c609ae 100644 --- a/packages/create-cloudflare/templates/analog/c3.ts +++ b/packages/create-cloudflare/templates/analog/c3.ts @@ -3,7 +3,6 @@ import { brandColor, dim } from "@cloudflare/cli/colors"; import { spinner } from "@cloudflare/cli/interactive"; import { runFrameworkGenerator } from "frameworks/index"; import { loadTemplateSnippets, transformFile } from "helpers/codemod"; -import { getLatestTypesEntrypoint } from "helpers/compatDate"; import { readFile, writeFile } from "helpers/files"; import { detectPackageManager } from "helpers/packageManagers"; import { installPackages } from "helpers/packages"; @@ -43,7 +42,7 @@ const configure = async (ctx: C3Context) => { updateEnvTypes(ctx); }; -const updateEnvTypes = (ctx: C3Context) => { +const updateEnvTypes = (_ctx: C3Context) => { const filepath = "env.d.ts"; const s = spinner(); @@ -51,11 +50,7 @@ const updateEnvTypes = (ctx: C3Context) => { let file = readFile(filepath); - let typesEntrypoint = `@cloudflare/workers-types`; - const latestEntrypoint = getLatestTypesEntrypoint(ctx); - if (latestEntrypoint) { - typesEntrypoint += `/${latestEntrypoint}`; - } + const typesEntrypoint = `@cloudflare/workers-types/experimental`; // Replace placeholder with actual types entrypoint file = file.replace("WORKERS_TYPES_ENTRYPOINT", typesEntrypoint); diff --git a/packages/create-cloudflare/templates/nuxt/c3.ts b/packages/create-cloudflare/templates/nuxt/c3.ts index ca9780993cb3..5c9db0f9206b 100644 --- a/packages/create-cloudflare/templates/nuxt/c3.ts +++ b/packages/create-cloudflare/templates/nuxt/c3.ts @@ -3,7 +3,6 @@ import { brandColor, dim } from "@cloudflare/cli/colors"; import { spinner } from "@cloudflare/cli/interactive"; import { runFrameworkGenerator } from "frameworks/index"; import { mergeObjectProperties, transformFile } from "helpers/codemod"; -import { getLatestTypesEntrypoint } from "helpers/compatDate"; import { readFile, writeFile } from "helpers/files"; import { detectPackageManager } from "helpers/packageManagers"; import { installPackages } from "helpers/packages"; @@ -48,7 +47,7 @@ const configure = async (ctx: C3Context) => { updateEnvTypes(ctx); }; -const updateEnvTypes = (ctx: C3Context) => { +const updateEnvTypes = (_ctx: C3Context) => { const filepath = "env.d.ts"; const s = spinner(); @@ -56,11 +55,7 @@ const updateEnvTypes = (ctx: C3Context) => { let file = readFile(filepath); - let typesEntrypoint = `@cloudflare/workers-types`; - const latestEntrypoint = getLatestTypesEntrypoint(ctx); - if (latestEntrypoint) { - typesEntrypoint += `/${latestEntrypoint}`; - } + const typesEntrypoint = `@cloudflare/workers-types/experimental`; // Replace placeholder with actual types entrypoint file = file.replace("WORKERS_TYPES_ENTRYPOINT", typesEntrypoint); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c72e81ac3366..efec38f102c7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,6 +6,12 @@ settings: catalogs: default: + '@vitest/runner': + specifier: ~2.1.1 + version: 2.1.1 + '@vitest/snapshot': + specifier: ~2.1.1 + version: 2.1.1 vitest: specifier: ~2.1.1 version: 2.1.1