create-cloudflare 2.40.2 → 2.41.0

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 (43) hide show
  1. package/dist/cli.js +817 -718
  2. package/package.json +4 -4
  3. package/templates/angular/c3.ts +5 -129
  4. package/templates/angular/pages/c3.ts +134 -0
  5. package/{templates-experimental/angular → templates/angular/workers}/c3.ts +2 -2
  6. package/templates/gatsby/c3.ts +5 -45
  7. package/templates/gatsby/pages/c3.ts +50 -0
  8. package/{templates-experimental/gatsby → templates/gatsby/workers}/c3.ts +2 -2
  9. package/templates/hello-world/js/package.json +2 -2
  10. package/templates/hello-world/ts/package.json +2 -2
  11. package/templates/nuxt/c3.ts +5 -130
  12. package/templates/nuxt/pages/c3.ts +145 -0
  13. package/templates/nuxt/{templates → pages/templates}/wrangler.jsonc +0 -3
  14. package/{templates-experimental/nuxt → templates/nuxt/workers}/c3.ts +12 -2
  15. package/templates/vue/c3.ts +5 -25
  16. package/{templates-experimental/vue → templates/vue/pages}/c3.ts +5 -8
  17. package/templates/vue/workers/c3.ts +98 -0
  18. package/templates/vue/workers/js/server/index.js +13 -0
  19. package/templates/vue/workers/js/src/App.vue +107 -0
  20. package/templates/vue/workers/js/src/components/HelloWorld.vue +47 -0
  21. package/templates/vue/workers/js/vite.config.js +21 -0
  22. package/templates/vue/workers/js/wrangler.jsonc +12 -0
  23. package/templates/vue/workers/ts/server/index.ts +13 -0
  24. package/templates/vue/workers/ts/src/App.vue +107 -0
  25. package/templates/vue/workers/ts/src/components/HelloWorld.vue +44 -0
  26. package/templates/vue/workers/ts/tsconfig.worker.json +8 -0
  27. package/templates/vue/workers/ts/vite.config.ts +21 -0
  28. package/templates/vue/workers/ts/worker-configuration.d.ts +6 -0
  29. package/templates/vue/workers/ts/wrangler.jsonc +12 -0
  30. package/templates-experimental/hello-world-with-assets/js/package.json +2 -2
  31. package/templates-experimental/hello-world-with-assets/ts/package.json +2 -2
  32. package/templates-experimental/vue/templates/wrangler.jsonc +0 -10
  33. /package/templates/angular/{templates → pages/templates}/src/_routes.json +0 -0
  34. /package/{templates-experimental/angular → templates/angular/pages}/templates/src/server.ts +0 -0
  35. /package/templates/angular/{templates → pages/templates}/tools/copy-files.mjs +0 -0
  36. /package/templates/angular/{templates → workers/templates}/src/server.ts +0 -0
  37. /package/{templates-experimental/angular → templates/angular/workers}/templates/wrangler.jsonc +0 -0
  38. /package/{templates-experimental/gatsby → templates/gatsby/workers}/templates/wrangler.jsonc +0 -0
  39. /package/{templates-experimental/nuxt → templates/nuxt/pages}/templates/env.d.ts +0 -0
  40. /package/{templates-experimental/nuxt → templates/nuxt/pages}/templates/worker-configuration.d.ts +0 -0
  41. /package/templates/nuxt/{templates → workers/templates}/env.d.ts +0 -0
  42. /package/templates/nuxt/{templates → workers/templates}/worker-configuration.d.ts +0 -0
  43. /package/{templates-experimental/nuxt → templates/nuxt/workers}/templates/wrangler.jsonc +0 -0
