create-cloudflare 0.0.0-9c15b6ea2 → 0.0.0-9c30aecaa

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/cli.js +283 -246
  2. package/dist/tsconfig.tsbuildinfo +1 -1
  3. package/package.json +8 -8
  4. package/templates/analog/c3.ts +0 -24
  5. package/templates/analog/templates/env.d.ts +1 -1
  6. package/templates/angular/pages/c3.ts +3 -3
  7. package/templates/angular/pages/templates/wrangler.jsonc +5 -0
  8. package/templates/angular/workers/c3.ts +1 -0
  9. package/templates/astro/workers/templates/js/wrangler.jsonc +2 -1
  10. package/templates/astro/workers/templates/ts/wrangler.jsonc +2 -1
  11. package/templates/common/ts/tsconfig.json +0 -3
  12. package/templates/docusaurus/pages/c3.ts +1 -0
  13. package/templates/docusaurus/workers/c3.ts +1 -0
  14. package/templates/gatsby/pages/c3.ts +1 -0
  15. package/templates/gatsby/workers/c3.ts +1 -0
  16. package/templates/hello-world/ts/test/index.spec.ts +0 -1
  17. package/templates/hello-world/ts/test/tsconfig.json +1 -1
  18. package/templates/hello-world/ts/tsconfig.json +0 -2
  19. package/templates/hello-world-assets-only/templates/public/index.html +1 -0
  20. package/templates/hello-world-assets-only/templates/wrangler.jsonc +1 -0
  21. package/templates/hello-world-durable-object/ts/tsconfig.json +0 -2
  22. package/templates/hello-world-durable-object-with-assets/js/public/index.html +1 -0
  23. package/templates/hello-world-durable-object-with-assets/js/wrangler.jsonc +1 -1
  24. package/templates/hello-world-durable-object-with-assets/py/public/index.html +1 -0
  25. package/templates/hello-world-durable-object-with-assets/py/wrangler.jsonc +1 -1
  26. package/templates/hello-world-durable-object-with-assets/ts/public/index.html +1 -0
  27. package/templates/hello-world-durable-object-with-assets/ts/tsconfig.json +0 -2
  28. package/templates/hello-world-durable-object-with-assets/ts/wrangler.jsonc +1 -1
  29. package/templates/hello-world-with-assets/js/public/index.html +1 -0
  30. package/templates/hello-world-with-assets/js/wrangler.jsonc +3 -2
  31. package/templates/hello-world-with-assets/py/public/index.html +1 -0
  32. package/templates/hello-world-with-assets/py/wrangler.jsonc +1 -1
  33. package/templates/hello-world-with-assets/ts/public/index.html +1 -0
  34. package/templates/hello-world-with-assets/ts/test/tsconfig.json +1 -1
  35. package/templates/hello-world-with-assets/ts/tsconfig.json +0 -2
  36. package/templates/hello-world-with-assets/ts/wrangler.jsonc +2 -2
  37. package/templates/hello-world-workflows/c3.ts +20 -0
  38. package/templates/hello-world-workflows/js/package.json +13 -0
  39. package/templates/hello-world-workflows/js/src/index.js +129 -0
  40. package/templates/hello-world-workflows/js/wrangler.jsonc +17 -0
  41. package/templates/hello-world-workflows/ts/package.json +15 -0
  42. package/templates/hello-world-workflows/ts/src/index.ts +111 -0
  43. package/templates/hello-world-workflows/ts/tsconfig.json +40 -0
  44. package/templates/hello-world-workflows/ts/wrangler.jsonc +17 -0
  45. package/templates/hono/pages/c3.ts +4 -1
  46. package/templates/hono/workers/c3.ts +3 -1
  47. package/templates/next/pages/c3.ts +6 -10
  48. package/templates/next/workers/c3.ts +7 -5
  49. package/templates/next/workers/templates/public/_headers +3 -0
  50. package/templates/nuxt/pages/c3.ts +2 -26
  51. package/templates/nuxt/pages/templates/env.d.ts +1 -1
  52. package/templates/nuxt/workers/c3.ts +2 -26
  53. package/templates/nuxt/workers/templates/env.d.ts +1 -1
  54. package/templates/openapi/ts/tsconfig.json +0 -1
  55. package/templates/queues/ts/tsconfig.json +0 -2
  56. package/templates/qwik/pages/c3.ts +1 -0
  57. package/templates/qwik/workers/c3.ts +1 -0
  58. package/templates/qwik/workers/templates/wrangler.jsonc +2 -1
  59. package/templates/react/pages/c3.ts +4 -2
  60. package/templates/react/pages/templates/wrangler.jsonc +5 -0
  61. package/templates/react/workers/ts/tsconfig.worker.json +1 -1
  62. package/templates/react-router/c3.ts +0 -12
  63. package/templates/remix/pages/c3.ts +1 -0
  64. package/templates/remix/pages/templates/worker-configuration.d.ts +1 -1
  65. package/templates/remix/workers/c3.ts +1 -0
  66. package/templates/scheduled/ts/tsconfig.json +0 -2
  67. package/templates/solid/c3.ts +1 -0
  68. package/templates/svelte/pages/c3.ts +3 -3
  69. package/templates/svelte/workers/c3.ts +3 -3
  70. package/templates/vue/pages/c3.ts +5 -3
  71. package/templates/vue/pages/templates/wrangler.jsonc +5 -0
  72. package/templates/vue/workers/ts/tsconfig.worker.json +1 -1
  73. package/templates-experimental/solid/c3.ts +1 -1
  74. package/templates/analog/templates/worker-configuration.d.ts +0 -4
  75. package/templates/astro/workers/templates/ts/worker-configuration.d.ts +0 -4
  76. package/templates/common/ts/worker-configuration.d.ts +0 -4
  77. package/templates/hello-world/ts/worker-configuration.d.ts +0 -8
  78. package/templates/hello-world-durable-object/ts/worker-configuration.d.ts +0 -7
  79. package/templates/hello-world-durable-object-with-assets/ts/worker-configuration.d.ts +0 -8
  80. package/templates/hello-world-with-assets/ts/worker-configuration.d.ts +0 -7
  81. package/templates/hono/pages/templates/worker-configuration.d.ts +0 -4
  82. package/templates/hono/workers/templates/worker-configuration.d.ts +0 -4
  83. package/templates/next/pages/env.d.ts +0 -5
  84. package/templates/next/workers/templates/cloudflare-env.d.ts +0 -5
  85. package/templates/nuxt/pages/templates/worker-configuration.d.ts +0 -4
  86. package/templates/nuxt/workers/templates/worker-configuration.d.ts +0 -4
  87. package/templates/openapi/ts/worker-configuration.d.ts +0 -4
  88. package/templates/queues/ts/worker-configuration.d.ts +0 -5
  89. package/templates/react/workers/ts/worker-configuration.d.ts +0 -5
  90. package/templates/react-router/templates/worker-configuration.d.ts +0 -8
  91. package/templates/scheduled/ts/worker-configuration.d.ts +0 -4
  92. package/templates/vue/workers/ts/worker-configuration.d.ts +0 -6
package/dist/cli.js CHANGED
@@ -3111,8 +3111,8 @@ var require_path_key = __commonJS({
3111
3111
  "use strict";
3112
3112
  var pathKey = (options = {}) => {
3113
3113
  const environment = options.env || process.env;
3114
- const platform3 = options.platform || process.platform;
3115
- if (platform3 !== "win32") {
3114
+ const platform = options.platform || process.platform;
3115
+ if (platform !== "win32") {
3116
3116
  return "PATH";
3117
3117
  }
3118
3118
  return Object.keys(environment).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
@@ -26411,7 +26411,7 @@ var require_index_688c5d50 = __commonJS({
26411
26411
  }
26412
26412
  var origCwd = process.cwd;
26413
26413
  var cwd = null;
26414
- var platform3 = process.env.GRACEFUL_FS_PLATFORM || process.platform;
26414
+ var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
26415
26415
  process.cwd = function() {
26416
26416
  if (!cwd)
26417
26417
  cwd = origCwd.call(process);
@@ -26466,7 +26466,7 @@ var require_index_688c5d50 = __commonJS({
26466
26466
  fs4.lchownSync = function() {
26467
26467
  };
26468
26468
  }
26469
- if (platform3 === "win32") {
26469
+ if (platform === "win32") {
26470
26470
  fs4.rename = /* @__PURE__ */ function(fs$rename) {
26471
26471
  return function(from, to, cb) {
26472
26472
  var start = Date.now();
@@ -31639,7 +31639,7 @@ var require_open = __commonJS({
31639
31639
  var isDocker = require_is_docker();
31640
31640
  var defineLazyProperty = require_define_lazy_prop();
31641
31641
  var localXdgOpenPath = path6.join(__dirname, "xdg-open");
31642
- var { platform: platform3, arch } = process;
31642
+ var { platform, arch } = process;
31643
31643
  var getWslDrivesMountPoint = /* @__PURE__ */ (() => {
31644
31644
  const defaultMountPoint = "/mnt/";
31645
31645
  let mountPoint;
@@ -31706,7 +31706,7 @@ var require_open = __commonJS({
31706
31706
  let command2;
31707
31707
  const cliArguments = [];
31708
31708
  const childProcessOptions = {};
31709
- if (platform3 === "darwin") {
31709
+ if (platform === "darwin") {
31710
31710
  command2 = "open";
31711
31711
  if (options.wait) {
31712
31712
  cliArguments.push("--wait-apps");
@@ -31720,7 +31720,7 @@ var require_open = __commonJS({
31720
31720
  if (app) {
31721
31721
  cliArguments.push("-a", app);
31722
31722
  }
31723
- } else if (platform3 === "win32" || isWsl && !isDocker()) {
31723
+ } else if (platform === "win32" || isWsl && !isDocker()) {
31724
31724
  const mountPoint = await getWslDrivesMountPoint();
31725
31725
  command2 = isWsl ? `${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe` : `${process.env.SYSTEMROOT}\\System32\\WindowsPowerShell\\v1.0\\powershell`;
31726
31726
  cliArguments.push(
@@ -31761,7 +31761,7 @@ var require_open = __commonJS({
31761
31761
  exeLocalXdgOpen = true;
31762
31762
  } catch {
31763
31763
  }
31764
- const useSystemXdgOpen = process.versions.electron || platform3 === "android" || isBundled || !exeLocalXdgOpen;
31764
+ const useSystemXdgOpen = process.versions.electron || platform === "android" || isBundled || !exeLocalXdgOpen;
31765
31765
  command2 = useSystemXdgOpen ? "xdg-open" : localXdgOpenPath;
31766
31766
  }
31767
31767
  if (appArguments.length > 0) {
@@ -31775,7 +31775,7 @@ var require_open = __commonJS({
31775
31775
  if (options.target) {
31776
31776
  cliArguments.push(options.target);
31777
31777
  }
31778
- if (platform3 === "darwin" && appArguments.length > 0) {
31778
+ if (platform === "darwin" && appArguments.length > 0) {
31779
31779
  cliArguments.push("--args", ...appArguments);
31780
31780
  }
31781
31781
  const subprocess = childProcess.spawn(command2, cliArguments, childProcessOptions);
@@ -31829,12 +31829,12 @@ var require_open = __commonJS({
31829
31829
  }
31830
31830
  return archBinary;
31831
31831
  }
31832
- function detectPlatformBinary({ [platform3]: platformBinary }, { wsl }) {
31832
+ function detectPlatformBinary({ [platform]: platformBinary }, { wsl }) {
31833
31833
  if (wsl && isWsl) {
31834
31834
  return detectArchBinary(wsl);
31835
31835
  }
31836
31836
  if (!platformBinary) {
31837
- throw new Error(`${platform3} is not supported`);
31837
+ throw new Error(`${platform} is not supported`);
31838
31838
  }
31839
31839
  return detectArchBinary(platformBinary);
31840
31840
  }
@@ -74560,7 +74560,7 @@ var Yargs = YargsFactory(esm_default);
74560
74560
  var yargs_default = Yargs;
74561
74561
 
74562
74562
  // package.json
74563
- var version = "0.0.0-9c15b6ea2";
74563
+ var version = "0.0.0-9c30aecaa";
74564
74564
 
74565
74565
  // src/metrics.ts
74566
74566
  var import_node_async_hooks = require("node:async_hooks");
@@ -74853,7 +74853,7 @@ var detectPmMismatch = (ctx) => {
74853
74853
 
74854
74854
  // src/helpers/sparrow.ts
74855
74855
  var import_undici = __toESM(require_undici());
74856
- var SPARROW_SOURCE_KEY = "5adf183f94b3436ba78d67f506965998";
74856
+ var SPARROW_SOURCE_KEY = "";
74857
74857
  var SPARROW_URL = "https://sparrow.cloudflare.com";
74858
74858
  function hasSparrowSourceKey() {
74859
74859
  return SPARROW_SOURCE_KEY !== "";
@@ -74892,8 +74892,8 @@ function promiseWithResolvers() {
74892
74892
  return { resolve: resolve12, reject, promise };
74893
74893
  }
74894
74894
  function getPlatform() {
74895
- const platform3 = process.platform;
74896
- switch (platform3) {
74895
+ const platform = process.platform;
74896
+ switch (platform) {
74897
74897
  case "win32":
74898
74898
  return "Windows";
74899
74899
  case "darwin":
@@ -74901,7 +74901,7 @@ function getPlatform() {
74901
74901
  case "linux":
74902
74902
  return "Linux";
74903
74903
  default:
74904
- return `Others: ${platform3}`;
74904
+ return `Others: ${platform}`;
74905
74905
  }
74906
74906
  }
74907
74907
  function createReporter() {
@@ -74912,7 +74912,7 @@ function createReporter() {
74912
74912
  const isEnabled = isTelemetryEnabled();
74913
74913
  const deviceId = getDeviceId(config48);
74914
74914
  const packageManager = detectPackageManager();
74915
- const platform3 = getPlatform();
74915
+ const platform = getPlatform();
74916
74916
  const amplitude_session_id = Date.now();
74917
74917
  const enableLog = process.env.CREATE_CLOUDFLARE_TELEMETRY_DEBUG === "1";
74918
74918
  let amplitude_event_id = 0;
@@ -74928,7 +74928,7 @@ function createReporter() {
74928
74928
  properties: {
74929
74929
  amplitude_session_id,
74930
74930
  amplitude_event_id: amplitude_event_id++,
74931
- platform: platform3,
74931
+ platform,
74932
74932
  c3Version: version,
74933
74933
  isFirstUsage,
74934
74934
  packageManager: packageManager.name,
@@ -75335,21 +75335,21 @@ var package_default = {
75335
75335
  "so that we can use dependabot to update these dependencies automatically."
75336
75336
  ],
75337
75337
  dependencies: {
75338
- "create-astro": "4.11.3",
75338
+ "create-astro": "4.12.1",
75339
75339
  "create-analog": "1.8.1",
75340
- "@angular/create": "19.2.9",
75341
- "create-docusaurus": "3.7.0",
75342
- "create-hono": "0.18.0",
75343
- "create-next-app": "15.3.1",
75344
- "create-qwik": "1.13.0",
75345
- "create-vite": "6.4.1",
75346
- "create-remix": "2.16.5",
75347
- "create-react-router": "7.5.2",
75348
- "create-solid": "0.6.2",
75340
+ "@angular/create": "19.2.12",
75341
+ "create-docusaurus": "3.8.0",
75342
+ "create-hono": "0.19.1",
75343
+ "create-next-app": "15.3.3",
75344
+ "create-qwik": "1.14.1",
75345
+ "create-vite": "6.5.0",
75346
+ "create-remix": "2.16.6",
75347
+ "create-react-router": "7.6.1",
75348
+ "create-solid": "0.6.5",
75349
75349
  "create-vue": "3.16.4",
75350
75350
  gatsby: "5.14.3",
75351
- sv: "0.8.3",
75352
- nuxi: "3.25.0"
75351
+ sv: "0.8.7",
75352
+ nuxi: "3.25.1"
75353
75353
  }
75354
75354
  };
75355
75355
 
@@ -75483,10 +75483,6 @@ async function getWorkerdCompatibilityDate() {
75483
75483
  );
75484
75484
  return fallbackDate;
75485
75485
  }
75486
- var compatDateFlag = async () => {
75487
- const workerdCompatDate = await getWorkerdCompatibilityDate();
75488
- return `--compatibility-date=${workerdCompatDate}`;
75489
- };
75490
75486
  function getLatestTypesEntrypoint(ctx) {
75491
75487
  const workersTypesPath = (0, import_path9.resolve)(
75492
75488
  ctx.project.path,
@@ -75569,10 +75565,10 @@ var config = {
75569
75565
  transformPackageJson: async () => ({
75570
75566
  scripts: {
75571
75567
  preview: `${npm} run build && npx wrangler dev`,
75572
- deploy: `${npm} run build && wrangler deploy`
75568
+ deploy: `${npm} run build && wrangler deploy`,
75569
+ "cf-typegen": `wrangler types`
75573
75570
  }
75574
75571
  }),
75575
- compatibilityFlags: ["nodejs_compat"],
75576
75572
  devScript: "dev",
75577
75573
  deployScript: "deploy",
75578
75574
  previewScript: "preview"
@@ -75604,21 +75600,6 @@ var configure2 = async (ctx) => {
75604
75600
  });
75605
75601
  }
75606
75602
  updateViteConfig(ctx);
75607
- updateEnvTypes(ctx);
75608
- };
75609
- var updateEnvTypes = (ctx) => {
75610
- const filepath = "env.d.ts";
75611
- const s = spinner();
75612
- s.start(`Updating ${filepath}`);
75613
- let file = readFile(filepath);
75614
- let typesEntrypoint = `@cloudflare/workers-types`;
75615
- const latestEntrypoint = getLatestTypesEntrypoint(ctx);
75616
- if (latestEntrypoint) {
75617
- typesEntrypoint += `/${latestEntrypoint}`;
75618
- }
75619
- file = file.replace("WORKERS_TYPES_ENTRYPOINT", typesEntrypoint);
75620
- writeFile2("env.d.ts", file);
75621
- s.stop(`${brandColor(`updated`)} ${dim(`\`${filepath}\``)}`);
75622
75603
  };
75623
75604
  var updateViteConfig = (ctx) => {
75624
75605
  const b3 = recast3.types.builders;
@@ -75762,10 +75743,11 @@ var config3 = {
75762
75743
  configure: configure3,
75763
75744
  transformPackageJson: async () => ({
75764
75745
  scripts: {
75765
- start: `${npm3} run build && wrangler pages dev dist/cloudflare ${await compatDateFlag()}`,
75746
+ start: `${npm3} run build && wrangler pages dev`,
75766
75747
  build: `ng build && ${npm3} run process`,
75767
75748
  process: "node ./tools/copy-files.mjs",
75768
- deploy: `${npm3} run build && wrangler pages deploy dist/cloudflare`
75749
+ deploy: `${npm3} run build && wrangler pages deploy`,
75750
+ "cf-typegen": `wrangler types`
75769
75751
  }
75770
75752
  })
75771
75753
  };
@@ -75851,7 +75833,8 @@ var config4 = {
75851
75833
  scripts: {
75852
75834
  start: `${npm4} run build && wrangler dev`,
75853
75835
  build: `ng build`,
75854
- deploy: `${npm4} run build && wrangler deploy`
75836
+ deploy: `${npm4} run build && wrangler deploy`,
75837
+ "cf-typegen": `wrangler types`
75855
75838
  }
75856
75839
  })
75857
75840
  };
@@ -76067,7 +76050,8 @@ var config10 = {
76067
76050
  }),
76068
76051
  devScript: "preview",
76069
76052
  deployScript: "deploy",
76070
- previewScript: "preview"
76053
+ previewScript: "preview",
76054
+ workersTypes: "none"
76071
76055
  };
76072
76056
  var c3_default10 = config10;
76073
76057
 
@@ -76095,7 +76079,8 @@ var config11 = {
76095
76079
  }),
76096
76080
  devScript: "start",
76097
76081
  deployScript: "deploy",
76098
- previewScript: "preview"
76082
+ previewScript: "preview",
76083
+ workersTypes: "none"
76099
76084
  };
76100
76085
  var c3_default11 = config11;
76101
76086
 
@@ -76144,7 +76129,8 @@ var config13 = {
76144
76129
  }),
76145
76130
  devScript: "develop",
76146
76131
  deployScript: "deploy",
76147
- previewScript: "preview"
76132
+ previewScript: "preview",
76133
+ workersTypes: "none"
76148
76134
  };
76149
76135
  var c3_default13 = config13;
76150
76136
 
@@ -76188,7 +76174,8 @@ var config14 = {
76188
76174
  }),
76189
76175
  devScript: "develop",
76190
76176
  deployScript: "deploy",
76191
- previewScript: "preview"
76177
+ previewScript: "preview",
76178
+ workersTypes: "none"
76192
76179
  };
76193
76180
  var c3_default14 = config14;
76194
76181
 
@@ -76284,10 +76271,29 @@ var config19 = {
76284
76271
  };
76285
76272
  var c3_default19 = config19;
76286
76273
 
76274
+ // templates/hello-world-workflows/c3.ts
76275
+ var c3_default20 = {
76276
+ configVersion: 1,
76277
+ id: "hello-world-workflows",
76278
+ displayName: "Workflow",
76279
+ description: "For multi-step applications that automatically retry, persist state, and run for minutes, hours, days or weeks",
76280
+ platform: "workers",
76281
+ copyFiles: {
76282
+ variants: {
76283
+ js: {
76284
+ path: "./js"
76285
+ },
76286
+ ts: {
76287
+ path: "./ts"
76288
+ }
76289
+ }
76290
+ }
76291
+ };
76292
+
76287
76293
  // templates/hello-world/c3.ts
76288
76294
  var import_promises2 = require("node:fs/promises");
76289
76295
  var import_node_path5 = require("node:path");
76290
- var c3_default20 = {
76296
+ var c3_default21 = {
76291
76297
  configVersion: 1,
76292
76298
  id: "hello-world",
76293
76299
  displayName: "Worker only",
@@ -76333,6 +76339,7 @@ var generate11 = async (ctx) => {
76333
76339
  ]);
76334
76340
  logRaw("");
76335
76341
  };
76342
+ var envInterfaceName = "CloudflareBindings";
76336
76343
  var config20 = {
76337
76344
  configVersion: 1,
76338
76345
  id: "hono",
@@ -76347,15 +76354,16 @@ var config20 = {
76347
76354
  generate: generate11,
76348
76355
  transformPackageJson: async () => ({
76349
76356
  scripts: {
76350
- "cf-typegen": "wrangler types --env-interface CloudflareBindings",
76357
+ "cf-typegen": `wrangler types --env-interface ${envInterfaceName}`,
76351
76358
  preview: "vite build && wrangler pages dev"
76352
76359
  }
76353
76360
  }),
76354
76361
  devScript: "dev",
76355
76362
  deployScript: "deploy",
76356
- previewScript: "preview"
76363
+ previewScript: "preview",
76364
+ envInterfaceName
76357
76365
  };
76358
- var c3_default21 = config20;
76366
+ var c3_default22 = config20;
76359
76367
 
76360
76368
  // templates/hono/workers/c3.ts
76361
76369
  var generate12 = async (ctx) => {
@@ -76370,6 +76378,7 @@ var generate12 = async (ctx) => {
76370
76378
  ]);
76371
76379
  logRaw("");
76372
76380
  };
76381
+ var envInterfaceName2 = "CloudflareBindings";
76373
76382
  var config21 = {
76374
76383
  configVersion: 1,
76375
76384
  id: "hono",
@@ -76383,21 +76392,22 @@ var config21 = {
76383
76392
  generate: generate12,
76384
76393
  transformPackageJson: async () => ({
76385
76394
  scripts: {
76386
- "cf-typegen": "wrangler types --env-interface CloudflareBindings"
76395
+ "cf-typegen": `wrangler types --env-interface ${envInterfaceName2}`
76387
76396
  }
76388
76397
  }),
76389
76398
  devScript: "dev",
76390
76399
  deployScript: "deploy",
76391
- previewScript: "dev"
76400
+ previewScript: "dev",
76401
+ envInterfaceName: envInterfaceName2
76392
76402
  };
76393
- var c3_default22 = config21;
76403
+ var c3_default23 = config21;
76394
76404
 
76395
76405
  // templates/hono/c3.ts
76396
76406
  var config22 = {
76397
76407
  displayName: "Hono",
76398
- platformVariants: { pages: c3_default21, workers: c3_default22 }
76408
+ platformVariants: { pages: c3_default22, workers: c3_default23 }
76399
76409
  };
76400
- var c3_default23 = config22;
76410
+ var c3_default24 = config22;
76401
76411
 
76402
76412
  // templates/next/pages/c3.ts
76403
76413
  var import_path10 = require("path");
@@ -76441,13 +76451,6 @@ var configure7 = async (ctx) => {
76441
76451
  throw new Error("Could not find the `/api` or `/app` directory");
76442
76452
  }
76443
76453
  const usesTs = usesTypescript(ctx);
76444
- if (usesTs) {
76445
- copyFile(
76446
- (0, import_path10.join)(getTemplatePath(ctx), "env.d.ts"),
76447
- (0, import_path10.join)(projectPath, "env.d.ts")
76448
- );
76449
- updateStatus("Created an env.d.ts file");
76450
- }
76451
76454
  const installEslintPlugin = await shouldInstallNextOnPagesEslintPlugin(ctx);
76452
76455
  if (installEslintPlugin) {
76453
76456
  await writeEslintrc(ctx);
@@ -76492,7 +76495,6 @@ var writeEslintrc = async (ctx) => {
76492
76495
  var addDevDependencies = async (installEslintPlugin) => {
76493
76496
  const packages = [
76494
76497
  "@cloudflare/next-on-pages@1",
76495
- "@cloudflare/workers-types",
76496
76498
  "vercel",
76497
76499
  ...installEslintPlugin ? ["eslint-plugin-next-on-pages"] : []
76498
76500
  ];
@@ -76502,7 +76504,9 @@ var addDevDependencies = async (installEslintPlugin) => {
76502
76504
  doneText: `${brandColor(`installed`)} ${dim(packages.join(", "))}`
76503
76505
  });
76504
76506
  };
76505
- var c3_default24 = {
76507
+ var envInterfaceName3 = "CloudflareEnv";
76508
+ var typesPath = "./env.d.ts";
76509
+ var c3_default25 = {
76506
76510
  configVersion: 1,
76507
76511
  id: "next",
76508
76512
  frameworkCli: "create-next-app",
@@ -76555,7 +76559,7 @@ var c3_default24 = {
76555
76559
  preview: `${pagesBuildRunCommand} && wrangler pages dev`,
76556
76560
  deploy: `${pagesBuildRunCommand} && wrangler pages deploy`,
76557
76561
  ...usesTypescript(ctx) && {
76558
- "cf-typegen": `wrangler types --env-interface CloudflareEnv env.d.ts`
76562
+ "cf-typegen": `wrangler types --env-interface ${envInterfaceName3} ${typesPath}`
76559
76563
  }
76560
76564
  }
76561
76565
  };
@@ -76563,7 +76567,9 @@ var c3_default24 = {
76563
76567
  devScript: "dev",
76564
76568
  previewScript: "preview",
76565
76569
  deployScript: "deploy",
76566
- compatibilityFlags: ["nodejs_compat"]
76570
+ compatibilityFlags: ["nodejs_compat"],
76571
+ typesPath,
76572
+ envInterfaceName: envInterfaceName3
76567
76573
  };
76568
76574
 
76569
76575
  // templates/next/workers/c3.ts
@@ -76571,7 +76577,7 @@ var generate14 = async (ctx) => {
76571
76577
  await runFrameworkGenerator(ctx, [ctx.project.name]);
76572
76578
  };
76573
76579
  var configure8 = async (ctx) => {
76574
- await installPackages(["@opennextjs/cloudflare@~1.0.0-beta.0 || ^1.0.0"], {
76580
+ await installPackages(["@opennextjs/cloudflare@^1.0.2"], {
76575
76581
  startText: "Adding the Cloudflare adapter",
76576
76582
  doneText: `${brandColor(`installed`)} @opennextjs/cloudflare)}`
76577
76583
  });
@@ -76591,13 +76597,14 @@ var updateNextConfig2 = (usesTs) => {
76591
76597
  writeFile2(configFile, updatedConfigFile);
76592
76598
  s.stop(`${brandColor(`updated`)} ${dim(`\`${configFile}\``)}`);
76593
76599
  };
76594
- var c3_default25 = {
76600
+ var envInterfaceName4 = "CloudflareEnv";
76601
+ var typesPath2 = "./cloudflare-env.d.ts";
76602
+ var c3_default26 = {
76595
76603
  configVersion: 1,
76596
76604
  id: "next",
76597
76605
  frameworkCli: "create-next-app",
76598
- frameworkCliPinnedVersion: "~15.3.0",
76599
76606
  platform: "workers",
76600
- displayName: "Next.js (using Node.js compat + Workers Assets)",
76607
+ displayName: "Next.js",
76601
76608
  path: "templates/next/workers",
76602
76609
  copyFiles: {
76603
76610
  path: "./templates"
@@ -76608,21 +76615,22 @@ var c3_default25 = {
76608
76615
  scripts: {
76609
76616
  deploy: `opennextjs-cloudflare build && opennextjs-cloudflare deploy`,
76610
76617
  preview: `opennextjs-cloudflare build && opennextjs-cloudflare preview`,
76611
- "cf-typegen": `wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts`
76618
+ "cf-typegen": `wrangler types --env-interface ${envInterfaceName4} ${typesPath2}`
76612
76619
  }
76613
76620
  }),
76614
76621
  devScript: "dev",
76615
76622
  previewScript: "preview",
76616
76623
  deployScript: "deploy",
76617
- compatibilityFlags: ["nodejs_compat"]
76624
+ typesPath: typesPath2,
76625
+ envInterfaceName: envInterfaceName4
76618
76626
  };
76619
76627
 
76620
76628
  // templates/next/c3.ts
76621
76629
  var config23 = {
76622
76630
  displayName: "Next.js",
76623
- platformVariants: { pages: c3_default24, workers: c3_default25 }
76631
+ platformVariants: { pages: c3_default25, workers: c3_default26 }
76624
76632
  };
76625
- var c3_default26 = config23;
76633
+ var c3_default27 = config23;
76626
76634
 
76627
76635
  // templates/nuxt/pages/c3.ts
76628
76636
  var recast6 = __toESM(require_main3());
@@ -76640,7 +76648,7 @@ var generate15 = async (ctx) => {
76640
76648
  writeFile2("./.node-version", "18");
76641
76649
  logRaw("");
76642
76650
  };
76643
- var configure9 = async (ctx) => {
76651
+ var configure9 = async () => {
76644
76652
  const packages = ["nitro-cloudflare-dev"];
76645
76653
  if (pm2 === "pnpm") {
76646
76654
  packages.push("h3");
@@ -76651,21 +76659,6 @@ var configure9 = async (ctx) => {
76651
76659
  doneText: `${brandColor("installed")} ${dim(`via \`${npm10} install\``)}`
76652
76660
  });
76653
76661
  updateNuxtConfig();
76654
- updateEnvTypes2(ctx);
76655
- };
76656
- var updateEnvTypes2 = (ctx) => {
76657
- const filepath = "env.d.ts";
76658
- const s = spinner();
76659
- s.start(`Updating ${filepath}`);
76660
- let file = readFile(filepath);
76661
- let typesEntrypoint = `@cloudflare/workers-types`;
76662
- const latestEntrypoint = getLatestTypesEntrypoint(ctx);
76663
- if (latestEntrypoint) {
76664
- typesEntrypoint += `/${latestEntrypoint}`;
76665
- }
76666
- file = file.replace("WORKERS_TYPES_ENTRYPOINT", typesEntrypoint);
76667
- writeFile2("env.d.ts", file);
76668
- s.stop(`${brandColor(`updated`)} ${dim(`\`${filepath}\``)}`);
76669
76662
  };
76670
76663
  var updateNuxtConfig = () => {
76671
76664
  const s = spinner();
@@ -76733,7 +76726,7 @@ var config24 = {
76733
76726
  deployScript: "deploy",
76734
76727
  previewScript: "preview"
76735
76728
  };
76736
- var c3_default27 = config24;
76729
+ var c3_default28 = config24;
76737
76730
 
76738
76731
  // templates/nuxt/workers/c3.ts
76739
76732
  var recast7 = __toESM(require_main3());
@@ -76751,7 +76744,7 @@ var generate16 = async (ctx) => {
76751
76744
  writeFile2("./.node-version", "18");
76752
76745
  logRaw("");
76753
76746
  };
76754
- var configure10 = async (ctx) => {
76747
+ var configure10 = async () => {
76755
76748
  const packages = ["nitro-cloudflare-dev", "nitropack"];
76756
76749
  if (pm3 === "pnpm") {
76757
76750
  packages.push("h3");
@@ -76762,21 +76755,6 @@ var configure10 = async (ctx) => {
76762
76755
  doneText: `${brandColor("installed")} ${dim(`via \`${npm11} install\``)}`
76763
76756
  });
76764
76757
  updateNuxtConfig2();
76765
- updateEnvTypes3(ctx);
76766
- };
76767
- var updateEnvTypes3 = (ctx) => {
76768
- const filepath = "env.d.ts";
76769
- const s = spinner();
76770
- s.start(`Updating ${filepath}`);
76771
- let file = readFile(filepath);
76772
- let typesEntrypoint = `@cloudflare/workers-types`;
76773
- const latestEntrypoint = getLatestTypesEntrypoint(ctx);
76774
- if (latestEntrypoint) {
76775
- typesEntrypoint += `/${latestEntrypoint}`;
76776
- }
76777
- file = file.replace("WORKERS_TYPES_ENTRYPOINT", typesEntrypoint);
76778
- writeFile2("env.d.ts", file);
76779
- s.stop(`${brandColor(`updated`)} ${dim(`\`${filepath}\``)}`);
76780
76758
  };
76781
76759
  var updateNuxtConfig2 = () => {
76782
76760
  const s = spinner();
@@ -76843,14 +76821,14 @@ var config25 = {
76843
76821
  deployScript: "deploy",
76844
76822
  previewScript: "preview"
76845
76823
  };
76846
- var c3_default28 = config25;
76824
+ var c3_default29 = config25;
76847
76825
 
76848
76826
  // templates/nuxt/c3.ts
76849
76827
  var config26 = {
76850
76828
  displayName: "Nuxt",
76851
- platformVariants: { pages: c3_default27, workers: c3_default28 }
76829
+ platformVariants: { pages: c3_default28, workers: c3_default29 }
76852
76830
  };
76853
- var c3_default29 = config26;
76831
+ var c3_default30 = config26;
76854
76832
 
76855
76833
  // templates/openapi/c3.ts
76856
76834
  var config27 = {
@@ -76863,7 +76841,7 @@ var config27 = {
76863
76841
  path: "./ts"
76864
76842
  }
76865
76843
  };
76866
- var c3_default30 = config27;
76844
+ var c3_default31 = config27;
76867
76845
 
76868
76846
  // templates/pre-existing/c3.ts
76869
76847
  var import_promises3 = require("fs/promises");
@@ -77029,7 +77007,7 @@ var config28 = {
77029
77007
  copyFiles: copyExistingWorkerFiles
77030
77008
  })
77031
77009
  };
77032
- var c3_default31 = config28;
77010
+ var c3_default32 = config28;
77033
77011
  function buildConfigure(params) {
77034
77012
  return async function configure21(ctx) {
77035
77013
  const loginSuccess = await params.login(ctx);
@@ -77070,7 +77048,7 @@ var config29 = {
77070
77048
  ]
77071
77049
  }
77072
77050
  };
77073
- var c3_default32 = config29;
77051
+ var c3_default33 = config29;
77074
77052
 
77075
77053
  // templates/qwik/pages/c3.ts
77076
77054
  var recast8 = __toESM(require_main3());
@@ -77177,9 +77155,10 @@ var config30 = {
77177
77155
  }),
77178
77156
  devScript: "dev",
77179
77157
  deployScript: "deploy",
77180
- previewScript: "preview"
77158
+ previewScript: "preview",
77159
+ workersTypes: "installed"
77181
77160
  };
77182
- var c3_default33 = config30;
77161
+ var c3_default34 = config30;
77183
77162
 
77184
77163
  // templates/qwik/workers/c3.ts
77185
77164
  var recast9 = __toESM(require_main3());
@@ -77286,16 +77265,17 @@ var config31 = {
77286
77265
  }),
77287
77266
  devScript: "dev",
77288
77267
  deployScript: "deploy",
77289
- previewScript: "preview"
77268
+ previewScript: "preview",
77269
+ workersTypes: "installed"
77290
77270
  };
77291
- var c3_default34 = config31;
77271
+ var c3_default35 = config31;
77292
77272
 
77293
77273
  // templates/qwik/c3.ts
77294
77274
  var config32 = {
77295
77275
  displayName: "Qwik",
77296
- platformVariants: { pages: c3_default33, workers: c3_default34 }
77276
+ platformVariants: { pages: c3_default34, workers: c3_default35 }
77297
77277
  };
77298
- var c3_default35 = config32;
77278
+ var c3_default36 = config32;
77299
77279
 
77300
77280
  // templates/react-router/c3.ts
77301
77281
  var { npm: npm14 } = detectPackageManager();
@@ -77316,9 +77296,6 @@ var config33 = {
77316
77296
  platform: "workers",
77317
77297
  frameworkCli: "create-react-router",
77318
77298
  displayName: "React Router (formerly Remix)",
77319
- copyFiles: {
77320
- path: "./templates"
77321
- },
77322
77299
  generate: generate19,
77323
77300
  // configure,
77324
77301
  transformPackageJson: async () => ({
@@ -77332,7 +77309,7 @@ var config33 = {
77332
77309
  deployScript: "deploy",
77333
77310
  previewScript: "preview"
77334
77311
  };
77335
- var c3_default36 = config33;
77312
+ var c3_default37 = config33;
77336
77313
 
77337
77314
  // templates/react/pages/c3.ts
77338
77315
  var { npm: npm15 } = detectPackageManager();
@@ -77374,18 +77351,20 @@ var config34 = {
77374
77351
  platform: "pages",
77375
77352
  hidden: true,
77376
77353
  path: "templates/react/pages",
77354
+ copyFiles: { path: "./templates" },
77377
77355
  generate: generate20,
77378
77356
  transformPackageJson: async () => ({
77379
77357
  scripts: {
77380
- deploy: `${npm15} run build && wrangler pages deploy ./dist`,
77381
- preview: `${npm15} run build && wrangler pages dev ./dist`
77358
+ deploy: `${npm15} run build && wrangler pages deploy`,
77359
+ preview: `${npm15} run build && wrangler pages dev`,
77360
+ "cf-typegen": `wrangler types`
77382
77361
  }
77383
77362
  }),
77384
77363
  devScript: "dev",
77385
77364
  deployScript: "deploy",
77386
77365
  previewScript: "preview"
77387
77366
  };
77388
- var c3_default37 = config34;
77367
+ var c3_default38 = config34;
77389
77368
 
77390
77369
  // templates/react/workers/c3.ts
77391
77370
  var import_assert2 = __toESM(require("assert"));
@@ -77523,14 +77502,14 @@ var config35 = {
77523
77502
  deployScript: "deploy",
77524
77503
  previewScript: "preview"
77525
77504
  };
77526
- var c3_default38 = config35;
77505
+ var c3_default39 = config35;
77527
77506
 
77528
77507
  // templates/react/c3.ts
77529
77508
  var config36 = {
77530
77509
  displayName: "React",
77531
- platformVariants: { pages: c3_default37, workers: c3_default38 }
77510
+ platformVariants: { pages: c3_default38, workers: c3_default39 }
77532
77511
  };
77533
- var c3_default39 = config36;
77512
+ var c3_default40 = config36;
77534
77513
 
77535
77514
  // templates/remix/pages/c3.ts
77536
77515
  var { npm: npm17 } = detectPackageManager();
@@ -77579,9 +77558,10 @@ var config37 = {
77579
77558
  }),
77580
77559
  devScript: "dev",
77581
77560
  deployScript: "deploy",
77582
- previewScript: "preview"
77561
+ previewScript: "preview",
77562
+ workersTypes: "installed"
77583
77563
  };
77584
- var c3_default40 = config37;
77564
+ var c3_default41 = config37;
77585
77565
 
77586
77566
  // templates/remix/workers/c3.ts
77587
77567
  var { npm: npm18 } = detectPackageManager();
@@ -77621,17 +77601,18 @@ var config38 = {
77621
77601
  }),
77622
77602
  devScript: "dev",
77623
77603
  deployScript: "deploy",
77624
- previewScript: "preview"
77604
+ previewScript: "preview",
77605
+ workersTypes: "installed"
77625
77606
  };
77626
- var c3_default41 = config38;
77607
+ var c3_default42 = config38;
77627
77608
 
77628
77609
  // templates/remix/c3.ts
77629
77610
  var config39 = {
77630
77611
  displayName: "Remix",
77631
- platformVariants: { pages: c3_default40, workers: c3_default41 },
77612
+ platformVariants: { pages: c3_default41, workers: c3_default42 },
77632
77613
  hidden: true
77633
77614
  };
77634
- var c3_default42 = config39;
77615
+ var c3_default43 = config39;
77635
77616
 
77636
77617
  // templates/scheduled/c3.ts
77637
77618
  var config40 = {
@@ -77651,7 +77632,7 @@ var config40 = {
77651
77632
  }
77652
77633
  }
77653
77634
  };
77654
- var c3_default43 = config40;
77635
+ var c3_default44 = config40;
77655
77636
 
77656
77637
  // templates/solid/c3.ts
77657
77638
  var recast11 = __toESM(require_main3());
@@ -77712,7 +77693,8 @@ var config41 = {
77712
77693
  transformPackageJson: async () => ({
77713
77694
  scripts: {
77714
77695
  preview: `${npm19} run build && npx wrangler pages dev`,
77715
- deploy: `${npm19} run build && wrangler pages deploy`
77696
+ deploy: `${npm19} run build && wrangler pages deploy`,
77697
+ "cf-typegen": `wrangler types`
77716
77698
  }
77717
77699
  }),
77718
77700
  compatibilityFlags: ["nodejs_compat"],
@@ -77720,11 +77702,10 @@ var config41 = {
77720
77702
  deployScript: "deploy",
77721
77703
  previewScript: "preview"
77722
77704
  };
77723
- var c3_default44 = config41;
77705
+ var c3_default45 = config41;
77724
77706
 
77725
77707
  // templates/svelte/pages/c3.ts
77726
77708
  var import_node_fs3 = require("node:fs");
77727
- var import_node_os3 = require("node:os");
77728
77709
  var recast12 = __toESM(require_main3());
77729
77710
  var { npm: npm20 } = detectPackageManager();
77730
77711
  var generate25 = async (ctx) => {
@@ -77813,6 +77794,7 @@ var updateTypeDefinitions = (ctx) => {
77813
77794
  }
77814
77795
  });
77815
77796
  };
77797
+ var typesPath3 = "src/worker-configuration.d.ts";
77816
77798
  var config42 = {
77817
77799
  configVersion: 1,
77818
77800
  id: "svelte",
@@ -77832,22 +77814,21 @@ var config42 = {
77832
77814
  deploy: `${npm20} run build && wrangler pages deploy`
77833
77815
  };
77834
77816
  if (usesTypescript(ctx)) {
77835
- const mv = (0, import_node_os3.platform)() === "win32" ? "move" : "mv";
77836
77817
  scripts = {
77837
77818
  ...scripts,
77838
- "cf-typegen": `wrangler types && ${mv} worker-configuration.d.ts src/`
77819
+ "cf-typegen": `wrangler types ${typesPath3}`
77839
77820
  };
77840
77821
  }
77841
77822
  return { scripts };
77842
77823
  },
77843
77824
  devScript: "dev",
77844
77825
  deployScript: "deploy",
77845
- previewScript: "preview"
77826
+ previewScript: "preview",
77827
+ typesPath: typesPath3
77846
77828
  };
77847
- var c3_default45 = config42;
77829
+ var c3_default46 = config42;
77848
77830
 
77849
77831
  // templates/svelte/workers/c3.ts
77850
- var import_node_os4 = require("node:os");
77851
77832
  var recast13 = __toESM(require_main3());
77852
77833
  var { npm: npm21 } = detectPackageManager();
77853
77834
  var generate26 = async (ctx) => {
@@ -77913,6 +77894,7 @@ var updateTypeDefinitions2 = (ctx) => {
77913
77894
  }
77914
77895
  });
77915
77896
  };
77897
+ var typesPath4 = "./src/worker-configuration.d.ts";
77916
77898
  var config43 = {
77917
77899
  configVersion: 1,
77918
77900
  id: "svelte",
@@ -77931,26 +77913,26 @@ var config43 = {
77931
77913
  deploy: `${npm21} run build && wrangler deploy`
77932
77914
  };
77933
77915
  if (usesTypescript(ctx)) {
77934
- const mv = (0, import_node_os4.platform)() === "win32" ? "move" : "mv";
77935
77916
  scripts = {
77936
77917
  ...scripts,
77937
- "cf-typegen": `wrangler types && ${mv} worker-configuration.d.ts src/`
77918
+ "cf-typegen": `wrangler types ${typesPath4}`
77938
77919
  };
77939
77920
  }
77940
77921
  return { scripts };
77941
77922
  },
77942
77923
  devScript: "dev",
77943
77924
  deployScript: "deploy",
77944
- previewScript: "preview"
77925
+ previewScript: "preview",
77926
+ typesPath: typesPath4
77945
77927
  };
77946
- var c3_default46 = config43;
77928
+ var c3_default47 = config43;
77947
77929
 
77948
77930
  // templates/svelte/c3.ts
77949
77931
  var config44 = {
77950
77932
  displayName: "SvelteKit",
77951
- platformVariants: { pages: c3_default45, workers: c3_default46 }
77933
+ platformVariants: { pages: c3_default46, workers: c3_default47 }
77952
77934
  };
77953
- var c3_default47 = config44;
77935
+ var c3_default48 = config44;
77954
77936
 
77955
77937
  // templates/vue/pages/c3.ts
77956
77938
  var { npm: npm22 } = detectPackageManager();
@@ -77964,19 +77946,21 @@ var config45 = {
77964
77946
  displayName: "Vue",
77965
77947
  platform: "pages",
77966
77948
  hidden: true,
77967
- path: "templates/pages/vue",
77949
+ path: "templates/vue/pages",
77950
+ copyFiles: { path: "./templates" },
77968
77951
  generate: generate27,
77969
77952
  transformPackageJson: async () => ({
77970
77953
  scripts: {
77971
- deploy: `${npm22} run build && wrangler pages deploy ./dist`,
77972
- preview: `${npm22} run build && wrangler pages dev ./dist`
77954
+ deploy: `${npm22} run build && wrangler pages deploy`,
77955
+ preview: `${npm22} run build && wrangler pages dev`,
77956
+ "cf-typegen": `wrangler types`
77973
77957
  }
77974
77958
  }),
77975
77959
  devScript: "dev",
77976
77960
  deployScript: "deploy",
77977
77961
  previewScript: "preview"
77978
77962
  };
77979
- var c3_default48 = config45;
77963
+ var c3_default49 = config45;
77980
77964
 
77981
77965
  // templates/vue/workers/c3.ts
77982
77966
  var { npm: npm23 } = detectPackageManager();
@@ -78051,20 +78035,20 @@ var config46 = {
78051
78035
  deployScript: "deploy",
78052
78036
  previewScript: "preview"
78053
78037
  };
78054
- var c3_default49 = config46;
78038
+ var c3_default50 = config46;
78055
78039
 
78056
78040
  // templates/vue/c3.ts
78057
78041
  var config47 = {
78058
78042
  displayName: "Vue",
78059
- platformVariants: { pages: c3_default48, workers: c3_default49 }
78043
+ platformVariants: { pages: c3_default49, workers: c3_default50 }
78060
78044
  };
78061
- var c3_default50 = config47;
78045
+ var c3_default51 = config47;
78062
78046
 
78063
78047
  // src/git.ts
78064
78048
  var import_node_assert = __toESM(require("node:assert"));
78065
78049
 
78066
78050
  // ../wrangler/package.json
78067
- var version2 = "0.0.0-9c15b6ea2";
78051
+ var version2 = "0.0.0-9c30aecaa";
78068
78052
 
78069
78053
  // src/git.ts
78070
78054
  var offerGit = async (ctx) => {
@@ -78334,16 +78318,16 @@ function getFrameworkMap({ experimental = false }) {
78334
78318
  astro: c3_default8,
78335
78319
  docusaurus: c3_default12,
78336
78320
  gatsby: c3_default15,
78337
- hono: c3_default23,
78338
- next: c3_default26,
78339
- nuxt: c3_default29,
78340
- qwik: c3_default35,
78341
- react: c3_default39,
78342
- "react-router": c3_default36,
78343
- remix: c3_default42,
78344
- solid: c3_default44,
78345
- svelte: c3_default47,
78346
- vue: c3_default50
78321
+ hono: c3_default24,
78322
+ next: c3_default27,
78323
+ nuxt: c3_default30,
78324
+ qwik: c3_default36,
78325
+ react: c3_default40,
78326
+ "react-router": c3_default37,
78327
+ remix: c3_default43,
78328
+ solid: c3_default45,
78329
+ svelte: c3_default48,
78330
+ vue: c3_default51
78347
78331
  };
78348
78332
  }
78349
78333
  }
@@ -78355,10 +78339,10 @@ function getOtherTemplateMap({
78355
78339
  } else {
78356
78340
  return {
78357
78341
  common: c3_default9,
78358
- scheduled: c3_default43,
78359
- queues: c3_default32,
78360
- openapi: c3_default30,
78361
- "pre-existing": c3_default31
78342
+ scheduled: c3_default44,
78343
+ queues: c3_default33,
78344
+ openapi: c3_default31,
78345
+ "pre-existing": c3_default32
78362
78346
  };
78363
78347
  }
78364
78348
  }
@@ -78369,16 +78353,17 @@ function getHelloWorldTemplateMap({
78369
78353
  return {};
78370
78354
  } else {
78371
78355
  return {
78372
- "hello-world": c3_default20,
78356
+ "hello-world": c3_default21,
78373
78357
  "hello-world-assets-only": c3_default16,
78374
78358
  "hello-world-with-assets": c3_default19,
78375
78359
  "hello-world-durable-object": c3_default18,
78376
78360
  "hello-world-durable-object-with-assets": c3_default17,
78361
+ "hello-world-workflows": c3_default20,
78377
78362
  common: c3_default9,
78378
- scheduled: c3_default43,
78379
- queues: c3_default32,
78380
- openapi: c3_default30,
78381
- "pre-existing": c3_default31
78363
+ scheduled: c3_default44,
78364
+ queues: c3_default33,
78365
+ openapi: c3_default31,
78366
+ "pre-existing": c3_default32
78382
78367
  };
78383
78368
  }
78384
78369
  }
@@ -78398,6 +78383,7 @@ var deriveCorrelatedArgs = (args) => {
78398
78383
  switch (args.type) {
78399
78384
  case "hello-world":
78400
78385
  case "hello-world-durable-object":
78386
+ case "hello-world-workflows":
78401
78387
  args.category ??= "hello-world";
78402
78388
  break;
78403
78389
  case "hello-world-python":
@@ -78569,7 +78555,7 @@ var createContext = async (args, prevArgs) => {
78569
78555
  if (availableVariants.length === 1) {
78570
78556
  args.platform ??= availableVariants[0][0];
78571
78557
  }
78572
- const platform3 = await processArgument(args, "platform", {
78558
+ const platform = await processArgument(args, "platform", {
78573
78559
  type: "select",
78574
78560
  label: "platform",
78575
78561
  question: "Select your deployment platform",
@@ -78593,10 +78579,10 @@ var createContext = async (args, prevArgs) => {
78593
78579
  defaultValue: "workers"
78594
78580
  });
78595
78581
  linesPrinted += 3;
78596
- if (platform3 === BACK_VALUE) {
78582
+ if (platform === BACK_VALUE) {
78597
78583
  return goBack("platform");
78598
78584
  }
78599
- frameworkConfig = frameworkConfig.platformVariants[platform3];
78585
+ frameworkConfig = frameworkConfig.platformVariants[platform];
78600
78586
  }
78601
78587
  template = {
78602
78588
  deployScript: "pages:deploy",
@@ -78633,6 +78619,12 @@ var createContext = async (args, prevArgs) => {
78633
78619
  throw new Error(`Unknown application type provided: ${type}.`);
78634
78620
  }
78635
78621
  }
78622
+ template = {
78623
+ workersTypes: "generated",
78624
+ typesPath: "./worker-configuration.d.ts",
78625
+ envInterfaceName: "Env",
78626
+ ...template
78627
+ };
78636
78628
  const path6 = (0, import_path13.resolve)(projectName);
78637
78629
  const languageVariants = template.copyFiles && !isVariantInfo(template.copyFiles) && !template.copyFiles.selectVariant ? Object.keys(template.copyFiles.variants) : [];
78638
78630
  if (languageVariants.length > 0) {
@@ -79221,7 +79213,7 @@ var processArgument = async (args, key, promptConfig) => {
79221
79213
 
79222
79214
  // src/deploy.ts
79223
79215
  var import_promises5 = require("node:fs/promises");
79224
- var import_node_os5 = require("node:os");
79216
+ var import_node_os3 = require("node:os");
79225
79217
  var import_node_path6 = require("node:path");
79226
79218
  var import_toml3 = __toESM(require_toml());
79227
79219
 
@@ -80888,7 +80880,7 @@ var runDeploy = async (ctx) => {
80888
80880
  ] : []
80889
80881
  ];
80890
80882
  const outputFile = (0, import_node_path6.join)(
80891
- await (0, import_promises5.mkdtemp)((0, import_node_path6.join)((0, import_node_os5.tmpdir)(), "c3-wrangler-deploy-")),
80883
+ await (0, import_promises5.mkdtemp)((0, import_node_path6.join)((0, import_node_os3.tmpdir)(), "c3-wrangler-deploy-")),
80892
80884
  "output.json"
80893
80885
  );
80894
80886
  await runCommand(deployCmd, {
@@ -81468,48 +81460,107 @@ var createProject = async (ctx) => {
81468
81460
  // src/workers.ts
81469
81461
  var import_fs13 = require("fs");
81470
81462
  var import_path16 = require("path");
81471
- async function installWorkersTypes(ctx) {
81463
+ var import_toml4 = __toESM(require_toml());
81464
+ async function addTypes(ctx) {
81465
+ if (!usesTypescript(ctx) || ctx.template.workersTypes === "none") {
81466
+ return;
81467
+ }
81472
81468
  const { npm: npm25 } = detectPackageManager();
81473
- if (!usesTypescript(ctx)) {
81469
+ if (ctx.template.workersTypes === "installed") {
81470
+ await installWorkersTypes(npm25);
81471
+ } else if (ctx.template.workersTypes === "generated") {
81472
+ await generateWorkersTypes(ctx, npm25);
81473
+ }
81474
+ const usesNodeCompat = await maybeInstallNodeTypes(ctx, npm25);
81475
+ await updateTsConfig(ctx, { usesNodeCompat });
81476
+ }
81477
+ async function generateWorkersTypes(ctx, npm25) {
81478
+ const packageJsonPath = (0, import_path16.join)(ctx.project.path, "package.json");
81479
+ if (!(0, import_fs13.existsSync)(packageJsonPath)) {
81474
81480
  return;
81475
81481
  }
81476
- await installPackages(["@cloudflare/workers-types"], {
81477
- dev: true,
81478
- startText: "Installing @cloudflare/workers-types",
81479
- doneText: `${brandColor("installed")} ${dim(`via ${npm25}`)}`
81482
+ const packageManifest = readJSON(packageJsonPath);
81483
+ if (!packageManifest.scripts?.["cf-typegen"]) {
81484
+ return;
81485
+ }
81486
+ const typesCmd = [npm25, "run", "cf-typegen"];
81487
+ await runCommand(typesCmd, {
81488
+ cwd: ctx.project.path,
81489
+ silent: true,
81490
+ startText: "Generating types for your application",
81491
+ doneText: `${brandColor("generated")} ${dim(`to \`${ctx.template.typesPath}\` via \`${typesCmd.join(" ")}\``)}`
81480
81492
  });
81481
- await addWorkersTypesToTsConfig(ctx);
81493
+ if (packageManifest["devDependencies"]?.["@cloudflare/workers-types"]) {
81494
+ delete packageManifest["devDependencies"]?.["@cloudflare/workers-types"];
81495
+ writeFile2(packageJsonPath, JSON.stringify(packageManifest, null, 2));
81496
+ }
81482
81497
  }
81483
- async function addWorkersTypesToTsConfig(ctx) {
81498
+ var maybeInstallNodeTypes = async (ctx, npm25) => {
81499
+ let parsedConfig = {};
81500
+ if (wranglerJsonExists(ctx)) {
81501
+ const wranglerJsonStr = readWranglerJson(ctx);
81502
+ parsedConfig = parse4(wranglerJsonStr, void 0, {
81503
+ allowTrailingComma: true
81504
+ });
81505
+ } else if (wranglerTomlExists(ctx)) {
81506
+ const wranglerTomlStr = readWranglerToml(ctx);
81507
+ parsedConfig = import_toml4.default.parse(wranglerTomlStr);
81508
+ }
81509
+ const compatibilityFlags = Array.isArray(parsedConfig["compatibility_flags"]) ? parsedConfig["compatibility_flags"] : [];
81510
+ if (compatibilityFlags.includes("nodejs_compat") || compatibilityFlags.includes("nodejs_compat_v2")) {
81511
+ await installPackages(["@types/node"], {
81512
+ dev: true,
81513
+ startText: "Installing @types/node",
81514
+ doneText: `${brandColor("installed")} ${dim(`via ${npm25}`)}`
81515
+ });
81516
+ return true;
81517
+ }
81518
+ return false;
81519
+ };
81520
+ async function updateTsConfig(ctx, { usesNodeCompat }) {
81484
81521
  const tsconfigPath = (0, import_path16.join)(ctx.project.path, "tsconfig.json");
81485
81522
  if (!(0, import_fs13.existsSync)(tsconfigPath)) {
81486
81523
  return;
81487
81524
  }
81488
- const s = spinner();
81489
- s.start("Adding latest types to `tsconfig.json`");
81490
81525
  const tsconfig = readFile(tsconfigPath);
81491
- const entrypointVersion = getLatestTypesEntrypoint(ctx);
81492
- if (entrypointVersion === null) {
81493
- s.stop(
81494
- `${brandColor(
81495
- "skipped"
81496
- )} couldn't find latest compatible version of @cloudflare/workers-types`
81497
- );
81498
- return;
81499
- }
81500
- const typesEntrypoint = `@cloudflare/workers-types/${entrypointVersion}`;
81501
81526
  try {
81502
81527
  const config48 = parse4(tsconfig);
81503
81528
  const currentTypes = config48.compilerOptions?.types ?? [];
81504
- const explicitEntrypoint = currentTypes.some(
81505
- (t2) => t2.match(/@cloudflare\/workers-types\/\d{4}-\d{2}-\d{2}/)
81506
- );
81507
- const newTypes = explicitEntrypoint ? [...currentTypes] : [
81508
- ...currentTypes.filter(
81509
- (t2) => t2 !== "@cloudflare/workers-types"
81510
- ),
81511
- typesEntrypoint
81512
- ];
81529
+ let newTypes = [...currentTypes];
81530
+ if (ctx.template.workersTypes === "installed") {
81531
+ const entrypointVersion = getLatestTypesEntrypoint(ctx);
81532
+ if (entrypointVersion === null) {
81533
+ return;
81534
+ }
81535
+ const typesEntrypoint = `@cloudflare/workers-types/${entrypointVersion}`;
81536
+ const explicitEntrypoint = currentTypes.some(
81537
+ (t2) => t2.match(/@cloudflare\/workers-types\/\d{4}-\d{2}-\d{2}/)
81538
+ );
81539
+ if (!explicitEntrypoint) {
81540
+ newTypes = newTypes.filter(
81541
+ (t2) => t2 !== "@cloudflare/workers-types"
81542
+ );
81543
+ newTypes.push(typesEntrypoint);
81544
+ }
81545
+ } else if (ctx.template.workersTypes === "generated") {
81546
+ newTypes.push(ctx.template.typesPath ?? "./worker-configuration.d.ts");
81547
+ const typegen = readFile(
81548
+ ctx.template.typesPath ?? "./worker-configuration.d.ts"
81549
+ ).split("\n");
81550
+ if (typegen.some(
81551
+ (line) => line.includes("// Runtime types generated with workerd")
81552
+ )) {
81553
+ newTypes = newTypes.filter(
81554
+ (t2) => !t2.startsWith("@cloudflare/workers-types")
81555
+ );
81556
+ }
81557
+ }
81558
+ if (usesNodeCompat) {
81559
+ newTypes.push("node");
81560
+ }
81561
+ if (newTypes.sort() === currentTypes.sort()) {
81562
+ return;
81563
+ }
81513
81564
  const useSpaces = !tsconfig.match(/\t/g);
81514
81565
  const edits = modify(
81515
81566
  tsconfig,
@@ -81522,11 +81573,15 @@ async function addWorkersTypesToTsConfig(ctx) {
81522
81573
  const updated = applyEdits(tsconfig, edits);
81523
81574
  writeFile2(tsconfigPath, updated);
81524
81575
  } catch (error2) {
81525
- warn(
81526
- "Failed to update `tsconfig.json` with latest `@cloudflare/workers-types` entrypoint."
81527
- );
81576
+ warn("Failed to update `tsconfig.json`.");
81528
81577
  }
81529
- s.stop(`${brandColor("added")} ${dim(typesEntrypoint)}`);
81578
+ }
81579
+ async function installWorkersTypes(npm25) {
81580
+ await installPackages(["@cloudflare/workers-types"], {
81581
+ dev: true,
81582
+ startText: "Installing @cloudflare/workers-types",
81583
+ doneText: `${brandColor("installed")} ${dim(`via ${npm25}`)}`
81584
+ });
81530
81585
  }
81531
81586
 
81532
81587
  // src/cli.ts
@@ -81606,7 +81661,6 @@ var create = async (ctx) => {
81606
81661
  var configure20 = async (ctx) => {
81607
81662
  startSection("Configuring your application for Cloudflare", "Step 2 of 3");
81608
81663
  await installWrangler();
81609
- await installWorkersTypes(ctx);
81610
81664
  await updateWranglerConfig(ctx);
81611
81665
  const { template } = ctx;
81612
81666
  if (template.configure) {
@@ -81614,6 +81668,7 @@ var configure20 = async (ctx) => {
81614
81668
  }
81615
81669
  addWranglerToGitIgnore(ctx);
81616
81670
  await updatePackageScripts(ctx);
81671
+ await addTypes(ctx);
81617
81672
  await offerGit(ctx);
81618
81673
  await gitCommit(ctx);
81619
81674
  endSection(`Application configured`);
@@ -81664,26 +81719,8 @@ repeat-string/index.js:
81664
81719
  *)
81665
81720
 
81666
81721
  yargs-parser/build/lib/string-utils.js:
81667
- (**
81668
- * @license
81669
- * Copyright (c) 2016, Contributors
81670
- * SPDX-License-Identifier: ISC
81671
- *)
81672
-
81673
81722
  yargs-parser/build/lib/tokenize-arg-string.js:
81674
- (**
81675
- * @license
81676
- * Copyright (c) 2016, Contributors
81677
- * SPDX-License-Identifier: ISC
81678
- *)
81679
-
81680
81723
  yargs-parser/build/lib/yargs-parser-types.js:
81681
- (**
81682
- * @license
81683
- * Copyright (c) 2016, Contributors
81684
- * SPDX-License-Identifier: ISC
81685
- *)
81686
-
81687
81724
  yargs-parser/build/lib/yargs-parser.js:
81688
81725
  (**
81689
81726
  * @license