package/dist/cli.js CHANGED
@@ -573,7 +573,7 @@ var require_XDGAppPaths = __commonJS({
573
573
  XDGAppPaths.cache = function cache(dirOptions) {
574
574
  return path6.join(xdg.cache(), finalPathSegment(dirOptions));
575
575
  };
576
- XDGAppPaths.config = function config30(dirOptions) {
576
+ XDGAppPaths.config = function config34(dirOptions) {
577
577
  return path6.join(xdg.config(), finalPathSegment(dirOptions));
578
578
  };
579
579
  XDGAppPaths.data = function data(dirOptions) {
@@ -630,7 +630,7 @@ var require_XDG = __commonJS({
630
630
  var cache = function() {
631
631
  return valOrPath(env3.get("XDG_CACHE_HOME"), [baseDir(), ".cache"]);
632
632
  };
633
- var config30 = function() {
633
+ var config34 = function() {
634
634
  return valOrPath(env3.get("XDG_CONFIG_HOME"), [baseDir(), ".config"]);
635
635
  };
636
636
  var data = function() {
@@ -642,13 +642,13 @@ var require_XDG = __commonJS({
642
642
  var state = function() {
643
643
  return valOrPath(env3.get("XDG_STATE_HOME"), [baseDir(), ".local", "state"]);
644
644
  };
645
- return { cache, config: config30, data, runtime, state };
645
+ return { cache, config: config34, data, runtime, state };
646
646
  };
647
647
  var macos = function() {
648
648
  var cache = function() {
649
649
  return valOrPath(env3.get("XDG_CACHE_HOME"), [baseDir(), "Library", "Caches"]);
650
650
  };
651
- var config30 = function() {
651
+ var config34 = function() {
652
652
  return valOrPath(env3.get("XDG_CONFIG_HOME"), [baseDir(), "Library", "Preferences"]);
653
653
  };
654
654
  var data = function() {
@@ -660,7 +660,7 @@ var require_XDG = __commonJS({
660
660
  var state = function() {
661
661
  return valOrPath(env3.get("XDG_STATE_HOME"), [baseDir(), "Library", "State"]);
662
662
  };
663
- return { cache, config: config30, data, runtime, state };
663
+ return { cache, config: config34, data, runtime, state };
664
664
  };
665
665
  var windows = function() {
666
666
  function appData() {
@@ -672,7 +672,7 @@ var require_XDG = __commonJS({
672
672
  var cache = function() {
673
673
  return valOrPath(env3.get("XDG_CACHE_HOME"), [localAppData(), "xdg.cache"]);
674
674
  };
675
- var config30 = function() {
675
+ var config34 = function() {
676
676
  return valOrPath(env3.get("XDG_CONFIG_HOME"), [appData(), "xdg.config"]);
677
677
  };
678
678
  var data = function() {
@@ -684,7 +684,7 @@ var require_XDG = __commonJS({
684
684
  var state = function() {
685
685
  return valOrPath(env3.get("XDG_STATE_HOME"), [localAppData(), "xdg.state"]);
686
686
  };
687
- return { cache, config: config30, data, runtime, state };
687
+ return { cache, config: config34, data, runtime, state };
688
688
  };
689
689
  var XDG_ = function() {
690
690
  function XDG_2() {
@@ -31619,22 +31619,22 @@ var require_dist_web = __commonJS({
31619
31619
  _createClass(Haikunator3, [{
31620
31620
  key: "haikunate",
31621
31621
  value: function haikunate(options) {
31622
- var config30 = (0, _lodash["default"])(options, this.config);
31623
- if (config30.tokenHex === true) {
31624
- config30.tokenChars = "0123456789abcdef";
31622
+ var config34 = (0, _lodash["default"])(options, this.config);
31623
+ if (config34.tokenHex === true) {
31624
+ config34.tokenChars = "0123456789abcdef";
31625
31625
  }
31626
31626
  var adjective = this._randomElement(this.adjectives);
31627
31627
  var noun = this._randomElement(this.nouns);
31628
- if (!config30.tokenLength)
31629
- config30.tokenLength = 0;
31628
+ if (!config34.tokenLength)
31629
+ config34.tokenLength = 0;
31630
31630
  var token = "";
31631
- for (var i = 0; i < config30.tokenLength; i++) {
31632
- token += this._randomElement(config30.tokenChars);
31631
+ for (var i = 0; i < config34.tokenLength; i++) {
31632
+ token += this._randomElement(config34.tokenChars);
31633
31633
  }
31634
31634
  var sections = [adjective, noun, token];
31635
31635
  return sections.filter(function(e) {
31636
31636
  return !!e;
31637
- }).join(config30.delimiter);
31637
+ }).join(config34.delimiter);
31638
31638
  }
31639
31639
  /**
31640
31640
  * Get a random element from an array/string
@@ -40191,13 +40191,13 @@ var require_esprima = __commonJS({
40191
40191
  return Reader2;
40192
40192
  }();
40193
40193
  var Tokenizer = function() {
40194
- function Tokenizer2(code, config30) {
40194
+ function Tokenizer2(code, config34) {
40195
40195
  this.errorHandler = new error_handler_1.ErrorHandler();
40196
- this.errorHandler.tolerant = config30 ? typeof config30.tolerant === "boolean" && config30.tolerant : false;
40196
+ this.errorHandler.tolerant = config34 ? typeof config34.tolerant === "boolean" && config34.tolerant : false;
40197
40197
  this.scanner = new scanner_1.Scanner(code, this.errorHandler);
40198
- this.scanner.trackComment = config30 ? typeof config30.comment === "boolean" && config30.comment : false;
40199
- this.trackRange = config30 ? typeof config30.range === "boolean" && config30.range : false;
40200
- this.trackLoc = config30 ? typeof config30.loc === "boolean" && config30.loc : false;
40198
+ this.scanner.trackComment = config34 ? typeof config34.comment === "boolean" && config34.comment : false;
40199
+ this.trackRange = config34 ? typeof config34.range === "boolean" && config34.range : false;
40200
+ this.trackLoc = config34 ? typeof config34.loc === "boolean" && config34.loc : false;
40201
40201
  this.buffer = [];
40202
40202
  this.reader = new Reader();
40203
40203
  }
@@ -50020,11 +50020,11 @@ var require_printer = __commonJS({
50020
50020
  return this.code;
50021
50021
  };
50022
50022
  var emptyPrintResult = new PrintResult("");
50023
- var Printer = function Printer2(config30) {
50023
+ var Printer = function Printer2(config34) {
50024
50024
  assert_1.default.ok(this instanceof Printer2);
50025
- var explicitTabWidth = config30 && config30.tabWidth;
50026
- config30 = options_1.normalize(config30);
50027
- config30.sourceFileName = null;
50025
+ var explicitTabWidth = config34 && config34.tabWidth;
50026
+ config34 = options_1.normalize(config34);
50027
+ config34.sourceFileName = null;
50028
50028
  function makePrintFunctionWith(options, overrides) {
50029
50029
  options = Object.assign({}, options, overrides);
50030
50030
  return function(path6) {
@@ -50039,11 +50039,11 @@ var require_printer = __commonJS({
50039
50039
  includeComments: false
50040
50040
  }));
50041
50041
  }
50042
- var oldTabWidth = config30.tabWidth;
50042
+ var oldTabWidth = config34.tabWidth;
50043
50043
  if (!explicitTabWidth) {
50044
50044
  var loc = path6.getNode().loc;
50045
50045
  if (loc && loc.lines && loc.lines.guessTabWidth) {
50046
- config30.tabWidth = loc.lines.guessTabWidth();
50046
+ config34.tabWidth = loc.lines.guessTabWidth();
50047
50047
  }
50048
50048
  }
50049
50049
  var reprinter = patcher_1.getReprinter(path6);
@@ -50057,11 +50057,11 @@ var require_printer = __commonJS({
50057
50057
  // right choice because it gives us the opportunity to reprint
50058
50058
  // such nodes using their original source.
50059
50059
  reprinter(print2)
50060
- ) : genericPrint(path6, config30, options, makePrintFunctionWith(options, {
50060
+ ) : genericPrint(path6, config34, options, makePrintFunctionWith(options, {
50061
50061
  includeComments: true,
50062
50062
  avoidRootParens: false
50063
50063
  }));
50064
- config30.tabWidth = oldTabWidth;
50064
+ config34.tabWidth = oldTabWidth;
50065
50065
  return lines;
50066
50066
  }
50067
50067
  this.print = function(ast) {
@@ -50072,7 +50072,7 @@ var require_printer = __commonJS({
50072
50072
  includeComments: true,
50073
50073
  avoidRootParens: false
50074
50074
  });
50075
- return new PrintResult(lines.toString(config30), util.composeSourceMaps(config30.inputSourceMap, lines.getSourceMap(config30.sourceMapName, config30.sourceRoot)));
50075
+ return new PrintResult(lines.toString(config34), util.composeSourceMaps(config34.inputSourceMap, lines.getSourceMap(config34.sourceMapName, config34.sourceRoot)));
50076
50076
  };
50077
50077
  this.printGenerically = function(ast) {
50078
50078
  if (!ast) {
@@ -50080,26 +50080,26 @@ var require_printer = __commonJS({
50080
50080
  }
50081
50081
  function printGenerically(path7) {
50082
50082
  return comments_1.printComments(path7, function(path8) {
50083
- return genericPrint(path8, config30, {
50083
+ return genericPrint(path8, config34, {
50084
50084
  includeComments: true,
50085
50085
  avoidRootParens: false
50086
50086
  }, printGenerically);
50087
50087
  });
50088
50088
  }
50089
50089
  var path6 = fast_path_1.default.from(ast);
50090
- var oldReuseWhitespace = config30.reuseWhitespace;
50091
- config30.reuseWhitespace = false;
50092
- var pr = new PrintResult(printGenerically(path6).toString(config30));
50093
- config30.reuseWhitespace = oldReuseWhitespace;
50090
+ var oldReuseWhitespace = config34.reuseWhitespace;
50091
+ config34.reuseWhitespace = false;
50092
+ var pr = new PrintResult(printGenerically(path6).toString(config34));
50093
+ config34.reuseWhitespace = oldReuseWhitespace;
50094
50094
  return pr;
50095
50095
  };
50096
50096
  };
50097
50097
  exports2.Printer = Printer;
50098
- function genericPrint(path6, config30, options, printPath) {
50098
+ function genericPrint(path6, config34, options, printPath) {
50099
50099
  assert_1.default.ok(path6 instanceof fast_path_1.default);
50100
50100
  var node = path6.getValue();
50101
50101
  var parts = [];
50102
- var linesWithoutParens = genericPrintNoParens(path6, config30, printPath);
50102
+ var linesWithoutParens = genericPrintNoParens(path6, config34, printPath);
50103
50103
  if (!node || linesWithoutParens.isEmpty()) {
50104
50104
  return linesWithoutParens;
50105
50105
  }
@@ -69790,33 +69790,33 @@ var inputPrompt = async (promptConfig) => {
69790
69790
  }
69791
69791
  return input;
69792
69792
  };
69793
- var renderSubmit = (config30, value) => {
69794
- const { question, label } = config30;
69795
- if (config30.type !== "confirm" && !value) {
69793
+ var renderSubmit = (config34, value) => {
69794
+ const { question, label } = config34;
69795
+ if (config34.type !== "confirm" && !value) {
69796
69796
  return [`${leftT} ${question} ${dim("(skipped)")}`, `${grayBar}`];
69797
69797
  }
69798
- const content = config30.type === "confirm" ? `${grayBar} ${brandColor(value)} ${dim(label)}` : `${grayBar} ${brandColor(label)} ${dim(value)}`;
69798
+ const content = config34.type === "confirm" ? `${grayBar} ${brandColor(value)} ${dim(label)}` : `${grayBar} ${brandColor(label)} ${dim(value)}`;
69799
69799
  return [`${leftT} ${question}`, content, `${grayBar}`];
69800
69800
  };
69801
- var getRenderers = (config30) => {
69802
- switch (config30.type) {
69801
+ var getRenderers = (config34) => {
69802
+ switch (config34.type) {
69803
69803
  case "select":
69804
- return getSelectRenderers(config30);
69804
+ return getSelectRenderers(config34);
69805
69805
  case "confirm":
69806
- return getConfirmRenderers(config30);
69806
+ return getConfirmRenderers(config34);
69807
69807
  case "text":
69808
- return getTextRenderers(config30);
69808
+ return getTextRenderers(config34);
69809
69809
  case "multiselect":
69810
- return getSelectRenderers(config30);
69810
+ return getSelectRenderers(config34);
69811
69811
  case "list":
69812
- return getSelectListRenderers(config30);
69812
+ return getSelectListRenderers(config34);
69813
69813
  }
69814
69814
  };
69815
- var getTextRenderers = (config30) => {
69816
- const { question } = config30;
69817
- const helpText = config30.helpText ?? "";
69818
- const format5 = config30.format ?? ((val) => String(val));
69819
- const defaultValue = config30.defaultValue?.toString() ?? "";
69815
+ var getTextRenderers = (config34) => {
69816
+ const { question } = config34;
69817
+ const helpText = config34.helpText ?? "";
69818
+ const format5 = config34.format ?? ((val) => String(val));
69819
+ const defaultValue = config34.defaultValue?.toString() ?? "";
69820
69820
  const activeRenderer = ({ value }) => [
69821
69821
  `${blCorner} ${bold(question)} ${dim(helpText)}`,
69822
69822
  `${space(2)}${format5(value || dim(defaultValue))}`,
@@ -69839,14 +69839,14 @@ var getTextRenderers = (config30) => {
69839
69839
  ``
69840
69840
  // extra line for readability
69841
69841
  ],
69842
- submit: ({ value }) => renderSubmit(config30, format5(value ?? "")),
69842
+ submit: ({ value }) => renderSubmit(config34, format5(value ?? "")),
69843
69843
  cancel: activeRenderer
69844
69844
  };
69845
69845
  };
69846
- var getSelectRenderers = (config30) => {
69847
- const { options, question, helpText: _helpText } = config30;
69846
+ var getSelectRenderers = (config34) => {
69847
+ const { options, question, helpText: _helpText } = config34;
69848
69848
  const helpText = _helpText ?? "";
69849
- const maxItemsPerPage = config30.maxItemsPerPage ?? 32;
69849
+ const maxItemsPerPage = config34.maxItemsPerPage ?? 32;
69850
69850
  const defaultRenderer = ({ cursor = 0, value }) => {
69851
69851
  const renderOption = (opt, i) => {
69852
69852
  const { label: optionLabel, value: optionValue } = opt;
@@ -69921,21 +69921,21 @@ ${space(2)}${dim("...")}` : ""}`,
69921
69921
  submit: ({ value }) => {
69922
69922
  if (Array.isArray(value)) {
69923
69923
  return renderSubmit(
69924
- config30,
69924
+ config34,
69925
69925
  options.filter((o) => value.includes(o.value)).map((o) => o.label).join(", ")
69926
69926
  );
69927
69927
  }
69928
69928
  return renderSubmit(
69929
- config30,
69929
+ config34,
69930
69930
  options.find((o) => o.value === value)?.label
69931
69931
  );
69932
69932
  },
69933
69933
  cancel: defaultRenderer
69934
69934
  };
69935
69935
  };
69936
- var getSelectListRenderers = (config30) => {
69937
- const { question, helpText: _helpText } = config30;
69938
- let options = config30.options;
69936
+ var getSelectListRenderers = (config34) => {
69937
+ const { question, helpText: _helpText } = config34;
69938
+ let options = config34.options;
69939
69939
  const helpText = _helpText ?? "";
69940
69940
  const { rows } = stdout;
69941
69941
  const defaultRenderer = ({ cursor, value }, prompt) => {
@@ -70016,20 +70016,20 @@ var getSelectListRenderers = (config30) => {
70016
70016
  submit: ({ value }) => {
70017
70017
  if (Array.isArray(value)) {
70018
70018
  return renderSubmit(
70019
- config30,
70019
+ config34,
70020
70020
  options.filter((o) => value.includes(o.value)).map((o) => o.value).join(", ")
70021
70021
  );
70022
70022
  }
70023
70023
  return renderSubmit(
70024
- config30,
70024
+ config34,
70025
70025
  options.find((o) => o.value === value)?.value
70026
70026
  );
70027
70027
  },
70028
70028
  cancel: defaultRenderer
70029
70029
  };
70030
70030
  };
70031
- var getConfirmRenderers = (config30) => {
70032
- const { activeText, inactiveText, question, helpText: _helpText } = config30;
70031
+ var getConfirmRenderers = (config34) => {
70032
+ const { activeText, inactiveText, question, helpText: _helpText } = config34;
70033
70033
  const helpText = _helpText ?? "";
70034
70034
  const active = activeText || "Yes";
70035
70035
  const inactive = inactiveText || "No";
@@ -70046,7 +70046,7 @@ var getConfirmRenderers = (config30) => {
70046
70046
  active: defaultRenderer,
70047
70047
  confirm: defaultRenderer,
70048
70048
  error: defaultRenderer,
70049
- submit: ({ value }) => renderSubmit(config30, value ? "yes" : "no"),
70049
+ submit: ({ value }) => renderSubmit(config34, value ? "yes" : "no"),
70050
70050
  cancel: defaultRenderer
70051
70051
  };
70052
70052
  };
@@ -71016,23 +71016,23 @@ var YargsParser = class {
71016
71016
  const configPath = argv2[configKey] || configLookup[configKey];
71017
71017
  if (configPath) {
71018
71018
  try {
71019
- let config30 = null;
71019
+ let config34 = null;
71020
71020
  const resolvedConfigPath = mixin2.resolve(mixin2.cwd(), configPath);
71021
71021
  const resolveConfig = flags.configs[configKey];
71022
71022
  if (typeof resolveConfig === "function") {
71023
71023
  try {
71024
- config30 = resolveConfig(resolvedConfigPath);
71024
+ config34 = resolveConfig(resolvedConfigPath);
71025
71025
  } catch (e) {
71026
- config30 = e;
71026
+ config34 = e;
71027
71027
  }
71028
- if (config30 instanceof Error) {
71029
- error2 = config30;
71028
+ if (config34 instanceof Error) {
71029
+ error2 = config34;
71030
71030
  return;
71031
71031
  }
71032
71032
  } else {
71033
- config30 = mixin2.require(resolvedConfigPath);
71033
+ config34 = mixin2.require(resolvedConfigPath);
71034
71034
  }
71035
- setConfigObject(config30);
71035
+ setConfigObject(config34);
71036
71036
  } catch (ex) {
71037
71037
  if (ex.name === "PermissionDenied")
71038
71038
  error2 = ex;
@@ -71042,9 +71042,9 @@ var YargsParser = class {
71042
71042
  }
71043
71043
  });
71044
71044
  }
71045
- function setConfigObject(config30, prev) {
71046
- Object.keys(config30).forEach(function(key) {
71047
- const value = config30[key];
71045
+ function setConfigObject(config34, prev) {
71046
+ Object.keys(config34).forEach(function(key) {
71047
+ const value = config34[key];
71048
71048
  const fullKey = prev ? prev + "." + key : key;
71049
71049
  if (typeof value === "object" && value !== null && !Array.isArray(value) && configuration["dot-notation"]) {
71050
71050
  setConfigObject(value, fullKey);
@@ -72196,11 +72196,11 @@ var CommandInstance = class {
72196
72196
  });
72197
72197
  if (!unparsed.length)
72198
72198
  return;
72199
- const config30 = Object.assign({}, options.configuration, {
72199
+ const config34 = Object.assign({}, options.configuration, {
72200
72200
  "populate--": false
72201
72201
  });
72202
72202
  const parsed = this.shim.Parser.detailed(unparsed, Object.assign({}, options, {
72203
- configuration: config30
72203
+ configuration: config34
72204
72204
  }));
72205
72205
  if (parsed.error) {
72206
72206
  yargs.getInternalMethods().getUsageInstance().fail(parsed.error.message, parsed.error);
@@ -73423,31 +73423,31 @@ ${customMsgs.join("\n")}` : "";
73423
73423
  // ../../node_modules/.pnpm/yargs@17.7.2/node_modules/yargs/build/lib/utils/apply-extends.js
73424
73424
  var previouslyVisitedConfigs = [];
73425
73425
  var shim2;
73426
- function applyExtends(config30, cwd, mergeExtends, _shim) {
73426
+ function applyExtends(config34, cwd, mergeExtends, _shim) {
73427
73427
  shim2 = _shim;
73428
73428
  let defaultConfig = {};
73429
- if (Object.prototype.hasOwnProperty.call(config30, "extends")) {
73430
- if (typeof config30.extends !== "string")
73429
+ if (Object.prototype.hasOwnProperty.call(config34, "extends")) {
73430
+ if (typeof config34.extends !== "string")
73431
73431
  return defaultConfig;
73432
- const isPath = /\.json|\..*rc$/.test(config30.extends);
73432
+ const isPath = /\.json|\..*rc$/.test(config34.extends);
73433
73433
  let pathToDefault = null;
73434
73434
  if (!isPath) {
73435
73435
  try {
73436
- pathToDefault = require.resolve(config30.extends);
73436
+ pathToDefault = require.resolve(config34.extends);
73437
73437
  } catch (_err) {
73438
- return config30;
73438
+ return config34;
73439
73439
  }
73440
73440
  } else {
73441
- pathToDefault = getPathToDefaultConfig(cwd, config30.extends);
73441
+ pathToDefault = getPathToDefaultConfig(cwd, config34.extends);
73442
73442
  }
73443
73443
  checkForCircularExtends(pathToDefault);
73444
73444
  previouslyVisitedConfigs.push(pathToDefault);
73445
- defaultConfig = isPath ? JSON.parse(shim2.readFileSync(pathToDefault, "utf8")) : require(config30.extends);
73446
- delete config30.extends;
73445
+ defaultConfig = isPath ? JSON.parse(shim2.readFileSync(pathToDefault, "utf8")) : require(config34.extends);
73446
+ delete config34.extends;
73447
73447
  defaultConfig = applyExtends(defaultConfig, shim2.path.dirname(pathToDefault), mergeExtends, shim2);
73448
73448
  }
73449
73449
  previouslyVisitedConfigs = [];
73450
- return mergeExtends ? mergeDeep(defaultConfig, config30) : Object.assign({}, defaultConfig, config30);
73450
+ return mergeExtends ? mergeDeep(defaultConfig, config34) : Object.assign({}, defaultConfig, config34);
73451
73451
  }
73452
73452
  function checkForCircularExtends(cfgPath) {
73453
73453
  if (previouslyVisitedConfigs.indexOf(cfgPath) > -1) {
@@ -74228,9 +74228,9 @@ var YargsInstance = class {
74228
74228
  }
74229
74229
  return maybePromise;
74230
74230
  }
74231
- parserConfiguration(config30) {
74232
- argsert("<object>", [config30], arguments.length);
74233
- __classPrivateFieldSet(this, _YargsInstance_parserConfig, config30, "f");
74231
+ parserConfiguration(config34) {
74232
+ argsert("<object>", [config34], arguments.length);
74233
+ __classPrivateFieldSet(this, _YargsInstance_parserConfig, config34, "f");
74234
74234
  return this;
74235
74235
  }
74236
74236
  pkgConf(key, rootPath) {
@@ -74402,9 +74402,9 @@ var YargsInstance = class {
74402
74402
  return this;
74403
74403
  }
74404
74404
  }
74405
- usageConfiguration(config30) {
74406
- argsert("<object>", [config30], arguments.length);
74407
- __classPrivateFieldSet(this, _YargsInstance_usageConfig, config30, "f");
74405
+ usageConfiguration(config34) {
74406
+ argsert("<object>", [config34], arguments.length);
74407
+ __classPrivateFieldSet(this, _YargsInstance_usageConfig, config34, "f");
74408
74408
  return this;
74409
74409
  }
74410
74410
  version(opt, msg, ver) {
@@ -74810,11 +74810,11 @@ var YargsInstance = class {
74810
74810
  __classPrivateFieldGet(this, _YargsInstance_options, "f").__ = __classPrivateFieldGet(this, _YargsInstance_shim, "f").y18n.__;
74811
74811
  __classPrivateFieldGet(this, _YargsInstance_options, "f").configuration = this[kGetParserConfiguration]();
74812
74812
  const populateDoubleDash = !!__classPrivateFieldGet(this, _YargsInstance_options, "f").configuration["populate--"];
74813
- const config30 = Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, "f").configuration, {
74813
+ const config34 = Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, "f").configuration, {
74814
74814
  "populate--": true
74815
74815
  });
74816
74816
  const parsed = __classPrivateFieldGet(this, _YargsInstance_shim, "f").Parser.detailed(args, Object.assign({}, __classPrivateFieldGet(this, _YargsInstance_options, "f"), {
74817
- configuration: { "parse-positional-numbers": false, ...config30 }
74817
+ configuration: { "parse-positional-numbers": false, ...config34 }
74818
74818
  }));
74819
74819
  const argv = Object.assign(parsed.argv, __classPrivateFieldGet(this, _YargsInstance_parseContext, "f"));
74820
74820
  let argvPromise = void 0;
@@ -74977,7 +74977,7 @@ var Yargs = YargsFactory(esm_default);
74977
74977
  var yargs_default = Yargs;
74978
74978
 
74979
74979
  // package.json
74980
- var version = "2.40.2";
74980
+ var version = "2.41.0";
74981
74981
 
74982
74982
  // src/metrics.ts
74983
74983
  var import_node_async_hooks = require("node:async_hooks");
@@ -75021,12 +75021,12 @@ function getGlobalWranglerConfigPath() {
75021
75021
  }
75022
75022
 
75023
75023
  // src/helpers/metrics-config.ts
75024
- function writeMetricsConfig(config30) {
75024
+ function writeMetricsConfig(config34) {
75025
75025
  (0, import_node_fs2.mkdirSync)(import_node_path2.default.dirname(getMetricsConfigPath()), { recursive: true });
75026
75026
  (0, import_node_fs2.writeFileSync)(
75027
75027
  getMetricsConfigPath(),
75028
75028
  JSON.stringify(
75029
- config30,
75029
+ config34,
75030
75030
  (_key, value) => value instanceof Date ? value.toISOString() : value,
75031
75031
  " "
75032
75032
  )
@@ -75034,9 +75034,9 @@ function writeMetricsConfig(config30) {
75034
75034
  }
75035
75035
  function readMetricsConfig() {
75036
75036
  try {
75037
- const config30 = (0, import_node_fs2.readFileSync)(getMetricsConfigPath(), "utf8");
75037
+ const config34 = (0, import_node_fs2.readFileSync)(getMetricsConfigPath(), "utf8");
75038
75038
  return JSON.parse(
75039
- config30,
75039
+ config34,
75040
75040
  (key, value) => key === "date" ? new Date(value) : value
75041
75041
  );
75042
75042
  } catch {
@@ -75046,10 +75046,10 @@ function readMetricsConfig() {
75046
75046
  function getMetricsConfigPath() {
75047
75047
  return import_node_path2.default.resolve(getGlobalWranglerConfigPath(), "metrics.json");
75048
75048
  }
75049
- function getDeviceId(config30) {
75050
- const deviceId = config30.deviceId ?? (0, import_node_crypto.randomUUID)();
75051
- if (config30.deviceId === void 0) {
75052
- writeMetricsConfig({ ...config30, deviceId });
75049
+ function getDeviceId(config34) {
75050
+ const deviceId = config34.deviceId ?? (0, import_node_crypto.randomUUID)();
75051
+ if (config34.deviceId === void 0) {
75052
+ writeMetricsConfig({ ...config34, deviceId });
75053
75053
  }
75054
75054
  return deviceId;
75055
75055
  }
@@ -75324,10 +75324,10 @@ function getPlatform() {
75324
75324
  function createReporter() {
75325
75325
  const events = [];
75326
75326
  const als = new import_node_async_hooks.AsyncLocalStorage();
75327
- const config30 = readMetricsConfig() ?? {};
75328
- const isFirstUsage = config30.c3permission === void 0;
75327
+ const config34 = readMetricsConfig() ?? {};
75328
+ const isFirstUsage = config34.c3permission === void 0;
75329
75329
  const isEnabled = isTelemetryEnabled();
75330
- const deviceId = getDeviceId(config30);
75330
+ const deviceId = getDeviceId(config34);
75331
75331
  const packageManager = detectPackageManager();
75332
75332
  const platform3 = getPlatform();
75333
75333
  const amplitude_session_id = Date.now();
@@ -75360,7 +75360,7 @@ function createReporter() {
75360
75360
  if (process.env.CREATE_CLOUDFLARE_TELEMETRY_DISABLED === "1") {
75361
75361
  return false;
75362
75362
  }
75363
- return hasSparrowSourceKey() && getC3Permission(config30).enabled;
75363
+ return hasSparrowSourceKey() && getC3Permission(config34).enabled;
75364
75364
  }
75365
75365
  async function waitForAllEventsSettled() {
75366
75366
  await Promise.allSettled(events);
@@ -75466,20 +75466,20 @@ function initializeC3Permission(enabled = true) {
75466
75466
  date: /* @__PURE__ */ new Date()
75467
75467
  };
75468
75468
  }
75469
- function getC3Permission(config30 = readMetricsConfig() ?? {}) {
75470
- if (!config30.c3permission) {
75471
- config30.c3permission = initializeC3Permission();
75472
- writeMetricsConfig(config30);
75469
+ function getC3Permission(config34 = readMetricsConfig() ?? {}) {
75470
+ if (!config34.c3permission) {
75471
+ config34.c3permission = initializeC3Permission();
75472
+ writeMetricsConfig(config34);
75473
75473
  }
75474
- return config30.c3permission;
75474
+ return config34.c3permission;
75475
75475
  }
75476
75476
  function updateC3Pemission(enabled) {
75477
- const config30 = readMetricsConfig();
75478
- if (config30.c3permission?.enabled === enabled) {
75477
+ const config34 = readMetricsConfig();
75478
+ if (config34.c3permission?.enabled === enabled) {
75479
75479
  return;
75480
75480
  }
75481
- config30.c3permission = initializeC3Permission(enabled);
75482
- writeMetricsConfig(config30);
75481
+ config34.c3permission = initializeC3Permission(enabled);
75482
+ writeMetricsConfig(config34);
75483
75483
  }
75484
75484
  var runTelemetryCommand = (action) => {
75485
75485
  const logTelemetryStatus = (enabled) => {
@@ -75524,28 +75524,28 @@ var import_haikunator = __toESM(require_dist_web());
75524
75524
  var import_fs6 = require("fs");
75525
75525
  var import_path6 = __toESM(require("path"));
75526
75526
  var import_undici2 = __toESM(require_undici());
75527
- var installPackages = async (packages, config30 = {}) => {
75527
+ var installPackages = async (packages, config34 = {}) => {
75528
75528
  const { npm: npm24 } = detectPackageManager();
75529
75529
  let saveFlag;
75530
75530
  let cmd;
75531
75531
  switch (npm24) {
75532
75532
  case "yarn":
75533
75533
  cmd = "add";
75534
- saveFlag = config30.dev ? "-D" : "";
75534
+ saveFlag = config34.dev ? "-D" : "";
75535
75535
  break;
75536
75536
  case "bun":
75537
75537
  cmd = "add";
75538
- saveFlag = config30.dev ? "-d" : "";
75538
+ saveFlag = config34.dev ? "-d" : "";
75539
75539
  break;
75540
75540
  case "npm":
75541
75541
  case "pnpm":
75542
75542
  default:
75543
75543
  cmd = "install";
75544
- saveFlag = config30.dev ? "--save-dev" : "";
75544
+ saveFlag = config34.dev ? "--save-dev" : "";
75545
75545
  break;
75546
75546
  }
75547
75547
  await runCommand([npm24, cmd, ...saveFlag ? [saveFlag] : [], ...packages], {
75548
- ...config30,
75548
+ ...config34,
75549
75549
  silent: true
75550
75550
  });
75551
75551
  };
@@ -75726,9 +75726,6 @@ var usesEslint = (ctx) => {
75726
75726
  return { used: false };
75727
75727
  };
75728
75728
 
75729
- // templates-experimental/angular/c3.ts
75730
- var import_node_path3 = require("node:path");
75731
-
75732
75729
  // src/frameworks/package.json
75733
75730
  var package_default = {
75734
75731
  name: "frameworks_clis_info",
@@ -75780,91 +75777,6 @@ var runFrameworkGenerator = async (ctx, args) => {
75780
75777
  await runCommand(cmd, { env: env3 });
75781
75778
  };
75782
75779
 
75783
- // templates-experimental/angular/c3.ts
75784
- var { npm } = detectPackageManager();
75785
- var generate = async (ctx) => {
75786
- await runFrameworkGenerator(ctx, [
75787
- ctx.project.name,
75788
- "--ssr",
75789
- "--server-routing"
75790
- ]);
75791
- logRaw("");
75792
- };
75793
- var configure = async (ctx) => {
75794
- updateAngularJson(ctx);
75795
- await updateAppCode();
75796
- await installCFWorker();
75797
- };
75798
- async function installCFWorker() {
75799
- await installPackages(["xhr2"], {
75800
- dev: true,
75801
- startText: "Installing additional dependencies",
75802
- doneText: `${brandColor("installed")} ${dim(`via \`${npm} install\``)}`
75803
- });
75804
- }
75805
- async function updateAppCode() {
75806
- const s = spinner();
75807
- s.start(`Updating application code`);
75808
- const appConfigPath = "src/app/app.config.ts";
75809
- const appConfig = readFile((0, import_node_path3.resolve)(appConfigPath));
75810
- const newAppConfig = "import { provideHttpClient, withFetch } from '@angular/common/http';\n" + appConfig.replace(
75811
- "providers: [",
75812
- "providers: [provideHttpClient(withFetch()), "
75813
- );
75814
- writeFile2((0, import_node_path3.resolve)(appConfigPath), newAppConfig);
75815
- s.stop(`${brandColor(`updated`)} ${dim(appConfigPath)}`);
75816
- const appServerRoutesPath = "src/app/app.routes.server.ts";
75817
- const appRoutes = readFile((0, import_node_path3.resolve)(appServerRoutesPath));
75818
- const newAppRoutes = appRoutes.replace(
75819
- "RenderMode.Prerender",
75820
- "RenderMode.Server"
75821
- );
75822
- writeFile2((0, import_node_path3.resolve)(appServerRoutesPath), newAppRoutes);
75823
- s.stop(`${brandColor(`updated`)} ${dim(appServerRoutesPath)}`);
75824
- s.start(`Updating package.json`);
75825
- const packageJsonPath = (0, import_node_path3.resolve)("package.json");
75826
- const packageManifest = readJSON(packageJsonPath);
75827
- delete packageManifest["dependencies"]?.["express"];
75828
- delete packageManifest["devDependencies"]?.["@types/express"];
75829
- writeFile2(packageJsonPath, JSON.stringify(packageManifest, null, 2));
75830
- s.stop(`${brandColor(`updated`)} ${dim(`\`package.json\``)}`);
75831
- }
75832
- function updateAngularJson(ctx) {
75833
- const s = spinner();
75834
- s.start(`Updating angular.json config`);
75835
- const angularJson = readJSON((0, import_node_path3.resolve)("angular.json"));
75836
- const architectSection = angularJson.projects[ctx.project.name].architect;
75837
- architectSection.build.options.outputPath = "dist";
75838
- architectSection.build.options.outputMode = "server";
75839
- architectSection.build.options.ssr.experimentalPlatform = "neutral";
75840
- writeFile2((0, import_node_path3.resolve)("angular.json"), JSON.stringify(angularJson, null, 2));
75841
- s.stop(`${brandColor(`updated`)} ${dim(`\`angular.json\``)}`);
75842
- }
75843
- var config = {
75844
- configVersion: 1,
75845
- id: "angular",
75846
- frameworkCli: "@angular/create",
75847
- displayName: "Angular",
75848
- platform: "workers",
75849
- copyFiles: {
75850
- path: "./templates"
75851
- },
75852
- path: "templates-experimental/angular",
75853
- devScript: "start",
75854
- deployScript: "deploy",
75855
- previewScript: "start",
75856
- generate,
75857
- configure,
75858
- transformPackageJson: async () => ({
75859
- scripts: {
75860
- start: `${npm} run build && wrangler dev`,
75861
- build: `ng build`,
75862
- deploy: `${npm} run build && wrangler deploy`
75863
- }
75864
- })
75865
- };
75866
- var c3_default = config;
75867
-
75868
75780
  // src/helpers/codemod.ts
75869
75781
  var import_fs8 = require("fs");
75870
75782
  var import_path8 = __toESM(require("path"));
@@ -75943,11 +75855,11 @@ var getPropertyName = (newProp) => {
75943
75855
  // templates-experimental/astro/c3.ts
75944
75856
  var recast2 = __toESM(require_main3());
75945
75857
  var { npx } = detectPackageManager();
75946
- var generate2 = async (ctx) => {
75858
+ var generate = async (ctx) => {
75947
75859
  await runFrameworkGenerator(ctx, [ctx.project.name, "--no-install"]);
75948
75860
  logRaw("");
75949
75861
  };
75950
- var configure2 = async () => {
75862
+ var configure = async () => {
75951
75863
  await runCommand([npx, "astro", "add", "cloudflare", "-y"], {
75952
75864
  silent: true,
75953
75865
  startText: "Installing adapter",
@@ -75981,7 +75893,7 @@ var updateAstroConfig = () => {
75981
75893
  }
75982
75894
  });
75983
75895
  };
75984
- var config2 = {
75896
+ var config = {
75985
75897
  configVersion: 1,
75986
75898
  id: "astro",
75987
75899
  frameworkCli: "create-astro",
@@ -76004,8 +75916,8 @@ var config2 = {
76004
75916
  deployScript: "deploy",
76005
75917
  previewScript: "preview",
76006
75918
  path: "templates-experimental/astro",
76007
- generate: generate2,
76008
- configure: configure2,
75919
+ generate,
75920
+ configure,
76009
75921
  transformPackageJson: async (pkgJson, ctx) => ({
76010
75922
  scripts: {
76011
75923
  deploy: `astro build && wrangler deploy`,
@@ -76014,54 +75926,10 @@ var config2 = {
76014
75926
  }
76015
75927
  })
76016
75928
  };
76017
- var c3_default2 = config2;
76018
-
76019
- // templates-experimental/gatsby/c3.ts
76020
- var { npm: npm2 } = detectPackageManager();
76021
- var generate3 = async (ctx) => {
76022
- const defaultTemplate = "https://github.com/gatsbyjs/gatsby-starter-blog";
76023
- const useTemplate = await inputPrompt({
76024
- type: "confirm",
76025
- question: "Would you like to use a template?",
76026
- label: "template",
76027
- defaultValue: true
76028
- });
76029
- let templateUrl = "";
76030
- if (useTemplate) {
76031
- templateUrl = await inputPrompt({
76032
- type: "text",
76033
- question: `Please specify the url of the template you'd like to use`,
76034
- label: "template",
76035
- defaultValue: defaultTemplate
76036
- });
76037
- }
76038
- await runFrameworkGenerator(ctx, ["new", ctx.project.name, templateUrl]);
76039
- };
76040
- var config3 = {
76041
- configVersion: 1,
76042
- id: "gatsby",
76043
- frameworkCli: "gatsby",
76044
- platform: "workers",
76045
- displayName: "Gatsby",
76046
- copyFiles: {
76047
- path: "./templates"
76048
- },
76049
- path: "templates-experimental/gatsby",
76050
- generate: generate3,
76051
- transformPackageJson: async () => ({
76052
- scripts: {
76053
- deploy: `${npm2} run build && wrangler deploy`,
76054
- preview: `${npm2} run build && wrangler dev`
76055
- }
76056
- }),
76057
- devScript: "develop",
76058
- deployScript: "deploy",
76059
- previewScript: "preview"
76060
- };
76061
- var c3_default3 = config3;
75929
+ var c3_default = config;
76062
75930
 
76063
75931
  // templates-experimental/hello-world-assets-only/c3.ts
76064
- var config4 = {
75932
+ var config2 = {
76065
75933
  configVersion: 1,
76066
75934
  id: "hello-world-assets-only",
76067
75935
  path: "templates-experimental/hello-world-assets-only",
@@ -76072,10 +75940,10 @@ var config4 = {
76072
75940
  path: "./templates"
76073
75941
  }
76074
75942
  };
76075
- var c3_default4 = config4;
75943
+ var c3_default2 = config2;
76076
75944
 
76077
75945
  // templates-experimental/hello-world-durable-object-with-assets/c3.ts
76078
- var config5 = {
75946
+ var config3 = {
76079
75947
  configVersion: 1,
76080
75948
  id: "hello-world-durable-object-with-assets",
76081
75949
  path: "templates-experimental/hello-world-durable-object-with-assets",
@@ -76093,10 +75961,10 @@ var config5 = {
76093
75961
  }
76094
75962
  }
76095
75963
  };
76096
- var c3_default5 = config5;
75964
+ var c3_default3 = config3;
76097
75965
 
76098
75966
  // templates-experimental/hello-world-with-assets/c3.ts
76099
- var c3_default6 = {
75967
+ var c3_default4 = {
76100
75968
  configVersion: 1,
76101
75969
  id: "hello-world-with-assets",
76102
75970
  path: "templates-experimental/hello-world-with-assets",
@@ -76119,7 +75987,7 @@ var c3_default6 = {
76119
75987
  };
76120
75988
 
76121
75989
  // templates-experimental/hono/c3.ts
76122
- var generate4 = async (ctx) => {
75990
+ var generate2 = async (ctx) => {
76123
75991
  const { name: pm4 } = detectPackageManager();
76124
75992
  await runFrameworkGenerator(ctx, [
76125
75993
  ctx.project.name,
@@ -76131,7 +75999,7 @@ var generate4 = async (ctx) => {
76131
75999
  ]);
76132
76000
  logRaw("");
76133
76001
  };
76134
- var config6 = {
76002
+ var config4 = {
76135
76003
  configVersion: 1,
76136
76004
  id: "hono",
76137
76005
  frameworkCli: "create-hono",
@@ -76141,7 +76009,7 @@ var config6 = {
76141
76009
  },
76142
76010
  platform: "workers",
76143
76011
  path: "templates-experimental/hono",
76144
- generate: generate4,
76012
+ generate: generate2,
76145
76013
  transformPackageJson: async () => ({
76146
76014
  scripts: {
76147
76015
  dev: "wrangler dev",
@@ -76153,13 +76021,13 @@ var config6 = {
76153
76021
  deployScript: "deploy",
76154
76022
  previewScript: "dev"
76155
76023
  };
76156
- var c3_default7 = config6;
76024
+ var c3_default5 = config4;
76157
76025
 
76158
76026
  // templates-experimental/next/c3.ts
76159
- var generate5 = async (ctx) => {
76027
+ var generate3 = async (ctx) => {
76160
76028
  await runFrameworkGenerator(ctx, [ctx.project.name]);
76161
76029
  };
76162
- var configure3 = async () => {
76030
+ var configure2 = async () => {
76163
76031
  const packages = [
76164
76032
  "@opennextjs/cloudflare@0.5.x",
76165
76033
  "@cloudflare/workers-types"
@@ -76184,7 +76052,7 @@ var updateNextConfig = () => {
76184
76052
  writeFile2(configFile, updatedConfigFile);
76185
76053
  s.stop(`${brandColor(`updated`)} ${dim(`\`${configFile}\``)}`);
76186
76054
  };
76187
- var c3_default8 = {
76055
+ var c3_default6 = {
76188
76056
  configVersion: 1,
76189
76057
  id: "next",
76190
76058
  frameworkCli: "create-next-app",
@@ -76198,8 +76066,8 @@ var c3_default8 = {
76198
76066
  copyFiles: {
76199
76067
  path: "./templates"
76200
76068
  },
76201
- generate: generate5,
76202
- configure: configure3,
76069
+ generate: generate3,
76070
+ configure: configure2,
76203
76071
  transformPackageJson: async () => ({
76204
76072
  scripts: {
76205
76073
  deploy: `opennextjs-cloudflare && wrangler deploy`,
@@ -76213,165 +76081,14 @@ var c3_default8 = {
76213
76081
  compatibilityFlags: ["nodejs_compat"]
76214
76082
  };
76215
76083
 
76216
- // src/helpers/compatDate.ts
76217
- var import_fs9 = require("fs");
76218
- var import_path9 = require("path");
76219
- async function getWorkerdCompatibilityDate() {
76220
- const s = spinner();
76221
- s.start("Retrieving current workerd compatibility date");
76222
- try {
76223
- const latestWorkerdVersion = await getLatestPackageVersion("workerd");
76224
- const match = latestWorkerdVersion.match(/\d+\.(\d{4})(\d{2})(\d{2})\.\d+/);
76225
- if (match) {
76226
- const [, year, month, date] = match;
76227
- let compatDate = /* @__PURE__ */ new Date(`${year}-${month}-${date}`);
76228
- if (compatDate.getTime() > Date.now()) {
76229
- compatDate = new Date(Date.now());
76230
- }
76231
- const compatDateString = compatDate.toISOString().slice(0, 10);
76232
- s.stop(`${brandColor("compatibility date")} ${dim(compatDateString)}`);
76233
- return compatDateString;
76234
- }
76235
- } catch {
76236
- }
76237
- const fallbackDate = "2024-11-11";
76238
- s.stop(
76239
- `${brandColor("compatibility date")} ${dim(
76240
- ` Could not find workerd date, falling back to ${fallbackDate}`
76241
- )}`
76242
- );
76243
- return fallbackDate;
76244
- }
76245
- var compatDateFlag = async () => {
76246
- const workerdCompatDate = await getWorkerdCompatibilityDate();
76247
- return `--compatibility-date=${workerdCompatDate}`;
76248
- };
76249
- function getLatestTypesEntrypoint(ctx) {
76250
- const workersTypesPath = (0, import_path9.resolve)(
76251
- ctx.project.path,
76252
- "node_modules",
76253
- "@cloudflare",
76254
- "workers-types"
76255
- );
76256
- try {
76257
- const entrypoints = (0, import_fs9.readdirSync)(workersTypesPath);
76258
- const sorted = entrypoints.filter((filename) => filename.match(/(\d{4})-(\d{2})-(\d{2})/)).sort().reverse();
76259
- if (sorted.length === 0) {
76260
- return null;
76261
- }
76262
- return sorted[0];
76263
- } catch (error2) {
76264
- return null;
76265
- }
76266
- }
76267
-
76268
- // templates-experimental/nuxt/c3.ts
76269
- var recast3 = __toESM(require_main3());
76270
- var { npm: npm3, name: pm } = detectPackageManager();
76271
- var generate6 = async (ctx) => {
76272
- const gitFlag = ctx.args.git ? `--gitInit` : `--no-gitInit`;
76273
- await runFrameworkGenerator(ctx, [
76274
- "init",
76275
- ctx.project.name,
76276
- "--packageManager",
76277
- npm3,
76278
- gitFlag
76279
- ]);
76280
- writeFile2("./.node-version", "18");
76281
- logRaw("");
76282
- };
76283
- var configure4 = async (ctx) => {
76284
- const packages = ["nitro-cloudflare-dev", "nitropack"];
76285
- if (pm === "pnpm") {
76286
- packages.push("h3");
76287
- }
76288
- await installPackages(packages, {
76289
- dev: true,
76290
- startText: "Installing nitro module `nitro-cloudflare-dev`",
76291
- doneText: `${brandColor("installed")} ${dim(`via \`${npm3} install\``)}`
76292
- });
76293
- updateNuxtConfig();
76294
- updateEnvTypes(ctx);
76295
- };
76296
- var updateEnvTypes = (ctx) => {
76297
- const filepath = "env.d.ts";
76298
- const s = spinner();
76299
- s.start(`Updating ${filepath}`);
76300
- let file = readFile(filepath);
76301
- let typesEntrypoint = `@cloudflare/workers-types`;
76302
- const latestEntrypoint = getLatestTypesEntrypoint(ctx);
76303
- if (latestEntrypoint) {
76304
- typesEntrypoint += `/${latestEntrypoint}`;
76305
- }
76306
- file = file.replace("WORKERS_TYPES_ENTRYPOINT", typesEntrypoint);
76307
- writeFile2("env.d.ts", file);
76308
- s.stop(`${brandColor(`updated`)} ${dim(`\`${filepath}\``)}`);
76309
- };
76310
- var updateNuxtConfig = () => {
76311
- const s = spinner();
76312
- const configFile = "nuxt.config.ts";
76313
- s.start(`Updating \`${configFile}\``);
76314
- const b3 = recast3.types.builders;
76315
- const presetDef = b3.objectProperty(
76316
- b3.identifier("nitro"),
76317
- b3.objectExpression([
76318
- b3.objectProperty(
76319
- b3.identifier("preset"),
76320
- b3.stringLiteral("cloudflare_module")
76321
- )
76322
- ])
76323
- );
76324
- const moduleDef = b3.objectProperty(
76325
- b3.identifier("modules"),
76326
- b3.arrayExpression([b3.stringLiteral("nitro-cloudflare-dev")])
76327
- );
76328
- transformFile(configFile, {
76329
- visitCallExpression: function(n) {
76330
- const callee = n.node.callee;
76331
- if (callee.name === "defineNuxtConfig") {
76332
- mergeObjectProperties(
76333
- n.node.arguments[0],
76334
- [presetDef, moduleDef]
76335
- );
76336
- }
76337
- return this.traverse(n);
76338
- }
76339
- });
76340
- s.stop(`${brandColor(`updated`)} ${dim(`\`${configFile}\``)}`);
76341
- };
76342
- var config7 = {
76343
- configVersion: 1,
76344
- id: "nuxt",
76345
- frameworkCli: "nuxi",
76346
- platform: "workers",
76347
- displayName: "Nuxt",
76348
- copyFiles: {
76349
- path: "./templates"
76350
- },
76351
- path: "templates-experimental/nuxt",
76352
- generate: generate6,
76353
- configure: configure4,
76354
- transformPackageJson: async () => ({
76355
- scripts: {
76356
- deploy: `${npm3} run build && wrangler deploy`,
76357
- preview: `${npm3} run build && wrangler dev`,
76358
- "cf-typegen": `wrangler types`
76359
- }
76360
- }),
76361
- devScript: "dev",
76362
- deployScript: "deploy",
76363
- previewScript: "preview"
76364
- };
76365
- var c3_default9 = config7;
76366
-
76367
76084
  // templates-experimental/qwik/c3.ts
76368
- var recast4 = __toESM(require_main3());
76369
- var { npm: npm4, npx: npx2, name } = detectPackageManager();
76370
- var generate7 = async (ctx) => {
76085
+ var recast3 = __toESM(require_main3());
76086
+ var { npm, npx: npx2, name } = detectPackageManager();
76087
+ var generate4 = async (ctx) => {
76371
76088
  await runFrameworkGenerator(ctx, ["playground", ctx.project.name]);
76372
76089
  };
76373
- var configure5 = async (ctx) => {
76374
- const cmd = [name === "pnpm" ? npm4 : npx2, "qwik", "add", "cloudflare-pages"];
76090
+ var configure3 = async (ctx) => {
76091
+ const cmd = [name === "pnpm" ? npm : npx2, "qwik", "add", "cloudflare-pages"];
76375
76092
  endSection(`Running ${quoteShellArgs(cmd)}`);
76376
76093
  await runCommand(cmd);
76377
76094
  removeFile("./public/_headers");
@@ -76387,7 +76104,7 @@ var addBindingsProxy = (ctx) => {
76387
76104
  const s = spinner();
76388
76105
  s.start("Updating `vite.config.ts`");
76389
76106
  const snippets = loadTemplateSnippets(ctx);
76390
- const b3 = recast4.types.builders;
76107
+ const b3 = recast3.types.builders;
76391
76108
  transformFile("vite.config.ts", {
76392
76109
  // Insert the env declaration after the last import (but before the rest of the body)
76393
76110
  visitProgram: function(n) {
@@ -76429,7 +76146,7 @@ var populateCloudflareEnv = () => {
76429
76146
  s.start(`Updating \`${entrypointPath}\``);
76430
76147
  transformFile(entrypointPath, {
76431
76148
  visitTSInterfaceDeclaration: function(n) {
76432
- const b3 = recast4.types.builders;
76149
+ const b3 = recast3.types.builders;
76433
76150
  const id = n.node.id;
76434
76151
  if (id.name !== "QwikCityPlatform") {
76435
76152
  this.traverse(n);
@@ -76450,7 +76167,7 @@ var populateCloudflareEnv = () => {
76450
76167
  });
76451
76168
  s.stop(`${brandColor("updated")} \`${entrypointPath}\``);
76452
76169
  };
76453
- var config8 = {
76170
+ var config5 = {
76454
76171
  configVersion: 1,
76455
76172
  id: "qwik",
76456
76173
  frameworkCli: "create-qwik",
@@ -76460,12 +76177,12 @@ var config8 = {
76460
76177
  path: "./templates"
76461
76178
  },
76462
76179
  path: "templates-experimental/qwik",
76463
- generate: generate7,
76464
- configure: configure5,
76180
+ generate: generate4,
76181
+ configure: configure3,
76465
76182
  transformPackageJson: async () => ({
76466
76183
  scripts: {
76467
- deploy: `${npm4} run build && wrangler deploy`,
76468
- preview: `${npm4} run build && wrangler dev`,
76184
+ deploy: `${npm} run build && wrangler deploy`,
76185
+ preview: `${npm} run build && wrangler dev`,
76469
76186
  "cf-typegen": `wrangler types`
76470
76187
  }
76471
76188
  }),
@@ -76473,11 +76190,11 @@ var config8 = {
76473
76190
  deployScript: "deploy",
76474
76191
  previewScript: "preview"
76475
76192
  };
76476
- var c3_default10 = config8;
76193
+ var c3_default7 = config5;
76477
76194
 
76478
76195
  // templates-experimental/remix/c3.ts
76479
- var { npm: npm5 } = detectPackageManager();
76480
- var generate8 = async (ctx) => {
76196
+ var { npm: npm2 } = detectPackageManager();
76197
+ var generate5 = async (ctx) => {
76481
76198
  await runFrameworkGenerator(ctx, [
76482
76199
  ctx.project.name,
76483
76200
  "--template",
@@ -76485,14 +76202,14 @@ var generate8 = async (ctx) => {
76485
76202
  ]);
76486
76203
  logRaw("");
76487
76204
  };
76488
- var configure6 = async () => {
76205
+ var configure4 = async () => {
76489
76206
  await installPackages(["wrangler@latest"], {
76490
76207
  dev: true,
76491
76208
  startText: "Updating the Wrangler version",
76492
76209
  doneText: `${brandColor(`updated`)} ${dim("wrangler@latest")}`
76493
76210
  });
76494
76211
  };
76495
- var config9 = {
76212
+ var config6 = {
76496
76213
  configVersion: 1,
76497
76214
  id: "remix",
76498
76215
  frameworkCli: "create-remix",
@@ -76502,12 +76219,12 @@ var config9 = {
76502
76219
  path: "./templates"
76503
76220
  },
76504
76221
  path: "templates-experimental/remix",
76505
- generate: generate8,
76506
- configure: configure6,
76222
+ generate: generate5,
76223
+ configure: configure4,
76507
76224
  transformPackageJson: async () => ({
76508
76225
  scripts: {
76509
- deploy: `${npm5} run build && wrangler deploy`,
76510
- preview: `${npm5} run build && wrangler dev`,
76226
+ deploy: `${npm2} run build && wrangler deploy`,
76227
+ preview: `${npm2} run build && wrangler dev`,
76511
76228
  "cf-typegen": `wrangler types`
76512
76229
  }
76513
76230
  }),
@@ -76515,21 +76232,73 @@ var config9 = {
76515
76232
  deployScript: "deploy",
76516
76233
  previewScript: "preview"
76517
76234
  };
76518
- var c3_default11 = config9;
76235
+ var c3_default8 = config6;
76236
+
76237
+ // src/helpers/compatDate.ts
76238
+ var import_fs9 = require("fs");
76239
+ var import_path9 = require("path");
76240
+ async function getWorkerdCompatibilityDate() {
76241
+ const s = spinner();
76242
+ s.start("Retrieving current workerd compatibility date");
76243
+ try {
76244
+ const latestWorkerdVersion = await getLatestPackageVersion("workerd");
76245
+ const match = latestWorkerdVersion.match(/\d+\.(\d{4})(\d{2})(\d{2})\.\d+/);
76246
+ if (match) {
76247
+ const [, year, month, date] = match;
76248
+ let compatDate = /* @__PURE__ */ new Date(`${year}-${month}-${date}`);
76249
+ if (compatDate.getTime() > Date.now()) {
76250
+ compatDate = new Date(Date.now());
76251
+ }
76252
+ const compatDateString = compatDate.toISOString().slice(0, 10);
76253
+ s.stop(`${brandColor("compatibility date")} ${dim(compatDateString)}`);
76254
+ return compatDateString;
76255
+ }
76256
+ } catch {
76257
+ }
76258
+ const fallbackDate = "2024-11-11";
76259
+ s.stop(
76260
+ `${brandColor("compatibility date")} ${dim(
76261
+ ` Could not find workerd date, falling back to ${fallbackDate}`
76262
+ )}`
76263
+ );
76264
+ return fallbackDate;
76265
+ }
76266
+ var compatDateFlag = async () => {
76267
+ const workerdCompatDate = await getWorkerdCompatibilityDate();
76268
+ return `--compatibility-date=${workerdCompatDate}`;
76269
+ };
76270
+ function getLatestTypesEntrypoint(ctx) {
76271
+ const workersTypesPath = (0, import_path9.resolve)(
76272
+ ctx.project.path,
76273
+ "node_modules",
76274
+ "@cloudflare",
76275
+ "workers-types"
76276
+ );
76277
+ try {
76278
+ const entrypoints = (0, import_fs9.readdirSync)(workersTypesPath);
76279
+ const sorted = entrypoints.filter((filename) => filename.match(/(\d{4})-(\d{2})-(\d{2})/)).sort().reverse();
76280
+ if (sorted.length === 0) {
76281
+ return null;
76282
+ }
76283
+ return sorted[0];
76284
+ } catch (error2) {
76285
+ return null;
76286
+ }
76287
+ }
76519
76288
 
76520
76289
  // templates-experimental/solid/c3.ts
76521
- var recast5 = __toESM(require_main3());
76522
- var { npm: npm6 } = detectPackageManager();
76523
- var generate9 = async (ctx) => {
76290
+ var recast4 = __toESM(require_main3());
76291
+ var { npm: npm3 } = detectPackageManager();
76292
+ var generate6 = async (ctx) => {
76524
76293
  await runFrameworkGenerator(ctx, ["-p", ctx.project.name, "-s"]);
76525
76294
  logRaw("");
76526
76295
  };
76527
- var configure7 = async (ctx) => {
76296
+ var configure5 = async (ctx) => {
76528
76297
  const packages = ["nitropack"];
76529
76298
  await installPackages(packages, {
76530
76299
  dev: true,
76531
76300
  startText: "Installing nitro module `nitropack`",
76532
- doneText: `${brandColor("installed")} ${dim(`via \`${npm6} install\``)}`
76301
+ doneText: `${brandColor("installed")} ${dim(`via \`${npm3} install\``)}`
76533
76302
  });
76534
76303
  usesTypescript(ctx);
76535
76304
  const filePath = `app.config.${usesTypescript(ctx) ? "ts" : "js"}`;
@@ -76541,7 +76310,7 @@ var configure7 = async (ctx) => {
76541
76310
  if (callee.name !== "defineConfig") {
76542
76311
  return this.traverse(n);
76543
76312
  }
76544
- const b3 = recast5.types.builders;
76313
+ const b3 = recast4.types.builders;
76545
76314
  mergeObjectProperties(
76546
76315
  n.node.arguments[0],
76547
76316
  [
@@ -76565,7 +76334,7 @@ var configure7 = async (ctx) => {
76565
76334
  }
76566
76335
  });
76567
76336
  };
76568
- var config10 = {
76337
+ var config7 = {
76569
76338
  configVersion: 1,
76570
76339
  id: "solid",
76571
76340
  frameworkCli: "create-solid",
@@ -76575,12 +76344,12 @@ var config10 = {
76575
76344
  path: "./templates"
76576
76345
  },
76577
76346
  path: "templates-experimental/solid",
76578
- generate: generate9,
76579
- configure: configure7,
76347
+ generate: generate6,
76348
+ configure: configure5,
76580
76349
  transformPackageJson: async () => ({
76581
76350
  scripts: {
76582
- preview: `${npm6} run build && npx wrangler dev`,
76583
- deploy: `${npm6} run build && wrangler deploy`
76351
+ preview: `${npm3} run build && npx wrangler dev`,
76352
+ deploy: `${npm3} run build && wrangler deploy`
76584
76353
  }
76585
76354
  }),
76586
76355
  compatibilityFlags: ["nodejs_compat"],
@@ -76588,17 +76357,17 @@ var config10 = {
76588
76357
  deployScript: "deploy",
76589
76358
  previewScript: "preview"
76590
76359
  };
76591
- var c3_default12 = config10;
76360
+ var c3_default9 = config7;
76592
76361
 
76593
76362
  // templates-experimental/svelte/c3.ts
76594
76363
  var import_node_os3 = require("node:os");
76595
- var recast6 = __toESM(require_main3());
76596
- var { npm: npm7 } = detectPackageManager();
76597
- var generate10 = async (ctx) => {
76364
+ var recast5 = __toESM(require_main3());
76365
+ var { npm: npm4 } = detectPackageManager();
76366
+ var generate7 = async (ctx) => {
76598
76367
  await runFrameworkGenerator(ctx, ["create", ctx.project.name]);
76599
76368
  logRaw("");
76600
76369
  };
76601
- var configure8 = async (ctx) => {
76370
+ var configure6 = async (ctx) => {
76602
76371
  const pkg = `@sveltejs/adapter-cloudflare`;
76603
76372
  await installPackages([pkg], {
76604
76373
  dev: true,
@@ -76625,7 +76394,7 @@ var updateTypeDefinitions = (ctx) => {
76625
76394
  return;
76626
76395
  }
76627
76396
  updateStatus(`Updating global type definitions in ${blue("app.d.ts")}`);
76628
- const b3 = recast6.types.builders;
76397
+ const b3 = recast5.types.builders;
76629
76398
  transformFile("src/app.d.ts", {
76630
76399
  visitTSModuleDeclaration(n) {
76631
76400
  if (n.value.id.name === "App" && n.node.body) {
@@ -76657,7 +76426,7 @@ var updateTypeDefinitions = (ctx) => {
76657
76426
  }
76658
76427
  });
76659
76428
  };
76660
- var config11 = {
76429
+ var config8 = {
76661
76430
  configVersion: 1,
76662
76431
  id: "svelte",
76663
76432
  frameworkCli: "sv",
@@ -76667,12 +76436,12 @@ var config11 = {
76667
76436
  path: "./templates"
76668
76437
  },
76669
76438
  path: "templates-experimental/svelte",
76670
- generate: generate10,
76671
- configure: configure8,
76439
+ generate: generate7,
76440
+ configure: configure6,
76672
76441
  transformPackageJson: async (original, ctx) => {
76673
76442
  let scripts = {
76674
- preview: `${npm7} run build && wrangler dev`,
76675
- deploy: `${npm7} run build && wrangler deploy`
76443
+ preview: `${npm4} run build && wrangler dev`,
76444
+ deploy: `${npm4} run build && wrangler deploy`
76676
76445
  };
76677
76446
  if (usesTypescript(ctx)) {
76678
76447
  const mv = (0, import_node_os3.platform)() === "win32" ? "move" : "mv";
@@ -76687,40 +76456,12 @@ var config11 = {
76687
76456
  deployScript: "deploy",
76688
76457
  previewScript: "preview"
76689
76458
  };
76690
- var c3_default13 = config11;
76691
-
76692
- // templates-experimental/vue/c3.ts
76693
- var { npm: npm8 } = detectPackageManager();
76694
- var generate11 = async (ctx) => {
76695
- await runFrameworkGenerator(ctx, [ctx.project.name]);
76696
- };
76697
- var config12 = {
76698
- configVersion: 1,
76699
- id: "vue",
76700
- frameworkCli: "create-vue",
76701
- platform: "workers",
76702
- displayName: "Vue",
76703
- copyFiles: {
76704
- path: "./templates"
76705
- },
76706
- path: "templates-experimental/vue",
76707
- generate: generate11,
76708
- transformPackageJson: async () => ({
76709
- scripts: {
76710
- deploy: `${npm8} run build && wrangler deploy`,
76711
- preview: `${npm8} run build && wrangler dev`
76712
- }
76713
- }),
76714
- devScript: "dev",
76715
- deployScript: "deploy",
76716
- previewScript: "preview"
76717
- };
76718
- var c3_default14 = config12;
76459
+ var c3_default10 = config8;
76719
76460
 
76720
76461
  // templates/analog/c3.ts
76721
- var recast7 = __toESM(require_main3());
76722
- var { npm: npm9, name: pm2 } = detectPackageManager();
76723
- var generate12 = async (ctx) => {
76462
+ var recast6 = __toESM(require_main3());
76463
+ var { npm: npm5, name: pm } = detectPackageManager();
76464
+ var generate8 = async (ctx) => {
76724
76465
  await runFrameworkGenerator(ctx, [
76725
76466
  ctx.project.name,
76726
76467
  "--template",
@@ -76728,8 +76469,8 @@ var generate12 = async (ctx) => {
76728
76469
  ]);
76729
76470
  logRaw("");
76730
76471
  };
76731
- var configure9 = async (ctx) => {
76732
- if (pm2 === "pnpm" || pm2 === "yarn" || pm2 === "bun") {
76472
+ var configure7 = async (ctx) => {
76473
+ if (pm === "pnpm" || pm === "yarn" || pm === "bun") {
76733
76474
  const packages = [];
76734
76475
  packages.push("nitropack");
76735
76476
  packages.push("h3");
@@ -76738,13 +76479,13 @@ var configure9 = async (ctx) => {
76738
76479
  await installPackages(packages, {
76739
76480
  dev: true,
76740
76481
  startText: `Installing ${packages.join(", ")}`,
76741
- doneText: `${brandColor("installed")} ${dim(`via \`${npm9} install\``)}`
76482
+ doneText: `${brandColor("installed")} ${dim(`via \`${npm5} install\``)}`
76742
76483
  });
76743
76484
  }
76744
76485
  updateViteConfig(ctx);
76745
- updateEnvTypes2(ctx);
76486
+ updateEnvTypes(ctx);
76746
76487
  };
76747
- var updateEnvTypes2 = (ctx) => {
76488
+ var updateEnvTypes = (ctx) => {
76748
76489
  const filepath = "env.d.ts";
76749
76490
  const s = spinner();
76750
76491
  s.start(`Updating ${filepath}`);
@@ -76759,7 +76500,7 @@ var updateEnvTypes2 = (ctx) => {
76759
76500
  s.stop(`${brandColor(`updated`)} ${dim(`\`${filepath}\``)}`);
76760
76501
  };
76761
76502
  var updateViteConfig = (ctx) => {
76762
- const b3 = recast7.types.builders;
76503
+ const b3 = recast6.types.builders;
76763
76504
  const s = spinner();
76764
76505
  const configFile = "vite.config.ts";
76765
76506
  s.start(`Updating \`${configFile}\``);
@@ -76796,7 +76537,7 @@ var updateViteConfig = (ctx) => {
76796
76537
  });
76797
76538
  s.stop(`${brandColor(`updated`)} ${dim(`\`${configFile}\``)}`);
76798
76539
  };
76799
- var config13 = {
76540
+ var config9 = {
76800
76541
  configVersion: 1,
76801
76542
  id: "analog",
76802
76543
  frameworkCli: "create-analog",
@@ -76805,12 +76546,12 @@ var config13 = {
76805
76546
  copyFiles: {
76806
76547
  path: "./templates"
76807
76548
  },
76808
- generate: generate12,
76809
- configure: configure9,
76549
+ generate: generate8,
76550
+ configure: configure7,
76810
76551
  transformPackageJson: async () => ({
76811
76552
  scripts: {
76812
- preview: `${npm9} run build && wrangler pages dev`,
76813
- deploy: `${npm9} run build && wrangler pages deploy`,
76553
+ preview: `${npm5} run build && wrangler pages dev`,
76554
+ deploy: `${npm5} run build && wrangler pages deploy`,
76814
76555
  "cf-typegen": `wrangler types`
76815
76556
  }
76816
76557
  }),
@@ -76818,12 +76559,100 @@ var config13 = {
76818
76559
  deployScript: "deploy",
76819
76560
  previewScript: "preview"
76820
76561
  };
76821
- var c3_default15 = config13;
76562
+ var c3_default11 = config9;
76822
76563
 
76823
- // templates/angular/c3.ts
76564
+ // templates/angular/pages/c3.ts
76565
+ var import_node_path3 = require("node:path");
76566
+ var { npm: npm6 } = detectPackageManager();
76567
+ var generate9 = async (ctx) => {
76568
+ await runFrameworkGenerator(ctx, [
76569
+ ctx.project.name,
76570
+ "--ssr",
76571
+ "--server-routing"
76572
+ ]);
76573
+ logRaw("");
76574
+ };
76575
+ var configure8 = async (ctx) => {
76576
+ updateAngularJson(ctx);
76577
+ await updateAppCode();
76578
+ await installCFWorker();
76579
+ };
76580
+ async function installCFWorker() {
76581
+ await installPackages(["xhr2"], {
76582
+ dev: true,
76583
+ startText: "Installing additional dependencies",
76584
+ doneText: `${brandColor("installed")} ${dim(`via \`${npm6} install\``)}`
76585
+ });
76586
+ }
76587
+ async function updateAppCode() {
76588
+ const s = spinner();
76589
+ s.start(`Updating application code`);
76590
+ const appConfigPath = "src/app/app.config.ts";
76591
+ const appConfig = readFile((0, import_node_path3.resolve)(appConfigPath));
76592
+ const newAppConfig = "import { provideHttpClient, withFetch } from '@angular/common/http';\n" + appConfig.replace(
76593
+ "providers: [",
76594
+ "providers: [provideHttpClient(withFetch()), "
76595
+ );
76596
+ writeFile2((0, import_node_path3.resolve)(appConfigPath), newAppConfig);
76597
+ s.stop(`${brandColor(`updated`)} ${dim(appConfigPath)}`);
76598
+ const appServerRoutesPath = "src/app/app.routes.server.ts";
76599
+ const appRoutes = readFile((0, import_node_path3.resolve)(appServerRoutesPath));
76600
+ const newAppRoutes = appRoutes.replace(
76601
+ "RenderMode.Prerender",
76602
+ "RenderMode.Server"
76603
+ );
76604
+ writeFile2((0, import_node_path3.resolve)(appServerRoutesPath), newAppRoutes);
76605
+ s.stop(`${brandColor(`updated`)} ${dim(appServerRoutesPath)}`);
76606
+ s.start(`Updating package.json`);
76607
+ const packageJsonPath = (0, import_node_path3.resolve)("package.json");
76608
+ const packageManifest = readJSON(packageJsonPath);
76609
+ delete packageManifest["dependencies"]?.["express"];
76610
+ delete packageManifest["devDependencies"]?.["@types/express"];
76611
+ writeFile2(packageJsonPath, JSON.stringify(packageManifest, null, 2));
76612
+ s.stop(`${brandColor(`updated`)} ${dim(`\`package.json\``)}`);
76613
+ }
76614
+ function updateAngularJson(ctx) {
76615
+ const s = spinner();
76616
+ s.start(`Updating angular.json config`);
76617
+ const angularJson = readJSON("angular.json");
76618
+ const architectSection = angularJson.projects[ctx.project.name].architect;
76619
+ architectSection.build.options.outputPath = "dist";
76620
+ architectSection.build.options.outputMode = "server";
76621
+ architectSection.build.options.ssr.experimentalPlatform = "neutral";
76622
+ architectSection.build.options.assets.push("src/_routes.json");
76623
+ writeFile2((0, import_node_path3.resolve)("angular.json"), JSON.stringify(angularJson, null, 2));
76624
+ s.stop(`${brandColor(`updated`)} ${dim(`\`angular.json\``)}`);
76625
+ }
76626
+ var config10 = {
76627
+ configVersion: 1,
76628
+ id: "angular",
76629
+ frameworkCli: "@angular/create",
76630
+ displayName: "Angular",
76631
+ platform: "pages",
76632
+ copyFiles: {
76633
+ path: "./templates"
76634
+ },
76635
+ path: "templates/angular/pages",
76636
+ devScript: "start",
76637
+ deployScript: "deploy",
76638
+ previewScript: "start",
76639
+ generate: generate9,
76640
+ configure: configure8,
76641
+ transformPackageJson: async () => ({
76642
+ scripts: {
76643
+ start: `${npm6} run build && wrangler pages dev dist/cloudflare ${await compatDateFlag()}`,
76644
+ build: `ng build && ${npm6} run process`,
76645
+ process: "node ./tools/copy-files.mjs",
76646
+ deploy: `${npm6} run build && wrangler pages deploy dist/cloudflare`
76647
+ }
76648
+ })
76649
+ };
76650
+ var c3_default12 = config10;
76651
+
76652
+ // templates/angular/workers/c3.ts
76824
76653
  var import_node_path4 = require("node:path");
76825
- var { npm: npm10 } = detectPackageManager();
76826
- var generate13 = async (ctx) => {
76654
+ var { npm: npm7 } = detectPackageManager();
76655
+ var generate10 = async (ctx) => {
76827
76656
  await runFrameworkGenerator(ctx, [
76828
76657
  ctx.project.name,
76829
76658
  "--ssr",
@@ -76831,7 +76660,7 @@ var generate13 = async (ctx) => {
76831
76660
  ]);
76832
76661
  logRaw("");
76833
76662
  };
76834
- var configure10 = async (ctx) => {
76663
+ var configure9 = async (ctx) => {
76835
76664
  updateAngularJson2(ctx);
76836
76665
  await updateAppCode2();
76837
76666
  await installCFWorker2();
@@ -76840,7 +76669,7 @@ async function installCFWorker2() {
76840
76669
  await installPackages(["xhr2"], {
76841
76670
  dev: true,
76842
76671
  startText: "Installing additional dependencies",
76843
- doneText: `${brandColor("installed")} ${dim(`via \`${npm10} install\``)}`
76672
+ doneText: `${brandColor("installed")} ${dim(`via \`${npm7} install\``)}`
76844
76673
  });
76845
76674
  }
76846
76675
  async function updateAppCode2() {
@@ -76873,48 +76702,54 @@ async function updateAppCode2() {
76873
76702
  function updateAngularJson2(ctx) {
76874
76703
  const s = spinner();
76875
76704
  s.start(`Updating angular.json config`);
76876
- const angularJson = readJSON("angular.json");
76705
+ const angularJson = readJSON((0, import_node_path4.resolve)("angular.json"));
76877
76706
  const architectSection = angularJson.projects[ctx.project.name].architect;
76878
76707
  architectSection.build.options.outputPath = "dist";
76879
76708
  architectSection.build.options.outputMode = "server";
76880
76709
  architectSection.build.options.ssr.experimentalPlatform = "neutral";
76881
- architectSection.build.options.assets.push("src/_routes.json");
76882
76710
  writeFile2((0, import_node_path4.resolve)("angular.json"), JSON.stringify(angularJson, null, 2));
76883
76711
  s.stop(`${brandColor(`updated`)} ${dim(`\`angular.json\``)}`);
76884
76712
  }
76885
- var config14 = {
76713
+ var config11 = {
76886
76714
  configVersion: 1,
76887
76715
  id: "angular",
76888
76716
  frameworkCli: "@angular/create",
76889
76717
  displayName: "Angular",
76890
- platform: "pages",
76718
+ platform: "workers",
76891
76719
  copyFiles: {
76892
76720
  path: "./templates"
76893
76721
  },
76722
+ path: "templates/angular/workers",
76894
76723
  devScript: "start",
76895
76724
  deployScript: "deploy",
76896
76725
  previewScript: "start",
76897
- generate: generate13,
76898
- configure: configure10,
76726
+ generate: generate10,
76727
+ configure: configure9,
76899
76728
  transformPackageJson: async () => ({
76900
76729
  scripts: {
76901
- start: `${npm10} run build && wrangler pages dev dist/cloudflare ${await compatDateFlag()}`,
76902
- build: `ng build && ${npm10} run process`,
76903
- process: "node ./tools/copy-files.mjs",
76904
- deploy: `${npm10} run build && wrangler pages deploy dist/cloudflare`
76730
+ start: `${npm7} run build && wrangler dev`,
76731
+ build: `ng build`,
76732
+ deploy: `${npm7} run build && wrangler deploy`
76905
76733
  }
76906
76734
  })
76907
76735
  };
76908
- var c3_default16 = config14;
76736
+ var c3_default13 = config11;
76737
+
76738
+ // templates/angular/c3.ts
76739
+ var config12 = {
76740
+ displayName: "Angular",
76741
+ platformVariants: { pages: c3_default12, workers: c3_default13 }
76742
+ };
76743
+ var c3_default14 = config12;
76909
76744
 
76910
76745
  // templates/astro/c3.ts
76911
- var recast8 = __toESM(require_main3());
76746
+ var recast7 = __toESM(require_main3());
76912
76747
  var { npx: npx3 } = detectPackageManager();
76913
- var generate14 = async (ctx) => {
76748
+ var generate11 = async (ctx) => {
76914
76749
  await runFrameworkGenerator(ctx, [ctx.project.name, "--no-install"]);
76915
76750
  logRaw("");
76916
76751
  };
76917
- var configure11 = async () => {
76752
+ var configure10 = async () => {
76918
76753
  await runCommand([npx3, "astro", "add", "cloudflare", "-y"], {
76919
76754
  silent: true,
76920
76755
  startText: "Installing adapter",
@@ -76933,7 +76768,7 @@ var updateAstroConfig2 = () => {
76933
76768
  if (callee.name !== "cloudflare") {
76934
76769
  return this.traverse(n);
76935
76770
  }
76936
- const b3 = recast8.types.builders;
76771
+ const b3 = recast7.types.builders;
76937
76772
  n.node.arguments = [
76938
76773
  b3.objectExpression([
76939
76774
  b3.objectProperty(
@@ -76948,7 +76783,7 @@ var updateAstroConfig2 = () => {
76948
76783
  }
76949
76784
  });
76950
76785
  };
76951
- var config15 = {
76786
+ var config13 = {
76952
76787
  configVersion: 1,
76953
76788
  id: "astro",
76954
76789
  frameworkCli: "create-astro",
@@ -76970,8 +76805,8 @@ var config15 = {
76970
76805
  devScript: "dev",
76971
76806
  deployScript: "deploy",
76972
76807
  previewScript: "preview",
76973
- generate: generate14,
76974
- configure: configure11,
76808
+ generate: generate11,
76809
+ configure: configure10,
76975
76810
  transformPackageJson: async (pkgJson, ctx) => ({
76976
76811
  scripts: {
76977
76812
  deploy: `astro build && wrangler pages deploy`,
@@ -76980,10 +76815,10 @@ var config15 = {
76980
76815
  }
76981
76816
  })
76982
76817
  };
76983
- var c3_default17 = config15;
76818
+ var c3_default15 = config13;
76984
76819
 
76985
76820
  // templates/common/c3.ts
76986
- var c3_default18 = {
76821
+ var c3_default16 = {
76987
76822
  configVersion: 1,
76988
76823
  id: "common",
76989
76824
  displayName: "Example router & proxy Worker",
@@ -77003,36 +76838,36 @@ var c3_default18 = {
77003
76838
  };
77004
76839
 
77005
76840
  // templates/docusaurus/pages/c3.ts
77006
- var { npm: npm11 } = detectPackageManager();
77007
- var generate15 = async (ctx) => {
76841
+ var { npm: npm8 } = detectPackageManager();
76842
+ var generate12 = async (ctx) => {
77008
76843
  await runFrameworkGenerator(ctx, [ctx.project.name, "classic"]);
77009
76844
  };
77010
- var config16 = {
76845
+ var config14 = {
77011
76846
  configVersion: 1,
77012
76847
  id: "docusaurus",
77013
76848
  frameworkCli: "create-docusaurus",
77014
76849
  platform: "pages",
77015
76850
  displayName: "Docusaurus",
77016
76851
  path: "templates/docusaurus/pages",
77017
- generate: generate15,
76852
+ generate: generate12,
77018
76853
  transformPackageJson: async () => ({
77019
76854
  scripts: {
77020
- preview: `${npm11} run build && wrangler pages dev ./build`,
77021
- deploy: `${npm11} run build && wrangler pages deploy ./build`
76855
+ preview: `${npm8} run build && wrangler pages dev ./build`,
76856
+ deploy: `${npm8} run build && wrangler pages deploy ./build`
77022
76857
  }
77023
76858
  }),
77024
76859
  devScript: "preview",
77025
76860
  deployScript: "deploy",
77026
76861
  previewScript: "preview"
77027
76862
  };
77028
- var c3_default19 = config16;
76863
+ var c3_default17 = config14;
77029
76864
 
77030
76865
  // templates/docusaurus/workers/c3.ts
77031
- var { npm: npm12 } = detectPackageManager();
77032
- var generate16 = async (ctx) => {
76866
+ var { npm: npm9 } = detectPackageManager();
76867
+ var generate13 = async (ctx) => {
77033
76868
  await runFrameworkGenerator(ctx, [ctx.project.name, "classic"]);
77034
76869
  };
77035
- var config17 = {
76870
+ var config15 = {
77036
76871
  configVersion: 1,
77037
76872
  id: "docusaurus",
77038
76873
  frameworkCli: "create-docusaurus",
@@ -77042,29 +76877,29 @@ var config17 = {
77042
76877
  path: "./templates"
77043
76878
  },
77044
76879
  path: "templates/docusaurus/workers",
77045
- generate: generate16,
76880
+ generate: generate13,
77046
76881
  transformPackageJson: async () => ({
77047
76882
  scripts: {
77048
- deploy: `${npm12} run build && wrangler deploy`,
77049
- preview: `${npm12} run build && wrangler dev`
76883
+ deploy: `${npm9} run build && wrangler deploy`,
76884
+ preview: `${npm9} run build && wrangler dev`
77050
76885
  }
77051
76886
  }),
77052
76887
  devScript: "start",
77053
76888
  deployScript: "deploy",
77054
76889
  previewScript: "preview"
77055
76890
  };
77056
- var c3_default20 = config17;
76891
+ var c3_default18 = config15;
77057
76892
 
77058
76893
  // templates/docusaurus/c3.ts
77059
- var config18 = {
76894
+ var config16 = {
77060
76895
  displayName: "Docusaurus",
77061
- platformVariants: { pages: c3_default19, workers: c3_default20 }
76896
+ platformVariants: { pages: c3_default17, workers: c3_default18 }
77062
76897
  };
77063
- var c3_default21 = config18;
76898
+ var c3_default19 = config16;
77064
76899
 
77065
- // templates/gatsby/c3.ts
77066
- var { npm: npm13 } = detectPackageManager();
77067
- var generate17 = async (ctx) => {
76900
+ // templates/gatsby/pages/c3.ts
76901
+ var { npm: npm10 } = detectPackageManager();
76902
+ var generate14 = async (ctx) => {
77068
76903
  const defaultTemplate = "https://github.com/gatsbyjs/gatsby-starter-blog";
77069
76904
  const useTemplate = await inputPrompt({
77070
76905
  type: "confirm",
@@ -77083,23 +76918,75 @@ var generate17 = async (ctx) => {
77083
76918
  }
77084
76919
  await runFrameworkGenerator(ctx, ["new", ctx.project.name, templateUrl]);
77085
76920
  };
77086
- var config19 = {
76921
+ var config17 = {
77087
76922
  configVersion: 1,
77088
76923
  id: "gatsby",
77089
76924
  frameworkCli: "gatsby",
77090
76925
  platform: "pages",
77091
76926
  displayName: "Gatsby",
77092
- generate: generate17,
76927
+ path: "templates/gatsby/pages",
76928
+ generate: generate14,
76929
+ transformPackageJson: async () => ({
76930
+ scripts: {
76931
+ deploy: `${npm10} run build && wrangler pages deploy ./public`,
76932
+ preview: `${npm10} run build && wrangler pages dev ./public`
76933
+ }
76934
+ }),
76935
+ devScript: "develop",
76936
+ deployScript: "deploy",
76937
+ previewScript: "preview"
76938
+ };
76939
+ var c3_default20 = config17;
76940
+
76941
+ // templates/gatsby/workers/c3.ts
76942
+ var { npm: npm11 } = detectPackageManager();
76943
+ var generate15 = async (ctx) => {
76944
+ const defaultTemplate = "https://github.com/gatsbyjs/gatsby-starter-blog";
76945
+ const useTemplate = await inputPrompt({
76946
+ type: "confirm",
76947
+ question: "Would you like to use a template?",
76948
+ label: "template",
76949
+ defaultValue: true
76950
+ });
76951
+ let templateUrl = "";
76952
+ if (useTemplate) {
76953
+ templateUrl = await inputPrompt({
76954
+ type: "text",
76955
+ question: `Please specify the url of the template you'd like to use`,
76956
+ label: "template",
76957
+ defaultValue: defaultTemplate
76958
+ });
76959
+ }
76960
+ await runFrameworkGenerator(ctx, ["new", ctx.project.name, templateUrl]);
76961
+ };
76962
+ var config18 = {
76963
+ configVersion: 1,
76964
+ id: "gatsby",
76965
+ frameworkCli: "gatsby",
76966
+ platform: "workers",
76967
+ displayName: "Gatsby",
76968
+ copyFiles: {
76969
+ path: "./templates"
76970
+ },
76971
+ path: "templates/gatsby/workers",
76972
+ generate: generate15,
77093
76973
  transformPackageJson: async () => ({
77094
76974
  scripts: {
77095
- deploy: `${npm13} run build && wrangler pages deploy ./public`,
77096
- preview: `${npm13} run build && wrangler pages dev ./public`
76975
+ deploy: `${npm11} run build && wrangler deploy`,
76976
+ preview: `${npm11} run build && wrangler dev`
77097
76977
  }
77098
76978
  }),
77099
76979
  devScript: "develop",
77100
76980
  deployScript: "deploy",
77101
76981
  previewScript: "preview"
77102
76982
  };
76983
+ var c3_default21 = config18;
76984
+
76985
+ // templates/gatsby/c3.ts
76986
+ var config19 = {
76987
+ displayName: "Gatsby",
76988
+ platformVariants: { pages: c3_default20, workers: c3_default21 }
76989
+ };
77103
76990
  var c3_default22 = config19;
77104
76991
 
77105
76992
  // templates/hello-world-durable-object/c3.ts
@@ -77158,7 +77045,7 @@ var c3_default24 = {
77158
77045
  };
77159
77046
 
77160
77047
  // templates/hono/c3.ts
77161
- var generate18 = async (ctx) => {
77048
+ var generate16 = async (ctx) => {
77162
77049
  const { name: pm4 } = detectPackageManager();
77163
77050
  await runFrameworkGenerator(ctx, [
77164
77051
  ctx.project.name,
@@ -77170,7 +77057,7 @@ var generate18 = async (ctx) => {
77170
77057
  ]);
77171
77058
  logRaw("");
77172
77059
  };
77173
- var configure12 = async (ctx) => {
77060
+ var configure11 = async (ctx) => {
77174
77061
  const indexFile = "src/index.ts";
77175
77062
  const s = spinner();
77176
77063
  s.start(`Updating \`${indexFile}\``);
@@ -77194,8 +77081,8 @@ var config20 = {
77194
77081
  path: "./templates"
77195
77082
  },
77196
77083
  platform: "workers",
77197
- generate: generate18,
77198
- configure: configure12,
77084
+ generate: generate16,
77085
+ configure: configure11,
77199
77086
  transformPackageJson: async () => ({
77200
77087
  scripts: {
77201
77088
  dev: "wrangler dev",
@@ -77211,8 +77098,8 @@ var c3_default25 = config20;
77211
77098
 
77212
77099
  // templates/next/c3.ts
77213
77100
  var import_path10 = require("path");
77214
- var { npm: npm14, npx: npx4 } = detectPackageManager();
77215
- var generate19 = async (ctx) => {
77101
+ var { npm: npm12, npx: npx4 } = detectPackageManager();
77102
+ var generate17 = async (ctx) => {
77216
77103
  const projectName = ctx.project.name;
77217
77104
  await runFrameworkGenerator(ctx, [projectName]);
77218
77105
  const wranglerConfig = readFile((0, import_path10.join)(getTemplatePath(ctx), "wrangler.jsonc"));
@@ -77237,7 +77124,7 @@ var updateNextConfig2 = (usesTs) => {
77237
77124
  writeFile2(configFile, updatedConfigFile);
77238
77125
  s.stop(`${brandColor(`updated`)} ${dim(`\`${configFile}\``)}`);
77239
77126
  };
77240
- var configure13 = async (ctx) => {
77127
+ var configure12 = async (ctx) => {
77241
77128
  const projectPath = ctx.project.path;
77242
77129
  const path6 = probePaths([
77243
77130
  `${projectPath}/pages/api`,
@@ -77318,8 +77205,8 @@ var c3_default26 = {
77318
77205
  frameworkCli: "create-next-app",
77319
77206
  platform: "pages",
77320
77207
  displayName: "Next.js",
77321
- generate: generate19,
77322
- configure: configure13,
77208
+ generate: generate17,
77209
+ configure: configure12,
77323
77210
  copyFiles: {
77324
77211
  async selectVariant(ctx) {
77325
77212
  const isApp = probePaths([
@@ -77350,12 +77237,12 @@ var c3_default26 = {
77350
77237
  }
77351
77238
  },
77352
77239
  transformPackageJson: async (_3, ctx) => {
77353
- const isNpm = npm14 === "npm";
77354
- const isBun = npm14 === "bun";
77240
+ const isNpm = npm12 === "npm";
77241
+ const isBun = npm12 === "bun";
77355
77242
  const isNpmOrBun = isNpm || isBun;
77356
77243
  const nextOnPagesScope = isNpmOrBun ? "@cloudflare/" : "";
77357
77244
  const nextOnPagesCommand = `${nextOnPagesScope}next-on-pages`;
77358
- const pmCommand = isNpmOrBun ? npx4 : npm14;
77245
+ const pmCommand = isNpmOrBun ? npx4 : npm12;
77359
77246
  const pagesBuildRunCommand = `${isNpm ? "npm run" : isBun ? "bun" : pmCommand} pages:build`;
77360
77247
  return {
77361
77248
  scripts: {
@@ -77374,30 +77261,139 @@ var c3_default26 = {
77374
77261
  compatibilityFlags: ["nodejs_compat"]
77375
77262
  };
77376
77263
 
77377
- // templates/nuxt/c3.ts
77264
+ // templates/nuxt/pages/c3.ts
77265
+ var recast8 = __toESM(require_main3());
77266
+ var { npm: npm13, name: pm2 } = detectPackageManager();
77267
+ var generate18 = async (ctx) => {
77268
+ const gitFlag = ctx.args.git ? `--gitInit` : `--no-gitInit`;
77269
+ await runFrameworkGenerator(ctx, [
77270
+ "init",
77271
+ ctx.project.name,
77272
+ "--packageManager",
77273
+ npm13,
77274
+ gitFlag
77275
+ ]);
77276
+ writeFile2("./.node-version", "18");
77277
+ logRaw("");
77278
+ };
77279
+ var configure13 = async (ctx) => {
77280
+ const packages = ["nitro-cloudflare-dev"];
77281
+ if (pm2 === "pnpm") {
77282
+ packages.push("h3");
77283
+ }
77284
+ await installPackages(packages, {
77285
+ dev: true,
77286
+ startText: "Installing nitro module `nitro-cloudflare-dev`",
77287
+ doneText: `${brandColor("installed")} ${dim(`via \`${npm13} install\``)}`
77288
+ });
77289
+ updateNuxtConfig();
77290
+ updateEnvTypes2(ctx);
77291
+ };
77292
+ var updateEnvTypes2 = (ctx) => {
77293
+ const filepath = "env.d.ts";
77294
+ const s = spinner();
77295
+ s.start(`Updating ${filepath}`);
77296
+ let file = readFile(filepath);
77297
+ let typesEntrypoint = `@cloudflare/workers-types`;
77298
+ const latestEntrypoint = getLatestTypesEntrypoint(ctx);
77299
+ if (latestEntrypoint) {
77300
+ typesEntrypoint += `/${latestEntrypoint}`;
77301
+ }
77302
+ file = file.replace("WORKERS_TYPES_ENTRYPOINT", typesEntrypoint);
77303
+ writeFile2("env.d.ts", file);
77304
+ s.stop(`${brandColor(`updated`)} ${dim(`\`${filepath}\``)}`);
77305
+ };
77306
+ var updateNuxtConfig = () => {
77307
+ const s = spinner();
77308
+ const configFile = "nuxt.config.ts";
77309
+ s.start(`Updating \`${configFile}\``);
77310
+ const b3 = recast8.types.builders;
77311
+ const presetDef = b3.objectProperty(
77312
+ b3.identifier("nitro"),
77313
+ b3.objectExpression([
77314
+ b3.objectProperty(
77315
+ b3.identifier("preset"),
77316
+ b3.stringLiteral("cloudflare-pages")
77317
+ ),
77318
+ b3.objectProperty(
77319
+ b3.identifier("cloudflare"),
77320
+ b3.objectExpression([
77321
+ b3.objectProperty(
77322
+ b3.identifier("deployConfig"),
77323
+ b3.booleanLiteral(true)
77324
+ ),
77325
+ b3.objectProperty(b3.identifier("nodeCompat"), b3.booleanLiteral(true))
77326
+ ])
77327
+ )
77328
+ ])
77329
+ );
77330
+ const moduleDef = b3.objectProperty(
77331
+ b3.identifier("modules"),
77332
+ b3.arrayExpression([b3.stringLiteral("nitro-cloudflare-dev")])
77333
+ );
77334
+ transformFile(configFile, {
77335
+ visitCallExpression: function(n) {
77336
+ const callee = n.node.callee;
77337
+ if (callee.name === "defineNuxtConfig") {
77338
+ mergeObjectProperties(
77339
+ n.node.arguments[0],
77340
+ [presetDef, moduleDef]
77341
+ );
77342
+ }
77343
+ return this.traverse(n);
77344
+ }
77345
+ });
77346
+ s.stop(`${brandColor(`updated`)} ${dim(`\`${configFile}\``)}`);
77347
+ };
77348
+ var config21 = {
77349
+ configVersion: 1,
77350
+ id: "nuxt",
77351
+ frameworkCli: "nuxi",
77352
+ platform: "pages",
77353
+ displayName: "Nuxt",
77354
+ copyFiles: {
77355
+ path: "./templates"
77356
+ },
77357
+ path: "templates/nuxt/pages",
77358
+ generate: generate18,
77359
+ configure: configure13,
77360
+ transformPackageJson: async () => ({
77361
+ scripts: {
77362
+ deploy: `${npm13} run build && wrangler pages deploy`,
77363
+ preview: `${npm13} run build && wrangler pages dev`,
77364
+ "cf-typegen": `wrangler types`
77365
+ }
77366
+ }),
77367
+ devScript: "dev",
77368
+ deployScript: "deploy",
77369
+ previewScript: "preview"
77370
+ };
77371
+ var c3_default27 = config21;
77372
+
77373
+ // templates/nuxt/workers/c3.ts
77378
77374
  var recast9 = __toESM(require_main3());
77379
- var { npm: npm15, name: pm3 } = detectPackageManager();
77380
- var generate20 = async (ctx) => {
77375
+ var { npm: npm14, name: pm3 } = detectPackageManager();
77376
+ var generate19 = async (ctx) => {
77381
77377
  const gitFlag = ctx.args.git ? `--gitInit` : `--no-gitInit`;
77382
77378
  await runFrameworkGenerator(ctx, [
77383
77379
  "init",
77384
77380
  ctx.project.name,
77385
77381
  "--packageManager",
77386
- npm15,
77382
+ npm14,
77387
77383
  gitFlag
77388
77384
  ]);
77389
77385
  writeFile2("./.node-version", "18");
77390
77386
  logRaw("");
77391
77387
  };
77392
77388
  var configure14 = async (ctx) => {
77393
- const packages = ["nitro-cloudflare-dev"];
77389
+ const packages = ["nitro-cloudflare-dev", "nitropack"];
77394
77390
  if (pm3 === "pnpm") {
77395
77391
  packages.push("h3");
77396
77392
  }
77397
77393
  await installPackages(packages, {
77398
77394
  dev: true,
77399
77395
  startText: "Installing nitro module `nitro-cloudflare-dev`",
77400
- doneText: `${brandColor("installed")} ${dim(`via \`${npm15} install\``)}`
77396
+ doneText: `${brandColor("installed")} ${dim(`via \`${npm14} install\``)}`
77401
77397
  });
77402
77398
  updateNuxtConfig2();
77403
77399
  updateEnvTypes3(ctx);
@@ -77426,7 +77422,17 @@ var updateNuxtConfig2 = () => {
77426
77422
  b3.objectExpression([
77427
77423
  b3.objectProperty(
77428
77424
  b3.identifier("preset"),
77429
- b3.stringLiteral("cloudflare-pages")
77425
+ b3.stringLiteral("cloudflare_module")
77426
+ ),
77427
+ b3.objectProperty(
77428
+ b3.identifier("cloudflare"),
77429
+ b3.objectExpression([
77430
+ b3.objectProperty(
77431
+ b3.identifier("deployConfig"),
77432
+ b3.booleanLiteral(true)
77433
+ ),
77434
+ b3.objectProperty(b3.identifier("nodeCompat"), b3.booleanLiteral(true))
77435
+ ])
77430
77436
  )
77431
77437
  ])
77432
77438
  );
@@ -77448,21 +77454,22 @@ var updateNuxtConfig2 = () => {
77448
77454
  });
77449
77455
  s.stop(`${brandColor(`updated`)} ${dim(`\`${configFile}\``)}`);
77450
77456
  };
77451
- var config21 = {
77457
+ var config22 = {
77452
77458
  configVersion: 1,
77453
77459
  id: "nuxt",
77454
77460
  frameworkCli: "nuxi",
77455
- platform: "pages",
77461
+ platform: "workers",
77456
77462
  displayName: "Nuxt",
77457
77463
  copyFiles: {
77458
77464
  path: "./templates"
77459
77465
  },
77460
- generate: generate20,
77466
+ path: "templates/nuxt/workers",
77467
+ generate: generate19,
77461
77468
  configure: configure14,
77462
77469
  transformPackageJson: async () => ({
77463
77470
  scripts: {
77464
- deploy: `${npm15} run build && wrangler pages deploy`,
77465
- preview: `${npm15} run build && wrangler pages dev`,
77471
+ deploy: `${npm14} run build && wrangler deploy`,
77472
+ preview: `${npm14} run build && wrangler dev`,
77466
77473
  "cf-typegen": `wrangler types`
77467
77474
  }
77468
77475
  }),
@@ -77470,10 +77477,17 @@ var config21 = {
77470
77477
  deployScript: "deploy",
77471
77478
  previewScript: "preview"
77472
77479
  };
77473
- var c3_default27 = config21;
77480
+ var c3_default28 = config22;
77481
+
77482
+ // templates/nuxt/c3.ts
77483
+ var config23 = {
77484
+ displayName: "Nuxt",
77485
+ platformVariants: { pages: c3_default27, workers: c3_default28 }
77486
+ };
77487
+ var c3_default29 = config23;
77474
77488
 
77475
77489
  // templates/openapi/c3.ts
77476
- var c3_default28 = {
77490
+ var c3_default30 = {
77477
77491
  configVersion: 1,
77478
77492
  id: "openapi",
77479
77493
  displayName: "API starter (OpenAPI compliant)",
@@ -77632,7 +77646,7 @@ async function copyExistingWorkerFiles(ctx) {
77632
77646
  (0, import_path11.join)(ctx.project.path, "wrangler.toml")
77633
77647
  );
77634
77648
  }
77635
- var c3_default29 = {
77649
+ var c3_default31 = {
77636
77650
  configVersion: 1,
77637
77651
  id: "pre-existing",
77638
77652
  displayName: "Pre-existing Worker (from Dashboard)",
@@ -77648,7 +77662,7 @@ var c3_default29 = {
77648
77662
  })
77649
77663
  };
77650
77664
  function buildConfigure(params) {
77651
- return async function configure21(ctx) {
77665
+ return async function configure22(ctx) {
77652
77666
  const loginSuccess = await params.login(ctx);
77653
77667
  if (!loginSuccess) {
77654
77668
  throw new Error("Failed to login to Cloudflare");
@@ -77660,7 +77674,7 @@ function buildConfigure(params) {
77660
77674
  }
77661
77675
 
77662
77676
  // templates/queues/c3.ts
77663
- var c3_default30 = {
77677
+ var c3_default32 = {
77664
77678
  configVersion: 1,
77665
77679
  id: "queues",
77666
77680
  displayName: "Queue consumer & producer Worker",
@@ -77690,12 +77704,12 @@ var c3_default30 = {
77690
77704
 
77691
77705
  // templates/qwik/c3.ts
77692
77706
  var recast10 = __toESM(require_main3());
77693
- var { npm: npm16, npx: npx5, name: name2 } = detectPackageManager();
77694
- var generate21 = async (ctx) => {
77707
+ var { npm: npm15, npx: npx5, name: name2 } = detectPackageManager();
77708
+ var generate20 = async (ctx) => {
77695
77709
  await runFrameworkGenerator(ctx, ["playground", ctx.project.name]);
77696
77710
  };
77697
77711
  var configure15 = async (ctx) => {
77698
- const cmd = [name2 === "pnpm" ? npm16 : npx5, "qwik", "add", "cloudflare-pages"];
77712
+ const cmd = [name2 === "pnpm" ? npm15 : npx5, "qwik", "add", "cloudflare-pages"];
77699
77713
  endSection(`Running ${quoteShellArgs(cmd)}`);
77700
77714
  await runCommand(cmd);
77701
77715
  addBindingsProxy2(ctx);
@@ -77771,7 +77785,7 @@ var populateCloudflareEnv2 = () => {
77771
77785
  });
77772
77786
  s.stop(`${brandColor("updated")} \`${entrypointPath}\``);
77773
77787
  };
77774
- var config22 = {
77788
+ var config24 = {
77775
77789
  configVersion: 1,
77776
77790
  id: "qwik",
77777
77791
  frameworkCli: "create-qwik",
@@ -77780,12 +77794,12 @@ var config22 = {
77780
77794
  copyFiles: {
77781
77795
  path: "./templates"
77782
77796
  },
77783
- generate: generate21,
77797
+ generate: generate20,
77784
77798
  configure: configure15,
77785
77799
  transformPackageJson: async () => ({
77786
77800
  scripts: {
77787
- deploy: `${npm16} run build && wrangler pages deploy`,
77788
- preview: `${npm16} run build && wrangler pages dev`,
77801
+ deploy: `${npm15} run build && wrangler pages deploy`,
77802
+ preview: `${npm15} run build && wrangler pages dev`,
77789
77803
  "cf-typegen": `wrangler types`
77790
77804
  }
77791
77805
  }),
@@ -77793,11 +77807,11 @@ var config22 = {
77793
77807
  deployScript: "deploy",
77794
77808
  previewScript: "preview"
77795
77809
  };
77796
- var c3_default31 = config22;
77810
+ var c3_default33 = config24;
77797
77811
 
77798
77812
  // templates/react/pages/c3.ts
77799
- var { npm: npm17 } = detectPackageManager();
77800
- var generate22 = async (ctx) => {
77813
+ var { npm: npm16 } = detectPackageManager();
77814
+ var generate21 = async (ctx) => {
77801
77815
  const variant = await inputPrompt({
77802
77816
  type: "select",
77803
77817
  question: "Select a variant:",
@@ -77826,7 +77840,7 @@ var variantsOptions = [
77826
77840
  label: "JavaScript + SWC"
77827
77841
  }
77828
77842
  ];
77829
- var config23 = {
77843
+ var config25 = {
77830
77844
  configVersion: 1,
77831
77845
  id: "react",
77832
77846
  // React's documentation now recommends using create-vite.
@@ -77834,26 +77848,26 @@ var config23 = {
77834
77848
  displayName: "React",
77835
77849
  platform: "pages",
77836
77850
  path: "templates/react/pages",
77837
- generate: generate22,
77851
+ generate: generate21,
77838
77852
  transformPackageJson: async () => ({
77839
77853
  scripts: {
77840
- deploy: `${npm17} run build && wrangler pages deploy ./dist`,
77841
- preview: `${npm17} run build && wrangler pages dev ./dist`
77854
+ deploy: `${npm16} run build && wrangler pages deploy ./dist`,
77855
+ preview: `${npm16} run build && wrangler pages dev ./dist`
77842
77856
  }
77843
77857
  }),
77844
77858
  devScript: "dev",
77845
77859
  deployScript: "deploy",
77846
77860
  previewScript: "preview"
77847
77861
  };
77848
- var c3_default32 = config23;
77862
+ var c3_default34 = config25;
77849
77863
 
77850
77864
  // templates/react/workers/c3.ts
77851
77865
  var import_assert2 = __toESM(require("assert"));
77852
77866
  var recast11 = __toESM(require_main3());
77853
77867
  var b2 = recast11.types.builders;
77854
77868
  var t = recast11.types.namedTypes;
77855
- var { npm: npm18 } = detectPackageManager();
77856
- var generate23 = async (ctx) => {
77869
+ var { npm: npm17 } = detectPackageManager();
77870
+ var generate22 = async (ctx) => {
77857
77871
  const variant = await getVariant();
77858
77872
  ctx.args.lang = variant.lang;
77859
77873
  await runFrameworkGenerator(ctx, [
@@ -77894,9 +77908,9 @@ function transformViteConfig(ctx) {
77894
77908
  if (callee.name !== "defineConfig") {
77895
77909
  return this.traverse(n);
77896
77910
  }
77897
- const config30 = n.node.arguments[0];
77898
- (0, import_assert2.default)(t.ObjectExpression.check(config30));
77899
- const pluginsProp = config30.properties.find((prop) => isPluginsProp(prop));
77911
+ const config34 = n.node.arguments[0];
77912
+ (0, import_assert2.default)(t.ObjectExpression.check(config34));
77913
+ const pluginsProp = config34.properties.find((prop) => isPluginsProp(prop));
77900
77914
  (0, import_assert2.default)(pluginsProp && t.ArrayExpression.check(pluginsProp.value));
77901
77915
  pluginsProp.value.elements.push(
77902
77916
  b2.callExpression(b2.identifier("cloudflare"), [])
@@ -77953,7 +77967,7 @@ async function getVariant() {
77953
77967
  (0, import_assert2.default)(selected, "Expected a variant to be selected");
77954
77968
  return selected;
77955
77969
  }
77956
- var config24 = {
77970
+ var config26 = {
77957
77971
  configVersion: 1,
77958
77972
  id: "react",
77959
77973
  frameworkCli: "create-vite",
@@ -77970,12 +77984,12 @@ var config24 = {
77970
77984
  }
77971
77985
  }
77972
77986
  },
77973
- generate: generate23,
77987
+ generate: generate22,
77974
77988
  configure: configure16,
77975
77989
  transformPackageJson: async (_3, ctx) => ({
77976
77990
  scripts: {
77977
- deploy: `${npm18} run build && wrangler deploy`,
77978
- preview: `${npm18} run build && vite preview`,
77991
+ deploy: `${npm17} run build && wrangler deploy`,
77992
+ preview: `${npm17} run build && vite preview`,
77979
77993
  ...usesTypescript(ctx) && { "cf-typegen": `wrangler types` }
77980
77994
  }
77981
77995
  }),
@@ -77983,18 +77997,18 @@ var config24 = {
77983
77997
  deployScript: "deploy",
77984
77998
  previewScript: "preview"
77985
77999
  };
77986
- var c3_default33 = config24;
78000
+ var c3_default35 = config26;
77987
78001
 
77988
78002
  // templates/react/c3.ts
77989
- var config25 = {
78003
+ var config27 = {
77990
78004
  displayName: "React",
77991
- platformVariants: { pages: c3_default32, workers: c3_default33 }
78005
+ platformVariants: { pages: c3_default34, workers: c3_default35 }
77992
78006
  };
77993
- var c3_default34 = config25;
78007
+ var c3_default36 = config27;
77994
78008
 
77995
78009
  // templates/remix/c3.ts
77996
- var { npm: npm19 } = detectPackageManager();
77997
- var generate24 = async (ctx) => {
78010
+ var { npm: npm18 } = detectPackageManager();
78011
+ var generate23 = async (ctx) => {
77998
78012
  await runFrameworkGenerator(ctx, [
77999
78013
  ctx.project.name,
78000
78014
  "--template",
@@ -78017,7 +78031,7 @@ var configure17 = async () => {
78017
78031
  });
78018
78032
  s.stop(`${brandColor("updated")} \`${dim(typeDefsPath)}\``);
78019
78033
  };
78020
- var config26 = {
78034
+ var config28 = {
78021
78035
  configVersion: 1,
78022
78036
  id: "remix",
78023
78037
  frameworkCli: "create-remix",
@@ -78026,12 +78040,12 @@ var config26 = {
78026
78040
  copyFiles: {
78027
78041
  path: "./templates"
78028
78042
  },
78029
- generate: generate24,
78043
+ generate: generate23,
78030
78044
  configure: configure17,
78031
78045
  transformPackageJson: async () => ({
78032
78046
  scripts: {
78033
- deploy: `${npm19} run build && wrangler pages deploy`,
78034
- preview: `${npm19} run build && wrangler pages dev`,
78047
+ deploy: `${npm18} run build && wrangler pages deploy`,
78048
+ preview: `${npm18} run build && wrangler pages dev`,
78035
78049
  "cf-typegen": `wrangler types`
78036
78050
  }
78037
78051
  }),
@@ -78039,10 +78053,10 @@ var config26 = {
78039
78053
  deployScript: "deploy",
78040
78054
  previewScript: "preview"
78041
78055
  };
78042
- var c3_default35 = config26;
78056
+ var c3_default37 = config28;
78043
78057
 
78044
78058
  // templates/scheduled/c3.ts
78045
- var c3_default36 = {
78059
+ var c3_default38 = {
78046
78060
  configVersion: 1,
78047
78061
  id: "scheduled",
78048
78062
  displayName: "Scheduled Worker (Cron Trigger)",
@@ -78062,8 +78076,8 @@ var c3_default36 = {
78062
78076
 
78063
78077
  // templates/solid/c3.ts
78064
78078
  var recast12 = __toESM(require_main3());
78065
- var { npm: npm20 } = detectPackageManager();
78066
- var generate25 = async (ctx) => {
78079
+ var { npm: npm19 } = detectPackageManager();
78080
+ var generate24 = async (ctx) => {
78067
78081
  await runFrameworkGenerator(ctx, ["-p", ctx.project.name, "-s"]);
78068
78082
  logRaw("");
78069
78083
  };
@@ -78105,7 +78119,7 @@ var configure18 = async (ctx) => {
78105
78119
  }
78106
78120
  });
78107
78121
  };
78108
- var config27 = {
78122
+ var config29 = {
78109
78123
  configVersion: 1,
78110
78124
  id: "solid",
78111
78125
  frameworkCli: "create-solid",
@@ -78114,12 +78128,12 @@ var config27 = {
78114
78128
  copyFiles: {
78115
78129
  path: "./templates"
78116
78130
  },
78117
- generate: generate25,
78131
+ generate: generate24,
78118
78132
  configure: configure18,
78119
78133
  transformPackageJson: async () => ({
78120
78134
  scripts: {
78121
- preview: `${npm20} run build && npx wrangler pages dev`,
78122
- deploy: `${npm20} run build && wrangler pages deploy`
78135
+ preview: `${npm19} run build && npx wrangler pages dev`,
78136
+ deploy: `${npm19} run build && wrangler pages deploy`
78123
78137
  }
78124
78138
  }),
78125
78139
  compatibilityFlags: ["nodejs_compat"],
@@ -78127,14 +78141,14 @@ var config27 = {
78127
78141
  deployScript: "deploy",
78128
78142
  previewScript: "preview"
78129
78143
  };
78130
- var c3_default37 = config27;
78144
+ var c3_default39 = config29;
78131
78145
 
78132
78146
  // templates/svelte/c3.ts
78133
78147
  var import_node_fs3 = require("node:fs");
78134
78148
  var import_node_os4 = require("node:os");
78135
78149
  var recast13 = __toESM(require_main3());
78136
- var { npm: npm21 } = detectPackageManager();
78137
- var generate26 = async (ctx) => {
78150
+ var { npm: npm20 } = detectPackageManager();
78151
+ var generate25 = async (ctx) => {
78138
78152
  await runFrameworkGenerator(ctx, ["create", ctx.project.name]);
78139
78153
  logRaw("");
78140
78154
  };
@@ -78220,7 +78234,7 @@ var updateTypeDefinitions2 = (ctx) => {
78220
78234
  }
78221
78235
  });
78222
78236
  };
78223
- var config28 = {
78237
+ var config30 = {
78224
78238
  configVersion: 1,
78225
78239
  id: "svelte",
78226
78240
  frameworkCli: "sv",
@@ -78229,12 +78243,12 @@ var config28 = {
78229
78243
  copyFiles: {
78230
78244
  path: "./templates"
78231
78245
  },
78232
- generate: generate26,
78246
+ generate: generate25,
78233
78247
  configure: configure19,
78234
78248
  transformPackageJson: async (original, ctx) => {
78235
78249
  let scripts = {
78236
- preview: `${npm21} run build && wrangler pages dev`,
78237
- deploy: `${npm21} run build && wrangler pages deploy`
78250
+ preview: `${npm20} run build && wrangler pages dev`,
78251
+ deploy: `${npm20} run build && wrangler pages deploy`
78238
78252
  };
78239
78253
  if (usesTypescript(ctx)) {
78240
78254
  const mv = (0, import_node_os4.platform)() === "win32" ? "move" : "mv";
@@ -78249,37 +78263,120 @@ var config28 = {
78249
78263
  deployScript: "deploy",
78250
78264
  previewScript: "preview"
78251
78265
  };
78252
- var c3_default38 = config28;
78266
+ var c3_default40 = config30;
78253
78267
 
78254
- // templates/vue/c3.ts
78255
- var { npm: npm22 } = detectPackageManager();
78256
- var generate27 = async (ctx) => {
78268
+ // templates/vue/pages/c3.ts
78269
+ var { npm: npm21 } = detectPackageManager();
78270
+ var generate26 = async (ctx) => {
78257
78271
  await runFrameworkGenerator(ctx, [ctx.project.name]);
78258
78272
  };
78259
- var config29 = {
78273
+ var config31 = {
78260
78274
  configVersion: 1,
78261
78275
  id: "vue",
78262
78276
  frameworkCli: "create-vue",
78263
78277
  displayName: "Vue",
78264
78278
  platform: "pages",
78265
- generate: generate27,
78279
+ path: "templates/pages/vue",
78280
+ generate: generate26,
78266
78281
  transformPackageJson: async () => ({
78267
78282
  scripts: {
78268
- deploy: `${npm22} run build && wrangler pages deploy ./dist`,
78269
- preview: `${npm22} run build && wrangler pages dev ./dist`
78283
+ deploy: `${npm21} run build && wrangler pages deploy ./dist`,
78284
+ preview: `${npm21} run build && wrangler pages dev ./dist`
78270
78285
  }
78271
78286
  }),
78272
78287
  devScript: "dev",
78273
78288
  deployScript: "deploy",
78274
78289
  previewScript: "preview"
78275
78290
  };
78276
- var c3_default39 = config29;
78291
+ var c3_default41 = config31;
78292
+
78293
+ // templates/vue/workers/c3.ts
78294
+ var { npm: npm22 } = detectPackageManager();
78295
+ var generate27 = async (ctx) => {
78296
+ const lang = ctx.args.lang ?? await inputPrompt({
78297
+ type: "select",
78298
+ question: "Would you like to use TypeScript?",
78299
+ label: "Language",
78300
+ options: [
78301
+ { label: "TypeScript", value: "ts" },
78302
+ { label: "JavaScript", value: "js" }
78303
+ ]
78304
+ });
78305
+ await runFrameworkGenerator(ctx, [
78306
+ ctx.project.name,
78307
+ "--router",
78308
+ lang === "ts" ? "--ts" : ""
78309
+ ]);
78310
+ logRaw("");
78311
+ };
78312
+ var configure20 = async (ctx) => {
78313
+ await installPackages(["@cloudflare/vite-plugin"], {
78314
+ dev: true,
78315
+ startText: "Installing the Cloudflare Vite plugin",
78316
+ doneText: `${brandColor(`installed`)} ${dim("@cloudflare/vite-plugin")}`
78317
+ });
78318
+ if (usesTypescript(ctx)) {
78319
+ updateTsconfigJson2();
78320
+ }
78321
+ };
78322
+ function updateTsconfigJson2() {
78323
+ const s = spinner();
78324
+ s.start(`Updating tsconfig.json config`);
78325
+ const tsconfig = readJSON("tsconfig.json");
78326
+ if (tsconfig && typeof tsconfig === "object") {
78327
+ tsconfig.references ??= [];
78328
+ tsconfig.references.push({ path: "./tsconfig.worker.json" });
78329
+ }
78330
+ writeJSON("tsconfig.json", tsconfig);
78331
+ s.stop(`${brandColor(`updated`)} ${dim(`\`tsconfig.json\``)}`);
78332
+ }
78333
+ var config32 = {
78334
+ configVersion: 1,
78335
+ id: "vue",
78336
+ frameworkCli: "create-vue",
78337
+ platform: "workers",
78338
+ displayName: "Vue",
78339
+ path: "templates/vue/workers",
78340
+ copyFiles: {
78341
+ async selectVariant(ctx) {
78342
+ return usesTypescript(ctx) ? "ts" : "js";
78343
+ },
78344
+ variants: {
78345
+ ts: {
78346
+ path: "./ts"
78347
+ },
78348
+ js: {
78349
+ path: "./js"
78350
+ }
78351
+ }
78352
+ },
78353
+ configure: configure20,
78354
+ generate: generate27,
78355
+ transformPackageJson: async (_3, ctx) => ({
78356
+ scripts: {
78357
+ deploy: `${npm22} run build && wrangler deploy`,
78358
+ preview: `${npm22} run build && wrangler dev`,
78359
+ ...usesTypescript(ctx) && { "cf-typegen": `wrangler types` }
78360
+ }
78361
+ }),
78362
+ devScript: "dev",
78363
+ deployScript: "deploy",
78364
+ previewScript: "preview"
78365
+ };
78366
+ var c3_default42 = config32;
78367
+
78368
+ // templates/vue/c3.ts
78369
+ var config33 = {
78370
+ displayName: "Vue",
78371
+ platformVariants: { pages: c3_default41, workers: c3_default42 }
78372
+ };
78373
+ var c3_default43 = config33;
78277
78374
 
78278
78375
  // src/git.ts
78279
78376
  var import_node_assert = __toESM(require("node:assert"));
78280
78377
 
78281
78378
  // ../wrangler/package.json
78282
- var version2 = "3.113.0";
78379
+ var version2 = "3.114.1";
78283
78380
 
78284
78381
  // src/git.ts
78285
78382
  var offerGit = async (ctx) => {
@@ -78540,53 +78637,49 @@ var defaultSelectVariant = async (ctx) => {
78540
78637
  function getFrameworkMap({ experimental = false }) {
78541
78638
  if (experimental) {
78542
78639
  return {
78543
- angular: c3_default,
78544
- astro: c3_default2,
78545
- gatsby: c3_default3,
78546
- hono: c3_default7,
78547
- next: c3_default8,
78548
- nuxt: c3_default9,
78549
- qwik: c3_default10,
78550
- remix: c3_default11,
78551
- solid: c3_default12,
78552
- svelte: c3_default13,
78553
- vue: c3_default14
78640
+ astro: c3_default,
78641
+ hono: c3_default5,
78642
+ next: c3_default6,
78643
+ qwik: c3_default7,
78644
+ remix: c3_default8,
78645
+ solid: c3_default9,
78646
+ svelte: c3_default10
78554
78647
  };
78555
78648
  } else {
78556
78649
  return {
78557
- analog: c3_default15,
78558
- angular: c3_default16,
78559
- astro: c3_default17,
78560
- docusaurus: c3_default21,
78650
+ analog: c3_default11,
78651
+ angular: c3_default14,
78652
+ astro: c3_default15,
78653
+ docusaurus: c3_default19,
78561
78654
  gatsby: c3_default22,
78562
78655
  hono: c3_default25,
78563
78656
  next: c3_default26,
78564
- nuxt: c3_default27,
78565
- qwik: c3_default31,
78566
- react: c3_default34,
78567
- remix: c3_default35,
78568
- solid: c3_default37,
78569
- svelte: c3_default38,
78570
- vue: c3_default39
78657
+ nuxt: c3_default29,
78658
+ qwik: c3_default33,
78659
+ react: c3_default36,
78660
+ remix: c3_default37,
78661
+ solid: c3_default39,
78662
+ svelte: c3_default40,
78663
+ vue: c3_default43
78571
78664
  };
78572
78665
  }
78573
78666
  }
78574
78667
  function getTemplateMap({ experimental = false }) {
78575
78668
  if (experimental) {
78576
78669
  return {
78577
- "hello-world-assets-only": c3_default4,
78578
- "hello-world-with-assets": c3_default6,
78579
- "hello-world-durable-object-with-assets": c3_default5
78670
+ "hello-world-assets-only": c3_default2,
78671
+ "hello-world-with-assets": c3_default4,
78672
+ "hello-world-durable-object-with-assets": c3_default3
78580
78673
  };
78581
78674
  } else {
78582
78675
  return {
78583
78676
  "hello-world": c3_default24,
78584
- common: c3_default18,
78585
- scheduled: c3_default36,
78586
- queues: c3_default30,
78677
+ common: c3_default16,
78678
+ scheduled: c3_default38,
78679
+ queues: c3_default32,
78587
78680
  "hello-world-durable-object": c3_default23,
78588
- openapi: c3_default28,
78589
- "pre-existing": c3_default29
78681
+ openapi: c3_default30,
78682
+ "pre-existing": c3_default31
78590
78683
  };
78591
78684
  }
78592
78685
  }
@@ -78734,8 +78827,8 @@ var createContext = async (args, prevArgs) => {
78734
78827
  experimental: args.experimental
78735
78828
  });
78736
78829
  const frameworkOptions = Object.entries(frameworkMap).map(
78737
- ([key, config30]) => ({
78738
- label: config30.displayName,
78830
+ ([key, config34]) => ({
78831
+ label: config34.displayName,
78739
78832
  value: key
78740
78833
  })
78741
78834
  );
@@ -78902,28 +78995,28 @@ var processRemoteTemplate = async (args) => {
78902
78995
  src = src.replace("https://github.com/", "github:").replace("/tree/main/", "/");
78903
78996
  }
78904
78997
  const path6 = await downloadRemoteTemplate(src);
78905
- const config30 = inferTemplateConfig(path6);
78906
- validateTemplate(path6, config30);
78998
+ const config34 = inferTemplateConfig(path6);
78999
+ validateTemplate(path6, config34);
78907
79000
  updateStatus(`${brandColor("template")} ${dim("cloned and validated")}`);
78908
79001
  return {
78909
79002
  path: path6,
78910
- ...config30
79003
+ ...config34
78911
79004
  };
78912
79005
  };
78913
- var validateTemplate = (path6, config30) => {
78914
- if (!config30.copyFiles) {
79006
+ var validateTemplate = (path6, config34) => {
79007
+ if (!config34.copyFiles) {
78915
79008
  return;
78916
79009
  }
78917
- if (isVariantInfo(config30.copyFiles)) {
78918
- validateTemplateSrcDirectory((0, import_path13.resolve)(path6, config30.copyFiles.path), config30);
79010
+ if (isVariantInfo(config34.copyFiles)) {
79011
+ validateTemplateSrcDirectory((0, import_path13.resolve)(path6, config34.copyFiles.path), config34);
78919
79012
  } else {
78920
- for (const variant of Object.values(config30.copyFiles.variants)) {
78921
- validateTemplateSrcDirectory((0, import_path13.resolve)(path6, variant.path), config30);
79013
+ for (const variant of Object.values(config34.copyFiles.variants)) {
79014
+ validateTemplateSrcDirectory((0, import_path13.resolve)(path6, variant.path), config34);
78922
79015
  }
78923
79016
  }
78924
79017
  };
78925
- var validateTemplateSrcDirectory = (path6, config30) => {
78926
- if (config30.platform === "workers") {
79018
+ var validateTemplateSrcDirectory = (path6, config34) => {
79019
+ if (config34.platform === "workers") {
78927
79020
  const wranglerTomlPath = (0, import_path13.resolve)(path6, "wrangler.toml");
78928
79021
  const wranglerJsonPath = (0, import_path13.resolve)(path6, "wrangler.json");
78929
79022
  const wranglerJsoncPath = (0, import_path13.resolve)(path6, "wrangler.jsonc");
@@ -79032,13 +79125,19 @@ var addWranglerToGitIgnore = (ctx) => {
79032
79125
  writeFile2(gitIgnorePath, "");
79033
79126
  }
79034
79127
  const existingGitIgnoreContent = readFile(gitIgnorePath);
79035
- const wranglerGitIgnoreFiles = [".wrangler", ".dev.vars"];
79036
- const wranglerGitIgnoreFilesToAdd = wranglerGitIgnoreFiles.filter(
79037
- (file) => !existingGitIgnoreContent.match(
79038
- new RegExp(`
79039
- ${file}${file === ".wrangler" ? "/?" : ""}\\s+(#'*)?`)
79040
- )
79128
+ const wranglerGitIgnoreFilesToAdd = [];
79129
+ const hasDotWrangler = existingGitIgnoreContent.match(
79130
+ /^\/?\.wrangler(\/|\s|$)/m
79041
79131
  );
79132
+ if (!hasDotWrangler) {
79133
+ wranglerGitIgnoreFilesToAdd.push(".wrangler");
79134
+ }
79135
+ const hasDotDevDotVars = existingGitIgnoreContent.match(
79136
+ /^\/?\.dev\.vars(\.?\*)?(\s|$)/m
79137
+ );
79138
+ if (!hasDotDevDotVars) {
79139
+ wranglerGitIgnoreFilesToAdd.push(".dev.vars*");
79140
+ }
79042
79141
  if (wranglerGitIgnoreFilesToAdd.length === 0) {
79043
79142
  return;
79044
79143
  }
@@ -79048,7 +79147,7 @@ ${file}${file === ".wrangler" ? "/?" : ""}\\s+(#'*)?`)
79048
79147
  "",
79049
79148
  ...!existingGitIgnoreContent.match(/\n\s*$/) ? [""] : []
79050
79149
  ];
79051
- if (wranglerGitIgnoreFilesToAdd.length === wranglerGitIgnoreFiles.length) {
79150
+ if (wranglerGitIgnoreFilesToAdd.length > 1) {
79052
79151
  linesToAppend.push("# wrangler files");
79053
79152
  }
79054
79153
  wranglerGitIgnoreFilesToAdd.forEach((line) => linesToAppend.push(line));
@@ -80820,20 +80919,20 @@ function applyEdits(text, edits) {
80820
80919
  var import_fs12 = require("fs");
80821
80920
  var import_path14 = require("path");
80822
80921
  var import_toml2 = __toESM(require_toml());
80823
- function ensureNameExists(config30, projectName) {
80824
- config30["name"] = projectName;
80825
- return config30;
80922
+ function ensureNameExists(config34, projectName) {
80923
+ config34["name"] = projectName;
80924
+ return config34;
80826
80925
  }
80827
- async function ensureCompatDateExists(config30) {
80828
- if (typeof config30["compatibility_date"] === "string") {
80926
+ async function ensureCompatDateExists(config34) {
80927
+ if (typeof config34["compatibility_date"] === "string") {
80829
80928
  const validCompatDateRe = /^\d{4}-\d{2}-\d{2}/m;
80830
- if (!config30["compatibility_date"].match(validCompatDateRe)) {
80831
- config30["compatibility_date"] = await getWorkerdCompatibilityDate();
80929
+ if (!config34["compatibility_date"].match(validCompatDateRe)) {
80930
+ config34["compatibility_date"] = await getWorkerdCompatibilityDate();
80832
80931
  }
80833
80932
  } else {
80834
- config30["compatibility_date"] = await getWorkerdCompatibilityDate();
80933
+ config34["compatibility_date"] = await getWorkerdCompatibilityDate();
80835
80934
  }
80836
- return config30;
80935
+ return config34;
80837
80936
  }
80838
80937
  var updateWranglerConfig = async (ctx) => {
80839
80938
  if (wranglerJsonExists(ctx)) {
@@ -81547,8 +81646,8 @@ var renderValues = (values) => {
81547
81646
  };
81548
81647
 
81549
81648
  // src/helpers/retry.ts
81550
- var retry = async (config30, fn) => {
81551
- let { times } = config30;
81649
+ var retry = async (config34, fn) => {
81650
+ let { times } = config34;
81552
81651
  let error2 = null;
81553
81652
  while (times > 0) {
81554
81653
  try {
@@ -81556,10 +81655,10 @@ var retry = async (config30, fn) => {
81556
81655
  } catch (e) {
81557
81656
  error2 = e;
81558
81657
  times--;
81559
- if (config30.exitCondition?.(e)) {
81658
+ if (config34.exitCondition?.(e)) {
81560
81659
  break;
81561
81660
  }
81562
- await sleep(config30.sleepMs ?? 1e3);
81661
+ await sleep(config34.sleepMs ?? 1e3);
81563
81662
  }
81564
81663
  }
81565
81664
  throw error2;
@@ -81679,8 +81778,8 @@ async function addWorkersTypesToTsConfig(ctx) {
81679
81778
  }
81680
81779
  const typesEntrypoint = `@cloudflare/workers-types/${entrypointVersion}`;
81681
81780
  try {
81682
- const config30 = parse4(tsconfig);
81683
- const currentTypes = config30.compilerOptions?.types ?? [];
81781
+ const config34 = parse4(tsconfig);
81782
+ const currentTypes = config34.compilerOptions?.types ?? [];
81684
81783
  const explicitEntrypoint = currentTypes.some(
81685
81784
  (t2) => t2.match(/@cloudflare\/workers-types\/\d{4}-\d{2}-\d{2}/)
81686
81785
  );
@@ -81755,7 +81854,7 @@ var runCli = async (args) => {
81755
81854
  printBanner(args);
81756
81855
  const ctx = await createContext(args);
81757
81856
  await create(ctx);
81758
- await configure20(ctx);
81857
+ await configure21(ctx);
81759
81858
  await deploy(ctx);
81760
81859
  printSummary(ctx);
81761
81860
  logRaw("");
@@ -81783,7 +81882,7 @@ var create = async (ctx) => {
81783
81882
  await rectifyPmMismatch(ctx);
81784
81883
  endSection(`Application created`);
81785
81884
  };
81786
- var configure20 = async (ctx) => {
81885
+ var configure21 = async (ctx) => {
81787
81886
  startSection("Configuring your application for Cloudflare", "Step 2 of 3");
81788
81887
  await installWrangler();
81789
81888
  await installWorkersTypes(ctx);