create-vue 3.10.3 → 3.11.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 (81) hide show
  1. package/LICENSE +0 -29
  2. package/README.md +15 -6
  3. package/locales/tr-TR.json +1 -1
  4. package/outfile.cjs +457 -1073
  5. package/package.json +14 -15
  6. package/template/base/node_modules/.bin/tsc +17 -0
  7. package/template/base/node_modules/.bin/tsserver +17 -0
  8. package/template/base/node_modules/.bin/vite +2 -2
  9. package/template/base/package.json +3 -3
  10. package/template/base/vite.config.js.ejs +1 -1
  11. package/template/code/default/src/components/HelloWorld.vue +1 -1
  12. package/template/code/default/src/components/TheWelcome.vue +1 -1
  13. package/template/code/router/src/components/HelloWorld.vue +1 -1
  14. package/template/code/router/src/components/TheWelcome.vue +1 -1
  15. package/template/code/typescript-default/src/components/HelloWorld.vue +1 -1
  16. package/template/code/typescript-default/src/components/TheWelcome.vue +1 -1
  17. package/template/code/typescript-router/src/components/HelloWorld.vue +1 -1
  18. package/template/code/typescript-router/src/components/TheWelcome.vue +1 -1
  19. package/template/config/cypress/node_modules/.bin/cypress +2 -2
  20. package/template/config/cypress/node_modules/.bin/server-test +2 -2
  21. package/template/config/cypress/node_modules/.bin/start-server-and-test +2 -2
  22. package/template/config/cypress/node_modules/.bin/start-test +2 -2
  23. package/template/config/cypress/package.json +2 -2
  24. package/template/config/cypress-ct/node_modules/.bin/cypress +2 -2
  25. package/template/config/cypress-ct/node_modules/.bin/tsc +17 -0
  26. package/template/config/cypress-ct/node_modules/.bin/tsserver +17 -0
  27. package/template/config/cypress-ct/package.json +2 -2
  28. package/template/config/devtools/node_modules/.bin/rollup +17 -0
  29. package/template/config/devtools/node_modules/.bin/tsc +17 -0
  30. package/template/config/devtools/node_modules/.bin/tsserver +17 -0
  31. package/template/config/devtools/node_modules/.bin/vite +4 -4
  32. package/template/config/devtools/package.json +1 -1
  33. package/template/config/devtools/vite.config.js.data.mjs +2 -2
  34. package/template/config/jsx/node_modules/.bin/browserslist +4 -4
  35. package/template/config/jsx/node_modules/.bin/tsc +17 -0
  36. package/template/config/jsx/node_modules/.bin/tsserver +17 -0
  37. package/template/config/jsx/node_modules/.bin/vite +2 -2
  38. package/template/config/jsx/package.json +3 -3
  39. package/template/config/nightwatch/node_modules/.bin/chromedriver +2 -2
  40. package/template/config/nightwatch/node_modules/.bin/geckodriver +2 -2
  41. package/template/config/nightwatch/node_modules/.bin/nightwatch +2 -2
  42. package/template/config/nightwatch/node_modules/.bin/ts-node +2 -2
  43. package/template/config/nightwatch/node_modules/.bin/ts-node-cwd +2 -2
  44. package/template/config/nightwatch/node_modules/.bin/ts-node-esm +2 -2
  45. package/template/config/nightwatch/node_modules/.bin/ts-node-script +2 -2
  46. package/template/config/nightwatch/node_modules/.bin/ts-node-transpile-only +2 -2
  47. package/template/config/nightwatch/node_modules/.bin/ts-script +2 -2
  48. package/template/config/nightwatch/node_modules/.bin/tsc +4 -4
  49. package/template/config/nightwatch/node_modules/.bin/tsserver +4 -4
  50. package/template/config/nightwatch/node_modules/.bin/vite +4 -4
  51. package/template/config/nightwatch/package.json +6 -5
  52. package/template/config/nightwatch-ct/node_modules/.bin/tsc +17 -0
  53. package/template/config/nightwatch-ct/node_modules/.bin/tsserver +17 -0
  54. package/template/config/nightwatch-ct/package.json +2 -2
  55. package/template/config/pinia/node_modules/.bin/tsc +17 -0
  56. package/template/config/pinia/node_modules/.bin/tsserver +17 -0
  57. package/template/config/pinia/package.json +2 -2
  58. package/template/config/playwright/node_modules/.bin/playwright +2 -2
  59. package/template/config/playwright/package.json +1 -1
  60. package/template/config/playwright/playwright.config.js +3 -3
  61. package/template/config/router/node_modules/.bin/tsc +17 -0
  62. package/template/config/router/node_modules/.bin/tsserver +17 -0
  63. package/template/config/router/package.json +2 -2
  64. package/template/config/typescript/node_modules/.bin/npm-run-all +2 -2
  65. package/template/config/typescript/node_modules/.bin/npm-run-all2 +2 -2
  66. package/template/config/typescript/node_modules/.bin/run-p +2 -2
  67. package/template/config/typescript/node_modules/.bin/run-s +2 -2
  68. package/template/config/typescript/node_modules/.bin/tsc +2 -2
  69. package/template/config/typescript/node_modules/.bin/tsserver +2 -2
  70. package/template/config/typescript/node_modules/.bin/vue-tsc +2 -2
  71. package/template/config/typescript/package.json +4 -4
  72. package/template/config/vitest/.vscode/extensions.json +3 -0
  73. package/template/config/vitest/node_modules/.bin/tsc +17 -0
  74. package/template/config/vitest/node_modules/.bin/tsserver +17 -0
  75. package/template/config/vitest/node_modules/.bin/vitest +2 -2
  76. package/template/config/vitest/package.json +4 -4
  77. package/template/eslint/package.json +3 -2
  78. package/template/tsconfig/cypress/cypress/e2e/tsconfig.json +0 -2
  79. package/template/tsconfig/vitest/package.json +1 -1
  80. package/template/config/devtools/node_modules/.bin/browserslist +0 -17
  81. package/template/config/nightwatch/node_modules/.bin/browserslist +0 -17
package/outfile.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- /*! create-vue v3.10.3 | MIT */
2
+ /*! create-vue v3.11.0 | MIT */
3
3
  var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -9,10 +9,6 @@ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __commonJS = (cb, mod) => function __require() {
10
10
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
11
  };
12
- var __export = (target, all) => {
13
- for (var name in all)
14
- __defProp(target, name, { get: all[name], enumerable: true });
15
- };
16
12
  var __copyProps = (to, from, except, desc) => {
17
13
  if (from && typeof from === "object" || typeof from === "function") {
18
14
  for (let key of __getOwnPropNames(from))
@@ -32,7 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
32
28
 
33
29
  // node_modules/.pnpm/kleur@3.0.3/node_modules/kleur/index.js
34
30
  var require_kleur = __commonJS({
35
- "node_modules/.pnpm/kleur@3.0.3/node_modules/kleur/index.js"(exports, module2) {
31
+ "node_modules/.pnpm/kleur@3.0.3/node_modules/kleur/index.js"(exports2, module2) {
36
32
  "use strict";
37
33
  var { FORCE_COLOR, NODE_DISABLE_COLORS, TERM } = process.env;
38
34
  var $ = {
@@ -129,59 +125,36 @@ var require_kleur = __commonJS({
129
125
 
130
126
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/action.js
131
127
  var require_action = __commonJS({
132
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/action.js"(exports, module2) {
128
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/action.js"(exports2, module2) {
133
129
  "use strict";
134
130
  module2.exports = (key, isSelect) => {
135
- if (key.meta && key.name !== "escape")
136
- return;
131
+ if (key.meta && key.name !== "escape") return;
137
132
  if (key.ctrl) {
138
- if (key.name === "a")
139
- return "first";
140
- if (key.name === "c")
141
- return "abort";
142
- if (key.name === "d")
143
- return "abort";
144
- if (key.name === "e")
145
- return "last";
146
- if (key.name === "g")
147
- return "reset";
133
+ if (key.name === "a") return "first";
134
+ if (key.name === "c") return "abort";
135
+ if (key.name === "d") return "abort";
136
+ if (key.name === "e") return "last";
137
+ if (key.name === "g") return "reset";
148
138
  }
149
139
  if (isSelect) {
150
- if (key.name === "j")
151
- return "down";
152
- if (key.name === "k")
153
- return "up";
154
- }
155
- if (key.name === "return")
156
- return "submit";
157
- if (key.name === "enter")
158
- return "submit";
159
- if (key.name === "backspace")
160
- return "delete";
161
- if (key.name === "delete")
162
- return "deleteForward";
163
- if (key.name === "abort")
164
- return "abort";
165
- if (key.name === "escape")
166
- return "exit";
167
- if (key.name === "tab")
168
- return "next";
169
- if (key.name === "pagedown")
170
- return "nextPage";
171
- if (key.name === "pageup")
172
- return "prevPage";
173
- if (key.name === "home")
174
- return "home";
175
- if (key.name === "end")
176
- return "end";
177
- if (key.name === "up")
178
- return "up";
179
- if (key.name === "down")
180
- return "down";
181
- if (key.name === "right")
182
- return "right";
183
- if (key.name === "left")
184
- return "left";
140
+ if (key.name === "j") return "down";
141
+ if (key.name === "k") return "up";
142
+ }
143
+ if (key.name === "return") return "submit";
144
+ if (key.name === "enter") return "submit";
145
+ if (key.name === "backspace") return "delete";
146
+ if (key.name === "delete") return "deleteForward";
147
+ if (key.name === "abort") return "abort";
148
+ if (key.name === "escape") return "exit";
149
+ if (key.name === "tab") return "next";
150
+ if (key.name === "pagedown") return "nextPage";
151
+ if (key.name === "pageup") return "prevPage";
152
+ if (key.name === "home") return "home";
153
+ if (key.name === "end") return "end";
154
+ if (key.name === "up") return "up";
155
+ if (key.name === "down") return "down";
156
+ if (key.name === "right") return "right";
157
+ if (key.name === "left") return "left";
185
158
  return false;
186
159
  };
187
160
  }
@@ -189,7 +162,7 @@ var require_action = __commonJS({
189
162
 
190
163
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/strip.js
191
164
  var require_strip = __commonJS({
192
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/strip.js"(exports, module2) {
165
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/strip.js"(exports2, module2) {
193
166
  "use strict";
194
167
  module2.exports = (str) => {
195
168
  const pattern = [
@@ -204,27 +177,22 @@ var require_strip = __commonJS({
204
177
 
205
178
  // node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js
206
179
  var require_src = __commonJS({
207
- "node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js"(exports, module2) {
180
+ "node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js"(exports2, module2) {
208
181
  "use strict";
209
182
  var ESC = "\x1B";
210
183
  var CSI = `${ESC}[`;
211
184
  var beep = "\x07";
212
185
  var cursor = {
213
186
  to(x, y) {
214
- if (!y)
215
- return `${CSI}${x + 1}G`;
187
+ if (!y) return `${CSI}${x + 1}G`;
216
188
  return `${CSI}${y + 1};${x + 1}H`;
217
189
  },
218
190
  move(x, y) {
219
191
  let ret = "";
220
- if (x < 0)
221
- ret += `${CSI}${-x}D`;
222
- else if (x > 0)
223
- ret += `${CSI}${x}C`;
224
- if (y < 0)
225
- ret += `${CSI}${-y}A`;
226
- else if (y > 0)
227
- ret += `${CSI}${y}B`;
192
+ if (x < 0) ret += `${CSI}${-x}D`;
193
+ else if (x > 0) ret += `${CSI}${x}C`;
194
+ if (y < 0) ret += `${CSI}${-y}A`;
195
+ else if (y > 0) ret += `${CSI}${y}B`;
228
196
  return ret;
229
197
  },
230
198
  up: (count = 1) => `${CSI}${count}A`,
@@ -265,14 +233,13 @@ var require_src = __commonJS({
265
233
 
266
234
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/clear.js
267
235
  var require_clear = __commonJS({
268
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/clear.js"(exports, module2) {
236
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/clear.js"(exports2, module2) {
269
237
  "use strict";
270
238
  var strip = require_strip();
271
239
  var { erase, cursor } = require_src();
272
240
  var width = (str) => [...strip(str)].length;
273
241
  module2.exports = function(prompt, perLine) {
274
- if (!perLine)
275
- return erase.line + cursor.to(0);
242
+ if (!perLine) return erase.line + cursor.to(0);
276
243
  let rows = 0;
277
244
  const lines = prompt.split(/\r?\n/);
278
245
  for (let line of lines) {
@@ -285,7 +252,7 @@ var require_clear = __commonJS({
285
252
 
286
253
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/figures.js
287
254
  var require_figures = __commonJS({
288
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/figures.js"(exports, module2) {
255
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/figures.js"(exports2, module2) {
289
256
  "use strict";
290
257
  var main = {
291
258
  arrowUp: "\u2191",
@@ -322,7 +289,7 @@ var require_figures = __commonJS({
322
289
 
323
290
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/style.js
324
291
  var require_style = __commonJS({
325
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/style.js"(exports, module2) {
292
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/style.js"(exports2, module2) {
326
293
  "use strict";
327
294
  var c = require_kleur();
328
295
  var figures = require_figures();
@@ -355,13 +322,12 @@ var require_style = __commonJS({
355
322
 
356
323
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/lines.js
357
324
  var require_lines = __commonJS({
358
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/lines.js"(exports, module2) {
325
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/lines.js"(exports2, module2) {
359
326
  "use strict";
360
327
  var strip = require_strip();
361
328
  module2.exports = function(msg, perLine) {
362
329
  let lines = String(strip(msg) || "").split(/\r?\n/);
363
- if (!perLine)
364
- return lines.length;
330
+ if (!perLine) return lines.length;
365
331
  return lines.map((l) => Math.ceil(l.length / perLine)).reduce((a, b) => a + b);
366
332
  };
367
333
  }
@@ -369,7 +335,7 @@ var require_lines = __commonJS({
369
335
 
370
336
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/wrap.js
371
337
  var require_wrap = __commonJS({
372
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/wrap.js"(exports, module2) {
338
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/wrap.js"(exports2, module2) {
373
339
  "use strict";
374
340
  module2.exports = (msg, opts = {}) => {
375
341
  const tab = Number.isSafeInteger(parseInt(opts.margin)) ? new Array(parseInt(opts.margin)).fill(" ").join("") : opts.margin || "";
@@ -377,8 +343,7 @@ var require_wrap = __commonJS({
377
343
  return (msg || "").split(/\r?\n/g).map((line) => line.split(/\s+/g).reduce((arr, w) => {
378
344
  if (w.length + tab.length >= width || arr[arr.length - 1].length + w.length + 1 < width)
379
345
  arr[arr.length - 1] += ` ${w}`;
380
- else
381
- arr.push(`${tab}${w}`);
346
+ else arr.push(`${tab}${w}`);
382
347
  return arr;
383
348
  }, [tab]).join("\n")).join("\n");
384
349
  };
@@ -387,13 +352,12 @@ var require_wrap = __commonJS({
387
352
 
388
353
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/entriesToDisplay.js
389
354
  var require_entriesToDisplay = __commonJS({
390
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/entriesToDisplay.js"(exports, module2) {
355
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/entriesToDisplay.js"(exports2, module2) {
391
356
  "use strict";
392
357
  module2.exports = (cursor, total, maxVisible) => {
393
358
  maxVisible = maxVisible || total;
394
359
  let startIndex = Math.min(total - maxVisible, cursor - Math.floor(maxVisible / 2));
395
- if (startIndex < 0)
396
- startIndex = 0;
360
+ if (startIndex < 0) startIndex = 0;
397
361
  let endIndex = Math.min(startIndex + maxVisible, total);
398
362
  return { startIndex, endIndex };
399
363
  };
@@ -402,7 +366,7 @@ var require_entriesToDisplay = __commonJS({
402
366
 
403
367
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/index.js
404
368
  var require_util = __commonJS({
405
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/index.js"(exports, module2) {
369
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/util/index.js"(exports2, module2) {
406
370
  "use strict";
407
371
  module2.exports = {
408
372
  action: require_action(),
@@ -419,7 +383,7 @@ var require_util = __commonJS({
419
383
 
420
384
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/prompt.js
421
385
  var require_prompt = __commonJS({
422
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/prompt.js"(exports, module2) {
386
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/prompt.js"(exports2, module2) {
423
387
  "use strict";
424
388
  var readline = require("readline");
425
389
  var { action } = require_util();
@@ -435,8 +399,7 @@ var require_prompt = __commonJS({
435
399
  this.onRender = (opts.onRender || (() => void 0)).bind(this);
436
400
  const rl = readline.createInterface({ input: this.in, escapeCodeTimeout: 50 });
437
401
  readline.emitKeypressEvents(this.in, rl);
438
- if (this.in.isTTY)
439
- this.in.setRawMode(true);
402
+ if (this.in.isTTY) this.in.setRawMode(true);
440
403
  const isSelect = ["SelectPrompt", "MultiselectPrompt"].indexOf(this.constructor.name) > -1;
441
404
  const keypress = (str, key) => {
442
405
  let a = action(key, isSelect);
@@ -451,8 +414,7 @@ var require_prompt = __commonJS({
451
414
  this.close = () => {
452
415
  this.out.write(cursor.show);
453
416
  this.in.removeListener("keypress", keypress);
454
- if (this.in.isTTY)
455
- this.in.setRawMode(false);
417
+ if (this.in.isTTY) this.in.setRawMode(false);
456
418
  rl.close();
457
419
  this.emit(this.aborted ? "abort" : this.exited ? "exit" : "submit", this.value);
458
420
  this.closed = true;
@@ -471,8 +433,7 @@ var require_prompt = __commonJS({
471
433
  }
472
434
  render() {
473
435
  this.onRender(color);
474
- if (this.firstRender)
475
- this.firstRender = false;
436
+ if (this.firstRender) this.firstRender = false;
476
437
  }
477
438
  };
478
439
  module2.exports = Prompt;
@@ -481,7 +442,7 @@ var require_prompt = __commonJS({
481
442
 
482
443
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/text.js
483
444
  var require_text = __commonJS({
484
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/text.js"(exports, module2) {
445
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/text.js"(exports2, module2) {
485
446
  var color = require_kleur();
486
447
  var Prompt = require_prompt();
487
448
  var { erase, cursor } = require_src();
@@ -562,16 +523,14 @@ var require_text = __commonJS({
562
523
  this.close();
563
524
  }
564
525
  next() {
565
- if (!this.placeholder)
566
- return this.bell();
526
+ if (!this.placeholder) return this.bell();
567
527
  this.value = this.initial;
568
528
  this.cursor = this.rendered.length;
569
529
  this.fire();
570
530
  this.render();
571
531
  }
572
532
  moveCursor(n) {
573
- if (this.placeholder)
574
- return;
533
+ if (this.placeholder) return;
575
534
  this.cursor = this.cursor + n;
576
535
  this.cursorOffset += n;
577
536
  }
@@ -584,8 +543,7 @@ var require_text = __commonJS({
584
543
  this.render();
585
544
  }
586
545
  delete() {
587
- if (this.isCursorAtStart())
588
- return this.bell();
546
+ if (this.isCursorAtStart()) return this.bell();
589
547
  let s1 = this.value.slice(0, this.cursor - 1);
590
548
  let s2 = this.value.slice(this.cursor);
591
549
  this.value = `${s1}${s2}`;
@@ -599,8 +557,7 @@ var require_text = __commonJS({
599
557
  this.render();
600
558
  }
601
559
  deleteForward() {
602
- if (this.cursor * this.scale >= this.rendered.length || this.placeholder)
603
- return this.bell();
560
+ if (this.cursor * this.scale >= this.rendered.length || this.placeholder) return this.bell();
604
561
  let s1 = this.value.slice(0, this.cursor);
605
562
  let s2 = this.value.slice(this.cursor + 1);
606
563
  this.value = `${s1}${s2}`;
@@ -621,14 +578,12 @@ var require_text = __commonJS({
621
578
  this.render();
622
579
  }
623
580
  left() {
624
- if (this.cursor <= 0 || this.placeholder)
625
- return this.bell();
581
+ if (this.cursor <= 0 || this.placeholder) return this.bell();
626
582
  this.moveCursor(-1);
627
583
  this.render();
628
584
  }
629
585
  right() {
630
- if (this.cursor * this.scale >= this.rendered.length || this.placeholder)
631
- return this.bell();
586
+ if (this.cursor * this.scale >= this.rendered.length || this.placeholder) return this.bell();
632
587
  this.moveCursor(1);
633
588
  this.render();
634
589
  }
@@ -639,8 +594,7 @@ var require_text = __commonJS({
639
594
  return this.cursor === this.rendered.length || this.placeholder && this.cursor === this.rendered.length + 1;
640
595
  }
641
596
  render() {
642
- if (this.closed)
643
- return;
597
+ if (this.closed) return;
644
598
  if (!this.firstRender) {
645
599
  if (this.outputError)
646
600
  this.out.write(cursor.down(lines(this.outputError, this.out.columns) - 1) + clear(this.outputError, this.out.columns));
@@ -668,7 +622,7 @@ ${i ? " " : figures.pointerSmall} ${color.red().italic(l)}`, ``);
668
622
 
669
623
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/select.js
670
624
  var require_select = __commonJS({
671
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/select.js"(exports, module2) {
625
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/select.js"(exports2, module2) {
672
626
  "use strict";
673
627
  var color = require_kleur();
674
628
  var Prompt = require_prompt();
@@ -757,19 +711,15 @@ var require_select = __commonJS({
757
711
  this.render();
758
712
  }
759
713
  _(c, key) {
760
- if (c === " ")
761
- return this.submit();
714
+ if (c === " ") return this.submit();
762
715
  }
763
716
  get selection() {
764
717
  return this.choices[this.cursor];
765
718
  }
766
719
  render() {
767
- if (this.closed)
768
- return;
769
- if (this.firstRender)
770
- this.out.write(cursor.hide);
771
- else
772
- this.out.write(clear(this.outputText, this.out.columns));
720
+ if (this.closed) return;
721
+ if (this.firstRender) this.out.write(cursor.hide);
722
+ else this.out.write(clear(this.outputText, this.out.columns));
773
723
  super.render();
774
724
  let { startIndex, endIndex } = entriesToDisplay(this.cursor, this.choices.length, this.optionsPerPage);
775
725
  this.outputText = [
@@ -815,7 +765,7 @@ var require_select = __commonJS({
815
765
 
816
766
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/toggle.js
817
767
  var require_toggle = __commonJS({
818
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/toggle.js"(exports, module2) {
768
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/toggle.js"(exports2, module2) {
819
769
  var color = require_kleur();
820
770
  var Prompt = require_prompt();
821
771
  var { style, clear } = require_util();
@@ -854,14 +804,12 @@ var require_toggle = __commonJS({
854
804
  this.close();
855
805
  }
856
806
  deactivate() {
857
- if (this.value === false)
858
- return this.bell();
807
+ if (this.value === false) return this.bell();
859
808
  this.value = false;
860
809
  this.render();
861
810
  }
862
811
  activate() {
863
- if (this.value === true)
864
- return this.bell();
812
+ if (this.value === true) return this.bell();
865
813
  this.value = true;
866
814
  this.render();
867
815
  }
@@ -892,17 +840,13 @@ var require_toggle = __commonJS({
892
840
  this.value = true;
893
841
  } else if (c === "0") {
894
842
  this.value = false;
895
- } else
896
- return this.bell();
843
+ } else return this.bell();
897
844
  this.render();
898
845
  }
899
846
  render() {
900
- if (this.closed)
901
- return;
902
- if (this.firstRender)
903
- this.out.write(cursor.hide);
904
- else
905
- this.out.write(clear(this.outputText, this.out.columns));
847
+ if (this.closed) return;
848
+ if (this.firstRender) this.out.write(cursor.hide);
849
+ else this.out.write(clear(this.outputText, this.out.columns));
906
850
  super.render();
907
851
  this.outputText = [
908
852
  style.symbol(this.done, this.aborted),
@@ -921,7 +865,7 @@ var require_toggle = __commonJS({
921
865
 
922
866
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/datepart.js
923
867
  var require_datepart = __commonJS({
924
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/datepart.js"(exports, module2) {
868
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/datepart.js"(exports2, module2) {
925
869
  "use strict";
926
870
  var DatePart = class _DatePart {
927
871
  constructor({ token, date, parts, locales }) {
@@ -955,7 +899,7 @@ var require_datepart = __commonJS({
955
899
 
956
900
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/meridiem.js
957
901
  var require_meridiem = __commonJS({
958
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/meridiem.js"(exports, module2) {
902
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/meridiem.js"(exports2, module2) {
959
903
  "use strict";
960
904
  var DatePart = require_datepart();
961
905
  var Meridiem = class extends DatePart {
@@ -979,7 +923,7 @@ var require_meridiem = __commonJS({
979
923
 
980
924
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/day.js
981
925
  var require_day = __commonJS({
982
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/day.js"(exports, module2) {
926
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/day.js"(exports2, module2) {
983
927
  "use strict";
984
928
  var DatePart = require_datepart();
985
929
  var pos = (n) => {
@@ -1011,7 +955,7 @@ var require_day = __commonJS({
1011
955
 
1012
956
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/hours.js
1013
957
  var require_hours = __commonJS({
1014
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/hours.js"(exports, module2) {
958
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/hours.js"(exports2, module2) {
1015
959
  "use strict";
1016
960
  var DatePart = require_datepart();
1017
961
  var Hours = class extends DatePart {
@@ -1040,7 +984,7 @@ var require_hours = __commonJS({
1040
984
 
1041
985
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/milliseconds.js
1042
986
  var require_milliseconds = __commonJS({
1043
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/milliseconds.js"(exports, module2) {
987
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/milliseconds.js"(exports2, module2) {
1044
988
  "use strict";
1045
989
  var DatePart = require_datepart();
1046
990
  var Milliseconds = class extends DatePart {
@@ -1066,7 +1010,7 @@ var require_milliseconds = __commonJS({
1066
1010
 
1067
1011
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/minutes.js
1068
1012
  var require_minutes = __commonJS({
1069
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/minutes.js"(exports, module2) {
1013
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/minutes.js"(exports2, module2) {
1070
1014
  "use strict";
1071
1015
  var DatePart = require_datepart();
1072
1016
  var Minutes = class extends DatePart {
@@ -1093,7 +1037,7 @@ var require_minutes = __commonJS({
1093
1037
 
1094
1038
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/month.js
1095
1039
  var require_month = __commonJS({
1096
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/month.js"(exports, module2) {
1040
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/month.js"(exports2, module2) {
1097
1041
  "use strict";
1098
1042
  var DatePart = require_datepart();
1099
1043
  var Month = class extends DatePart {
@@ -1122,7 +1066,7 @@ var require_month = __commonJS({
1122
1066
 
1123
1067
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/seconds.js
1124
1068
  var require_seconds = __commonJS({
1125
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/seconds.js"(exports, module2) {
1069
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/seconds.js"(exports2, module2) {
1126
1070
  "use strict";
1127
1071
  var DatePart = require_datepart();
1128
1072
  var Seconds = class extends DatePart {
@@ -1149,7 +1093,7 @@ var require_seconds = __commonJS({
1149
1093
 
1150
1094
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/year.js
1151
1095
  var require_year = __commonJS({
1152
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/year.js"(exports, module2) {
1096
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/year.js"(exports2, module2) {
1153
1097
  "use strict";
1154
1098
  var DatePart = require_datepart();
1155
1099
  var Year = class extends DatePart {
@@ -1176,7 +1120,7 @@ var require_year = __commonJS({
1176
1120
 
1177
1121
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/index.js
1178
1122
  var require_dateparts = __commonJS({
1179
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/index.js"(exports, module2) {
1123
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/dateparts/index.js"(exports2, module2) {
1180
1124
  "use strict";
1181
1125
  module2.exports = {
1182
1126
  DatePart: require_datepart(),
@@ -1194,7 +1138,7 @@ var require_dateparts = __commonJS({
1194
1138
 
1195
1139
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/date.js
1196
1140
  var require_date = __commonJS({
1197
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/date.js"(exports, module2) {
1141
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/date.js"(exports2, module2) {
1198
1142
  "use strict";
1199
1143
  var color = require_kleur();
1200
1144
  var Prompt = require_prompt();
@@ -1248,8 +1192,7 @@ var require_date = __commonJS({
1248
1192
  return this._date;
1249
1193
  }
1250
1194
  set date(date) {
1251
- if (date)
1252
- this._date.setTime(date.getTime());
1195
+ if (date) this._date.setTime(date.getTime());
1253
1196
  }
1254
1197
  set mask(mask) {
1255
1198
  let result;
@@ -1262,8 +1205,7 @@ var require_date = __commonJS({
1262
1205
  let parts = this.parts.reduce((arr, i) => {
1263
1206
  if (typeof i === "string" && typeof arr[arr.length - 1] === "string")
1264
1207
  arr[arr.length - 1] += i;
1265
- else
1266
- arr.push(i);
1208
+ else arr.push(i);
1267
1209
  return arr;
1268
1210
  }, []);
1269
1211
  this.parts.splice(0);
@@ -1326,15 +1268,13 @@ var require_date = __commonJS({
1326
1268
  }
1327
1269
  left() {
1328
1270
  let prev = this.parts[this.cursor].prev();
1329
- if (prev == null)
1330
- return this.bell();
1271
+ if (prev == null) return this.bell();
1331
1272
  this.moveCursor(this.parts.indexOf(prev));
1332
1273
  this.render();
1333
1274
  }
1334
1275
  right() {
1335
1276
  let next = this.parts[this.cursor].next();
1336
- if (next == null)
1337
- return this.bell();
1277
+ if (next == null) return this.bell();
1338
1278
  this.moveCursor(this.parts.indexOf(next));
1339
1279
  this.render();
1340
1280
  }
@@ -1351,12 +1291,9 @@ var require_date = __commonJS({
1351
1291
  }
1352
1292
  }
1353
1293
  render() {
1354
- if (this.closed)
1355
- return;
1356
- if (this.firstRender)
1357
- this.out.write(cursor.hide);
1358
- else
1359
- this.out.write(clear(this.outputText, this.out.columns));
1294
+ if (this.closed) return;
1295
+ if (this.firstRender) this.out.write(cursor.hide);
1296
+ else this.out.write(clear(this.outputText, this.out.columns));
1360
1297
  super.render();
1361
1298
  this.outputText = [
1362
1299
  style.symbol(this.done, this.aborted),
@@ -1380,7 +1317,7 @@ ${i ? ` ` : figures.pointerSmall} ${color.red().italic(l)}`,
1380
1317
 
1381
1318
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/number.js
1382
1319
  var require_number = __commonJS({
1383
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/number.js"(exports, module2) {
1320
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/number.js"(exports2, module2) {
1384
1321
  var color = require_kleur();
1385
1322
  var Prompt = require_prompt();
1386
1323
  var { cursor, erase } = require_src();
@@ -1483,8 +1420,7 @@ var require_number = __commonJS({
1483
1420
  if (this.value === "") {
1484
1421
  this.value = this.min - this.inc;
1485
1422
  }
1486
- if (this.value >= this.max)
1487
- return this.bell();
1423
+ if (this.value >= this.max) return this.bell();
1488
1424
  this.value += this.inc;
1489
1425
  this.color = `cyan`;
1490
1426
  this.fire();
@@ -1495,8 +1431,7 @@ var require_number = __commonJS({
1495
1431
  if (this.value === "") {
1496
1432
  this.value = this.min + this.inc;
1497
1433
  }
1498
- if (this.value <= this.min)
1499
- return this.bell();
1434
+ if (this.value <= this.min) return this.bell();
1500
1435
  this.value -= this.inc;
1501
1436
  this.color = `cyan`;
1502
1437
  this.fire();
@@ -1504,8 +1439,7 @@ var require_number = __commonJS({
1504
1439
  }
1505
1440
  delete() {
1506
1441
  let val = this.value.toString();
1507
- if (val.length === 0)
1508
- return this.bell();
1442
+ if (val.length === 0) return this.bell();
1509
1443
  this.value = this.parse(val = val.slice(0, -1)) || ``;
1510
1444
  if (this.value !== "" && this.value < this.min) {
1511
1445
  this.value = this.min;
@@ -1520,27 +1454,21 @@ var require_number = __commonJS({
1520
1454
  this.render();
1521
1455
  }
1522
1456
  _(c, key) {
1523
- if (!this.valid(c))
1524
- return this.bell();
1457
+ if (!this.valid(c)) return this.bell();
1525
1458
  const now = Date.now();
1526
- if (now - this.lastHit > 1e3)
1527
- this.typed = ``;
1459
+ if (now - this.lastHit > 1e3) this.typed = ``;
1528
1460
  this.typed += c;
1529
1461
  this.lastHit = now;
1530
1462
  this.color = `cyan`;
1531
- if (c === `.`)
1532
- return this.fire();
1463
+ if (c === `.`) return this.fire();
1533
1464
  this.value = Math.min(this.parse(this.typed), this.max);
1534
- if (this.value > this.max)
1535
- this.value = this.max;
1536
- if (this.value < this.min)
1537
- this.value = this.min;
1465
+ if (this.value > this.max) this.value = this.max;
1466
+ if (this.value < this.min) this.value = this.min;
1538
1467
  this.fire();
1539
1468
  this.render();
1540
1469
  }
1541
1470
  render() {
1542
- if (this.closed)
1543
- return;
1471
+ if (this.closed) return;
1544
1472
  if (!this.firstRender) {
1545
1473
  if (this.outputError)
1546
1474
  this.out.write(cursor.down(lines(this.outputError, this.out.columns) - 1) + clear(this.outputError, this.out.columns));
@@ -1568,7 +1496,7 @@ ${i ? ` ` : figures.pointerSmall} ${color.red().italic(l)}`, ``);
1568
1496
 
1569
1497
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/multiselect.js
1570
1498
  var require_multiselect = __commonJS({
1571
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/multiselect.js"(exports, module2) {
1499
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/multiselect.js"(exports2, module2) {
1572
1500
  "use strict";
1573
1501
  var color = require_kleur();
1574
1502
  var { cursor } = require_src();
@@ -1669,8 +1597,7 @@ var require_multiselect = __commonJS({
1669
1597
  this.render();
1670
1598
  }
1671
1599
  right() {
1672
- if (this.value.filter((e) => e.selected).length >= this.maxChoices)
1673
- return this.bell();
1600
+ if (this.value.filter((e) => e.selected).length >= this.maxChoices) return this.bell();
1674
1601
  this.value[this.cursor].selected = true;
1675
1602
  this.render();
1676
1603
  }
@@ -1770,10 +1697,8 @@ Instructions:
1770
1697
  return output.join(" ");
1771
1698
  }
1772
1699
  render() {
1773
- if (this.closed)
1774
- return;
1775
- if (this.firstRender)
1776
- this.out.write(cursor.hide);
1700
+ if (this.closed) return;
1701
+ if (this.firstRender) this.out.write(cursor.hide);
1777
1702
  super.render();
1778
1703
  let prompt = [
1779
1704
  style.symbol(this.done, this.aborted),
@@ -1796,7 +1721,7 @@ Instructions:
1796
1721
 
1797
1722
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/autocomplete.js
1798
1723
  var require_autocomplete = __commonJS({
1799
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/autocomplete.js"(exports, module2) {
1724
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/autocomplete.js"(exports2, module2) {
1800
1725
  "use strict";
1801
1726
  var color = require_kleur();
1802
1727
  var Prompt = require_prompt();
@@ -1846,15 +1771,13 @@ var require_autocomplete = __commonJS({
1846
1771
  this.select = i;
1847
1772
  if (this.suggestions.length > 0)
1848
1773
  this.value = getVal(this.suggestions, i);
1849
- else
1850
- this.value = this.fallback.value;
1774
+ else this.value = this.fallback.value;
1851
1775
  this.fire();
1852
1776
  }
1853
1777
  async complete(cb) {
1854
1778
  const p = this.completing = this.suggest(this.input, this.choices);
1855
1779
  const suggestions = await p;
1856
- if (this.completing !== p)
1857
- return;
1780
+ if (this.completing !== p) return;
1858
1781
  this.suggestions = suggestions.map((s, i, arr) => ({ title: getTitle(arr, i), value: getVal(arr, i), description: s.description }));
1859
1782
  this.completing = false;
1860
1783
  const l = Math.max(suggestions.length - 1, 0);
@@ -1906,8 +1829,7 @@ var require_autocomplete = __commonJS({
1906
1829
  this.render();
1907
1830
  }
1908
1831
  delete() {
1909
- if (this.cursor === 0)
1910
- return this.bell();
1832
+ if (this.cursor === 0) return this.bell();
1911
1833
  let s1 = this.input.slice(0, this.cursor - 1);
1912
1834
  let s2 = this.input.slice(this.cursor);
1913
1835
  this.input = `${s1}${s2}`;
@@ -1916,8 +1838,7 @@ var require_autocomplete = __commonJS({
1916
1838
  this.render();
1917
1839
  }
1918
1840
  deleteForward() {
1919
- if (this.cursor * this.scale >= this.rendered.length)
1920
- return this.bell();
1841
+ if (this.cursor * this.scale >= this.rendered.length) return this.bell();
1921
1842
  let s1 = this.input.slice(0, this.cursor);
1922
1843
  let s2 = this.input.slice(this.cursor + 1);
1923
1844
  this.input = `${s1}${s2}`;
@@ -1951,8 +1872,7 @@ var require_autocomplete = __commonJS({
1951
1872
  next() {
1952
1873
  if (this.select === this.suggestions.length - 1) {
1953
1874
  this.moveSelect(0);
1954
- } else
1955
- this.moveSelect(this.select + 1);
1875
+ } else this.moveSelect(this.select + 1);
1956
1876
  this.render();
1957
1877
  }
1958
1878
  nextPage() {
@@ -1964,14 +1884,12 @@ var require_autocomplete = __commonJS({
1964
1884
  this.render();
1965
1885
  }
1966
1886
  left() {
1967
- if (this.cursor <= 0)
1968
- return this.bell();
1887
+ if (this.cursor <= 0) return this.bell();
1969
1888
  this.cursor = this.cursor - 1;
1970
1889
  this.render();
1971
1890
  }
1972
1891
  right() {
1973
- if (this.cursor * this.scale >= this.rendered.length)
1974
- return this.bell();
1892
+ if (this.cursor * this.scale >= this.rendered.length) return this.bell();
1975
1893
  this.cursor = this.cursor + 1;
1976
1894
  this.render();
1977
1895
  }
@@ -1989,12 +1907,9 @@ var require_autocomplete = __commonJS({
1989
1907
  return prefix + " " + title + color.gray(desc || "");
1990
1908
  }
1991
1909
  render() {
1992
- if (this.closed)
1993
- return;
1994
- if (this.firstRender)
1995
- this.out.write(cursor.hide);
1996
- else
1997
- this.out.write(clear(this.outputText, this.out.columns));
1910
+ if (this.closed) return;
1911
+ if (this.firstRender) this.out.write(cursor.hide);
1912
+ else this.out.write(clear(this.outputText, this.out.columns));
1998
1913
  super.render();
1999
1914
  let { startIndex, endIndex } = entriesToDisplay(this.select, this.choices.length, this.limit);
2000
1915
  this.outputText = [
@@ -2022,7 +1937,7 @@ var require_autocomplete = __commonJS({
2022
1937
 
2023
1938
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/autocompleteMultiselect.js
2024
1939
  var require_autocompleteMultiselect = __commonJS({
2025
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/autocompleteMultiselect.js"(exports, module2) {
1940
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/autocompleteMultiselect.js"(exports2, module2) {
2026
1941
  "use strict";
2027
1942
  var color = require_kleur();
2028
1943
  var { cursor } = require_src();
@@ -2066,8 +1981,7 @@ var require_autocompleteMultiselect = __commonJS({
2066
1981
  this.render();
2067
1982
  }
2068
1983
  right() {
2069
- if (this.value.filter((e) => e.selected).length >= this.maxChoices)
2070
- return this.bell();
1984
+ if (this.value.filter((e) => e.selected).length >= this.maxChoices) return this.bell();
2071
1985
  this.filteredOptions[this.cursor].selected = true;
2072
1986
  this.render();
2073
1987
  }
@@ -2144,10 +2058,8 @@ Filtered results for: ${this.inputValue ? this.inputValue : color.gray("Enter so
2144
2058
  }
2145
2059
  renderOption(cursor2, v, i) {
2146
2060
  let title;
2147
- if (v.disabled)
2148
- title = cursor2 === i ? color.gray().underline(v.title) : color.strikethrough().gray(v.title);
2149
- else
2150
- title = cursor2 === i ? color.cyan().underline(v.title) : v.title;
2061
+ if (v.disabled) title = cursor2 === i ? color.gray().underline(v.title) : color.strikethrough().gray(v.title);
2062
+ else title = cursor2 === i ? color.cyan().underline(v.title) : v.title;
2151
2063
  return (v.selected ? color.green(figures.radioOn) : figures.radioOff) + " " + title;
2152
2064
  }
2153
2065
  renderDoneOrInstructions() {
@@ -2161,10 +2073,8 @@ Filtered results for: ${this.inputValue ? this.inputValue : color.gray("Enter so
2161
2073
  return output.join(" ");
2162
2074
  }
2163
2075
  render() {
2164
- if (this.closed)
2165
- return;
2166
- if (this.firstRender)
2167
- this.out.write(cursor.hide);
2076
+ if (this.closed) return;
2077
+ if (this.firstRender) this.out.write(cursor.hide);
2168
2078
  super.render();
2169
2079
  let prompt = [
2170
2080
  style.symbol(this.done, this.aborted),
@@ -2187,7 +2097,7 @@ Filtered results for: ${this.inputValue ? this.inputValue : color.gray("Enter so
2187
2097
 
2188
2098
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/confirm.js
2189
2099
  var require_confirm = __commonJS({
2190
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/confirm.js"(exports, module2) {
2100
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/confirm.js"(exports2, module2) {
2191
2101
  var color = require_kleur();
2192
2102
  var Prompt = require_prompt();
2193
2103
  var { style, clear } = require_util();
@@ -2240,12 +2150,9 @@ var require_confirm = __commonJS({
2240
2150
  return this.bell();
2241
2151
  }
2242
2152
  render() {
2243
- if (this.closed)
2244
- return;
2245
- if (this.firstRender)
2246
- this.out.write(cursor.hide);
2247
- else
2248
- this.out.write(clear(this.outputText, this.out.columns));
2153
+ if (this.closed) return;
2154
+ if (this.firstRender) this.out.write(cursor.hide);
2155
+ else this.out.write(clear(this.outputText, this.out.columns));
2249
2156
  super.render();
2250
2157
  this.outputText = [
2251
2158
  style.symbol(this.done, this.aborted),
@@ -2262,7 +2169,7 @@ var require_confirm = __commonJS({
2262
2169
 
2263
2170
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/index.js
2264
2171
  var require_elements = __commonJS({
2265
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/index.js"(exports, module2) {
2172
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/index.js"(exports2, module2) {
2266
2173
  "use strict";
2267
2174
  module2.exports = {
2268
2175
  TextPrompt: require_text(),
@@ -2280,9 +2187,9 @@ var require_elements = __commonJS({
2280
2187
 
2281
2188
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/prompts.js
2282
2189
  var require_prompts = __commonJS({
2283
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/prompts.js"(exports) {
2190
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/prompts.js"(exports2) {
2284
2191
  "use strict";
2285
- var $ = exports;
2192
+ var $ = exports2;
2286
2193
  var el = require_elements();
2287
2194
  var noop = (v) => v;
2288
2195
  function toPrompt(type, args, opts = {}) {
@@ -2346,7 +2253,7 @@ var require_prompts = __commonJS({
2346
2253
 
2347
2254
  // node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/index.js
2348
2255
  var require_lib = __commonJS({
2349
- "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/index.js"(exports, module2) {
2256
+ "node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/index.js"(exports2, module2) {
2350
2257
  "use strict";
2351
2258
  var prompts2 = require_prompts();
2352
2259
  var passOn = ["suggest", "format", "onState", "validate", "onRender", "type"];
@@ -2369,11 +2276,9 @@ var require_lib = __commonJS({
2369
2276
  type = await type(answer, { ...answers }, question);
2370
2277
  question["type"] = type;
2371
2278
  }
2372
- if (!type)
2373
- continue;
2279
+ if (!type) continue;
2374
2280
  for (let key in question) {
2375
- if (passOn.includes(key))
2376
- continue;
2281
+ if (passOn.includes(key)) continue;
2377
2282
  let value = question[key];
2378
2283
  question[key] = typeof value === "function" ? await value(answer, { ...answers }, lastPrompt) : value;
2379
2284
  }
@@ -2399,8 +2304,7 @@ var require_lib = __commonJS({
2399
2304
  } catch (err) {
2400
2305
  quit = !await onCancel(question, answers);
2401
2306
  }
2402
- if (quit)
2403
- return answers;
2307
+ if (quit) return answers;
2404
2308
  }
2405
2309
  return answers;
2406
2310
  }
@@ -2421,16 +2325,16 @@ var require_lib = __commonJS({
2421
2325
  }
2422
2326
  });
2423
2327
 
2424
- // node_modules/.pnpm/ejs@3.1.9/node_modules/ejs/lib/utils.js
2328
+ // node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/lib/utils.js
2425
2329
  var require_utils = __commonJS({
2426
- "node_modules/.pnpm/ejs@3.1.9/node_modules/ejs/lib/utils.js"(exports) {
2330
+ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/lib/utils.js"(exports2) {
2427
2331
  "use strict";
2428
2332
  var regExpChars = /[|\\{}()[\]^$+*?.]/g;
2429
2333
  var hasOwnProperty = Object.prototype.hasOwnProperty;
2430
2334
  var hasOwn = function(obj, key) {
2431
2335
  return hasOwnProperty.apply(obj, [key]);
2432
2336
  };
2433
- exports.escapeRegExpChars = function(string) {
2337
+ exports2.escapeRegExpChars = function(string) {
2434
2338
  if (!string) {
2435
2339
  return "";
2436
2340
  }
@@ -2459,7 +2363,7 @@ function encode_char(c) {
2459
2363
  return _ENCODE_HTML_RULES[c] || c;
2460
2364
  };
2461
2365
  `;
2462
- exports.escapeXML = function(markup) {
2366
+ exports2.escapeXML = function(markup) {
2463
2367
  return markup == void 0 ? "" : String(markup).replace(_MATCH_HTML, encode_char);
2464
2368
  };
2465
2369
  function escapeXMLToString() {
@@ -2467,14 +2371,14 @@ function encode_char(c) {
2467
2371
  }
2468
2372
  try {
2469
2373
  if (typeof Object.defineProperty === "function") {
2470
- Object.defineProperty(exports.escapeXML, "toString", { value: escapeXMLToString });
2374
+ Object.defineProperty(exports2.escapeXML, "toString", { value: escapeXMLToString });
2471
2375
  } else {
2472
- exports.escapeXML.toString = escapeXMLToString;
2376
+ exports2.escapeXML.toString = escapeXMLToString;
2473
2377
  }
2474
2378
  } catch (err) {
2475
2379
  console.warn("Unable to set escapeXML.toString (is the Function prototype frozen?)");
2476
2380
  }
2477
- exports.shallowCopy = function(to, from) {
2381
+ exports2.shallowCopy = function(to, from) {
2478
2382
  from = from || {};
2479
2383
  if (to !== null && to !== void 0) {
2480
2384
  for (var p in from) {
@@ -2489,7 +2393,7 @@ function encode_char(c) {
2489
2393
  }
2490
2394
  return to;
2491
2395
  };
2492
- exports.shallowCopyFromList = function(to, from, list) {
2396
+ exports2.shallowCopyFromList = function(to, from, list) {
2493
2397
  list = list || [];
2494
2398
  from = from || {};
2495
2399
  if (to !== null && to !== void 0) {
@@ -2508,7 +2412,7 @@ function encode_char(c) {
2508
2412
  }
2509
2413
  return to;
2510
2414
  };
2511
- exports.cache = {
2415
+ exports2.cache = {
2512
2416
  _data: {},
2513
2417
  set: function(key, val) {
2514
2418
  this._data[key] = val;
@@ -2523,12 +2427,12 @@ function encode_char(c) {
2523
2427
  this._data = {};
2524
2428
  }
2525
2429
  };
2526
- exports.hyphenToCamel = function(str) {
2430
+ exports2.hyphenToCamel = function(str) {
2527
2431
  return str.replace(/-[a-z]/g, function(match) {
2528
2432
  return match[1].toUpperCase();
2529
2433
  });
2530
2434
  };
2531
- exports.createNullProtoObjWherePossible = function() {
2435
+ exports2.createNullProtoObjWherePossible = function() {
2532
2436
  if (typeof Object.create == "function") {
2533
2437
  return function() {
2534
2438
  return /* @__PURE__ */ Object.create(null);
@@ -2543,12 +2447,21 @@ function encode_char(c) {
2543
2447
  return {};
2544
2448
  };
2545
2449
  }();
2450
+ exports2.hasOwnOnlyObject = function(obj) {
2451
+ var o = exports2.createNullProtoObjWherePossible();
2452
+ for (var p in obj) {
2453
+ if (hasOwn(obj, p)) {
2454
+ o[p] = obj[p];
2455
+ }
2456
+ }
2457
+ return o;
2458
+ };
2546
2459
  }
2547
2460
  });
2548
2461
 
2549
- // node_modules/.pnpm/ejs@3.1.9/node_modules/ejs/package.json
2462
+ // node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/package.json
2550
2463
  var require_package = __commonJS({
2551
- "node_modules/.pnpm/ejs@3.1.9/node_modules/ejs/package.json"(exports, module2) {
2464
+ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/package.json"(exports2, module2) {
2552
2465
  module2.exports = {
2553
2466
  name: "ejs",
2554
2467
  description: "Embedded JavaScript templates",
@@ -2557,7 +2470,7 @@ var require_package = __commonJS({
2557
2470
  "engine",
2558
2471
  "ejs"
2559
2472
  ],
2560
- version: "3.1.9",
2473
+ version: "3.1.10",
2561
2474
  author: "Matthew Eernisse <mde@fleegix.org> (http://fleegix.org)",
2562
2475
  license: "Apache-2.0",
2563
2476
  bin: {
@@ -2588,15 +2501,15 @@ var require_package = __commonJS({
2588
2501
  node: ">=0.10.0"
2589
2502
  },
2590
2503
  scripts: {
2591
- test: "mocha -u tdd"
2504
+ test: "npx jake test"
2592
2505
  }
2593
2506
  };
2594
2507
  }
2595
2508
  });
2596
2509
 
2597
- // node_modules/.pnpm/ejs@3.1.9/node_modules/ejs/lib/ejs.js
2510
+ // node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/lib/ejs.js
2598
2511
  var require_ejs = __commonJS({
2599
- "node_modules/.pnpm/ejs@3.1.9/node_modules/ejs/lib/ejs.js"(exports) {
2512
+ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/lib/ejs.js"(exports2) {
2600
2513
  "use strict";
2601
2514
  var fs6 = require("fs");
2602
2515
  var path6 = require("path");
@@ -2625,11 +2538,11 @@ var require_ejs = __commonJS({
2625
2538
  var _OPTS_PASSABLE_WITH_DATA_EXPRESS = _OPTS_PASSABLE_WITH_DATA.concat("cache");
2626
2539
  var _BOM = /^\uFEFF/;
2627
2540
  var _JS_IDENTIFIER = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/;
2628
- exports.cache = utils.cache;
2629
- exports.fileLoader = fs6.readFileSync;
2630
- exports.localsName = _DEFAULT_LOCALS_NAME;
2631
- exports.promiseImpl = new Function("return this;")().Promise;
2632
- exports.resolveInclude = function(name, filename, isDir) {
2541
+ exports2.cache = utils.cache;
2542
+ exports2.fileLoader = fs6.readFileSync;
2543
+ exports2.localsName = _DEFAULT_LOCALS_NAME;
2544
+ exports2.promiseImpl = new Function("return this;")().Promise;
2545
+ exports2.resolveInclude = function(name, filename, isDir) {
2633
2546
  var dirname2 = path6.dirname;
2634
2547
  var extname = path6.extname;
2635
2548
  var resolve6 = path6.resolve;
@@ -2643,7 +2556,7 @@ var require_ejs = __commonJS({
2643
2556
  function resolvePaths(name, paths) {
2644
2557
  var filePath;
2645
2558
  if (paths.some(function(v) {
2646
- filePath = exports.resolveInclude(name, v, true);
2559
+ filePath = exports2.resolveInclude(name, v, true);
2647
2560
  return fs6.existsSync(filePath);
2648
2561
  })) {
2649
2562
  return filePath;
@@ -2659,11 +2572,11 @@ var require_ejs = __commonJS({
2659
2572
  if (Array.isArray(options2.root)) {
2660
2573
  includePath = resolvePaths(path7, options2.root);
2661
2574
  } else {
2662
- includePath = exports.resolveInclude(path7, options2.root || "/", true);
2575
+ includePath = exports2.resolveInclude(path7, options2.root || "/", true);
2663
2576
  }
2664
2577
  } else {
2665
2578
  if (options2.filename) {
2666
- filePath = exports.resolveInclude(path7, options2.filename);
2579
+ filePath = exports2.resolveInclude(path7, options2.filename);
2667
2580
  if (fs6.existsSync(filePath)) {
2668
2581
  includePath = filePath;
2669
2582
  }
@@ -2685,7 +2598,7 @@ var require_ejs = __commonJS({
2685
2598
  if (!filename) {
2686
2599
  throw new Error("cache option requires a filename");
2687
2600
  }
2688
- func = exports.cache.get(filename);
2601
+ func = exports2.cache.get(filename);
2689
2602
  if (func) {
2690
2603
  return func;
2691
2604
  }
@@ -2698,17 +2611,17 @@ var require_ejs = __commonJS({
2698
2611
  }
2699
2612
  template = fileLoader(filename).toString().replace(_BOM, "");
2700
2613
  }
2701
- func = exports.compile(template, options2);
2614
+ func = exports2.compile(template, options2);
2702
2615
  if (options2.cache) {
2703
- exports.cache.set(filename, func);
2616
+ exports2.cache.set(filename, func);
2704
2617
  }
2705
2618
  return func;
2706
2619
  }
2707
2620
  function tryHandleCache(options2, data, cb) {
2708
2621
  var result;
2709
2622
  if (!cb) {
2710
- if (typeof exports.promiseImpl == "function") {
2711
- return new exports.promiseImpl(function(resolve6, reject) {
2623
+ if (typeof exports2.promiseImpl == "function") {
2624
+ return new exports2.promiseImpl(function(resolve6, reject) {
2712
2625
  try {
2713
2626
  result = handleCache(options2)(data);
2714
2627
  resolve6(result);
@@ -2729,7 +2642,7 @@ var require_ejs = __commonJS({
2729
2642
  }
2730
2643
  }
2731
2644
  function fileLoader(filePath) {
2732
- return exports.fileLoader(filePath);
2645
+ return exports2.fileLoader(filePath);
2733
2646
  }
2734
2647
  function includeFile(path7, options2) {
2735
2648
  var opts = utils.shallowCopy(utils.createNullProtoObjWherePossible(), options2);
@@ -2763,7 +2676,7 @@ var require_ejs = __commonJS({
2763
2676
  function stripSemi(str) {
2764
2677
  return str.replace(/;(\s*$)/, "$1");
2765
2678
  }
2766
- exports.compile = function compile(template, opts) {
2679
+ exports2.compile = function compile(template, opts) {
2767
2680
  var templ;
2768
2681
  if (opts && opts.scope) {
2769
2682
  if (!scopeOptionWarned) {
@@ -2778,7 +2691,7 @@ var require_ejs = __commonJS({
2778
2691
  templ = new Template(template, opts);
2779
2692
  return templ.compile();
2780
2693
  };
2781
- exports.render = function(template, d, o) {
2694
+ exports2.render = function(template, d, o) {
2782
2695
  var data = d || utils.createNullProtoObjWherePossible();
2783
2696
  var opts = o || utils.createNullProtoObjWherePossible();
2784
2697
  if (arguments.length == 2) {
@@ -2786,7 +2699,7 @@ var require_ejs = __commonJS({
2786
2699
  }
2787
2700
  return handleCache(opts, template)(data);
2788
2701
  };
2789
- exports.renderFile = function() {
2702
+ exports2.renderFile = function() {
2790
2703
  var args = Array.prototype.slice.call(arguments);
2791
2704
  var filename = args.shift();
2792
2705
  var cb;
@@ -2821,12 +2734,12 @@ var require_ejs = __commonJS({
2821
2734
  }
2822
2735
  return tryHandleCache(opts, data, cb);
2823
2736
  };
2824
- exports.Template = Template;
2825
- exports.clearCache = function() {
2826
- exports.cache.reset();
2737
+ exports2.Template = Template;
2738
+ exports2.clearCache = function() {
2739
+ exports2.cache.reset();
2827
2740
  };
2828
- function Template(text, opts) {
2829
- opts = opts || utils.createNullProtoObjWherePossible();
2741
+ function Template(text, optsParam) {
2742
+ var opts = utils.hasOwnOnlyObject(optsParam);
2830
2743
  var options2 = utils.createNullProtoObjWherePossible();
2831
2744
  this.templateText = text;
2832
2745
  this.mode = null;
@@ -2838,9 +2751,9 @@ var require_ejs = __commonJS({
2838
2751
  options2.compileDebug = opts.compileDebug !== false;
2839
2752
  options2.debug = !!opts.debug;
2840
2753
  options2.filename = opts.filename;
2841
- options2.openDelimiter = opts.openDelimiter || exports.openDelimiter || _DEFAULT_OPEN_DELIMITER;
2842
- options2.closeDelimiter = opts.closeDelimiter || exports.closeDelimiter || _DEFAULT_CLOSE_DELIMITER;
2843
- options2.delimiter = opts.delimiter || exports.delimiter || _DEFAULT_DELIMITER;
2754
+ options2.openDelimiter = opts.openDelimiter || exports2.openDelimiter || _DEFAULT_OPEN_DELIMITER;
2755
+ options2.closeDelimiter = opts.closeDelimiter || exports2.closeDelimiter || _DEFAULT_CLOSE_DELIMITER;
2756
+ options2.delimiter = opts.delimiter || exports2.delimiter || _DEFAULT_DELIMITER;
2844
2757
  options2.strict = opts.strict || false;
2845
2758
  options2.context = opts.context;
2846
2759
  options2.cache = opts.cache || false;
@@ -2848,7 +2761,7 @@ var require_ejs = __commonJS({
2848
2761
  options2.root = opts.root;
2849
2762
  options2.includer = opts.includer;
2850
2763
  options2.outputFunctionName = opts.outputFunctionName;
2851
- options2.localsName = opts.localsName || exports.localsName || _DEFAULT_LOCALS_NAME;
2764
+ options2.localsName = opts.localsName || exports2.localsName || _DEFAULT_LOCALS_NAME;
2852
2765
  options2.views = opts.views;
2853
2766
  options2.async = opts.async;
2854
2767
  options2.destructuredLocals = opts.destructuredLocals;
@@ -3105,17 +3018,21 @@ var require_ejs = __commonJS({
3105
3018
  }
3106
3019
  }
3107
3020
  switch (this.mode) {
3021
+ // Just executing code
3108
3022
  case Template.modes.EVAL:
3109
3023
  this.source += " ; " + line + "\n";
3110
3024
  break;
3025
+ // Exec, esc, and output
3111
3026
  case Template.modes.ESCAPED:
3112
3027
  this.source += " ; __append(escapeFn(" + stripSemi(line) + "))\n";
3113
3028
  break;
3029
+ // Exec and output
3114
3030
  case Template.modes.RAW:
3115
3031
  this.source += " ; __append(" + stripSemi(line) + ")\n";
3116
3032
  break;
3117
3033
  case Template.modes.COMMENT:
3118
3034
  break;
3035
+ // Literal <%% mode, append as raw output
3119
3036
  case Template.modes.LITERAL:
3120
3037
  this._addOutput(line);
3121
3038
  break;
@@ -3130,604 +3047,16 @@ var require_ejs = __commonJS({
3130
3047
  }
3131
3048
  }
3132
3049
  };
3133
- exports.escapeXML = utils.escapeXML;
3134
- exports.__express = exports.renderFile;
3135
- exports.VERSION = _VERSION_STRING;
3136
- exports.name = _NAME;
3050
+ exports2.escapeXML = utils.escapeXML;
3051
+ exports2.__express = exports2.renderFile;
3052
+ exports2.VERSION = _VERSION_STRING;
3053
+ exports2.name = _NAME;
3137
3054
  if (typeof window != "undefined") {
3138
- window.ejs = exports;
3139
- }
3140
- }
3141
- });
3142
-
3143
- // node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/quote.js
3144
- var require_quote = __commonJS({
3145
- "node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/quote.js"(exports) {
3146
- "use strict";
3147
- Object.defineProperty(exports, "__esModule", { value: true });
3148
- exports.stringifyPath = exports.quoteKey = exports.isValidVariableName = exports.IS_VALID_IDENTIFIER = exports.quoteString = void 0;
3149
- var ESCAPABLE = /[\\\'\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
3150
- var META_CHARS = /* @__PURE__ */ new Map([
3151
- ["\b", "\\b"],
3152
- [" ", "\\t"],
3153
- ["\n", "\\n"],
3154
- ["\f", "\\f"],
3155
- ["\r", "\\r"],
3156
- ["'", "\\'"],
3157
- ['"', '\\"'],
3158
- ["\\", "\\\\"]
3159
- ]);
3160
- function escapeChar(char) {
3161
- return META_CHARS.get(char) || `\\u${`0000${char.charCodeAt(0).toString(16)}`.slice(-4)}`;
3162
- }
3163
- function quoteString(str) {
3164
- return `'${str.replace(ESCAPABLE, escapeChar)}'`;
3165
- }
3166
- exports.quoteString = quoteString;
3167
- var RESERVED_WORDS = new Set("break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield".split(" "));
3168
- exports.IS_VALID_IDENTIFIER = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
3169
- function isValidVariableName(name) {
3170
- return typeof name === "string" && !RESERVED_WORDS.has(name) && exports.IS_VALID_IDENTIFIER.test(name);
3171
- }
3172
- exports.isValidVariableName = isValidVariableName;
3173
- function quoteKey(key, next) {
3174
- return isValidVariableName(key) ? key : next(key);
3175
- }
3176
- exports.quoteKey = quoteKey;
3177
- function stringifyPath(path6, next) {
3178
- let result = "";
3179
- for (const key of path6) {
3180
- if (isValidVariableName(key)) {
3181
- result += `.${key}`;
3182
- } else {
3183
- result += `[${next(key)}]`;
3184
- }
3185
- }
3186
- return result;
3187
- }
3188
- exports.stringifyPath = stringifyPath;
3189
- }
3190
- });
3191
-
3192
- // node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/function.js
3193
- var require_function = __commonJS({
3194
- "node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/function.js"(exports) {
3195
- "use strict";
3196
- Object.defineProperty(exports, "__esModule", { value: true });
3197
- exports.FunctionParser = exports.dedentFunction = exports.functionToString = exports.USED_METHOD_KEY = void 0;
3198
- var quote_1 = require_quote();
3199
- var METHOD_NAMES_ARE_QUOTED = {
3200
- " "() {
3201
- }
3202
- }[" "].toString().charAt(0) === '"';
3203
- var FUNCTION_PREFIXES = {
3204
- Function: "function ",
3205
- GeneratorFunction: "function* ",
3206
- AsyncFunction: "async function ",
3207
- AsyncGeneratorFunction: "async function* "
3208
- };
3209
- var METHOD_PREFIXES = {
3210
- Function: "",
3211
- GeneratorFunction: "*",
3212
- AsyncFunction: "async ",
3213
- AsyncGeneratorFunction: "async *"
3214
- };
3215
- var TOKENS_PRECEDING_REGEXPS = new Set("case delete else in instanceof new return throw typeof void , ; : + - ! ~ & | ^ * / % < > ? =".split(" "));
3216
- exports.USED_METHOD_KEY = /* @__PURE__ */ new WeakSet();
3217
- var functionToString = (fn, space, next, key) => {
3218
- const name = typeof key === "string" ? key : void 0;
3219
- if (name !== void 0)
3220
- exports.USED_METHOD_KEY.add(fn);
3221
- return new FunctionParser(fn, space, next, name).stringify();
3222
- };
3223
- exports.functionToString = functionToString;
3224
- function dedentFunction(fnString) {
3225
- let found;
3226
- for (const line of fnString.split("\n").slice(1)) {
3227
- const m = /^[\s\t]+/.exec(line);
3228
- if (!m)
3229
- return fnString;
3230
- const [str] = m;
3231
- if (found === void 0)
3232
- found = str;
3233
- else if (str.length < found.length)
3234
- found = str;
3235
- }
3236
- return found ? fnString.split(`
3237
- ${found}`).join("\n") : fnString;
3238
- }
3239
- exports.dedentFunction = dedentFunction;
3240
- var FunctionParser = class {
3241
- constructor(fn, indent, next, key) {
3242
- this.fn = fn;
3243
- this.indent = indent;
3244
- this.next = next;
3245
- this.key = key;
3246
- this.pos = 0;
3247
- this.hadKeyword = false;
3248
- this.fnString = Function.prototype.toString.call(fn);
3249
- this.fnType = fn.constructor.name;
3250
- this.keyQuote = key === void 0 ? "" : quote_1.quoteKey(key, next);
3251
- this.keyPrefix = key === void 0 ? "" : `${this.keyQuote}:${indent ? " " : ""}`;
3252
- this.isMethodCandidate = key === void 0 ? false : this.fn.name === "" || this.fn.name === key;
3253
- }
3254
- stringify() {
3255
- const value = this.tryParse();
3256
- if (!value) {
3257
- return `${this.keyPrefix}void ${this.next(this.fnString)}`;
3258
- }
3259
- return dedentFunction(value);
3260
- }
3261
- getPrefix() {
3262
- if (this.isMethodCandidate && !this.hadKeyword) {
3263
- return METHOD_PREFIXES[this.fnType] + this.keyQuote;
3264
- }
3265
- return this.keyPrefix + FUNCTION_PREFIXES[this.fnType];
3266
- }
3267
- tryParse() {
3268
- if (this.fnString[this.fnString.length - 1] !== "}") {
3269
- return this.keyPrefix + this.fnString;
3270
- }
3271
- if (this.fn.name) {
3272
- const result = this.tryStrippingName();
3273
- if (result)
3274
- return result;
3275
- }
3276
- const prevPos = this.pos;
3277
- if (this.consumeSyntax() === "class")
3278
- return this.fnString;
3279
- this.pos = prevPos;
3280
- if (this.tryParsePrefixTokens()) {
3281
- const result = this.tryStrippingName();
3282
- if (result)
3283
- return result;
3284
- let offset = this.pos;
3285
- switch (this.consumeSyntax("WORD_LIKE")) {
3286
- case "WORD_LIKE":
3287
- if (this.isMethodCandidate && !this.hadKeyword) {
3288
- offset = this.pos;
3289
- }
3290
- case "()":
3291
- if (this.fnString.substr(this.pos, 2) === "=>") {
3292
- return this.keyPrefix + this.fnString;
3293
- }
3294
- this.pos = offset;
3295
- case '"':
3296
- case "'":
3297
- case "[]":
3298
- return this.getPrefix() + this.fnString.substr(this.pos);
3299
- }
3300
- }
3301
- }
3302
- /**
3303
- * Attempt to parse the function from the current position by first stripping
3304
- * the function's name from the front. This is not a fool-proof method on all
3305
- * JavaScript engines, but yields good results on Node.js 4 (and slightly
3306
- * less good results on Node.js 6 and 8).
3307
- */
3308
- tryStrippingName() {
3309
- if (METHOD_NAMES_ARE_QUOTED) {
3310
- return;
3311
- }
3312
- let start = this.pos;
3313
- const prefix = this.fnString.substr(this.pos, this.fn.name.length);
3314
- if (prefix === this.fn.name) {
3315
- this.pos += prefix.length;
3316
- if (this.consumeSyntax() === "()" && this.consumeSyntax() === "{}" && this.pos === this.fnString.length) {
3317
- if (this.isMethodCandidate || !quote_1.isValidVariableName(prefix)) {
3318
- start += prefix.length;
3319
- }
3320
- return this.getPrefix() + this.fnString.substr(start);
3321
- }
3322
- }
3323
- this.pos = start;
3324
- }
3325
- /**
3326
- * Attempt to advance the parser past the keywords expected to be at the
3327
- * start of this function's definition. This method sets `this.hadKeyword`
3328
- * based on whether or not a `function` keyword is consumed.
3329
- */
3330
- tryParsePrefixTokens() {
3331
- let posPrev = this.pos;
3332
- this.hadKeyword = false;
3333
- switch (this.fnType) {
3334
- case "AsyncFunction":
3335
- if (this.consumeSyntax() !== "async")
3336
- return false;
3337
- posPrev = this.pos;
3338
- case "Function":
3339
- if (this.consumeSyntax() === "function") {
3340
- this.hadKeyword = true;
3341
- } else {
3342
- this.pos = posPrev;
3343
- }
3344
- return true;
3345
- case "AsyncGeneratorFunction":
3346
- if (this.consumeSyntax() !== "async")
3347
- return false;
3348
- case "GeneratorFunction":
3349
- let token = this.consumeSyntax();
3350
- if (token === "function") {
3351
- token = this.consumeSyntax();
3352
- this.hadKeyword = true;
3353
- }
3354
- return token === "*";
3355
- }
3356
- }
3357
- /**
3358
- * Advance the parser past one element of JavaScript syntax. This could be a
3359
- * matched pair of delimiters, like braces or parentheses, or an atomic unit
3360
- * like a keyword, variable, or operator. Return a normalized string
3361
- * representation of the element parsed--for example, returns '{}' for a
3362
- * matched pair of braces. Comments and whitespace are skipped.
3363
- *
3364
- * (This isn't a full parser, so the token scanning logic used here is as
3365
- * simple as it can be. As a consequence, some things that are one token in
3366
- * JavaScript, like decimal number literals or most multi-character operators
3367
- * like '&&', are split into more than one token here. However, awareness of
3368
- * some multi-character sequences like '=>' is necessary, so we match the few
3369
- * of them that we care about.)
3370
- */
3371
- consumeSyntax(wordLikeToken) {
3372
- const m = this.consumeMatch(/^(?:([A-Za-z_0-9$\xA0-\uFFFF]+)|=>|\+\+|\-\-|.)/);
3373
- if (!m)
3374
- return;
3375
- const [token, match] = m;
3376
- this.consumeWhitespace();
3377
- if (match)
3378
- return wordLikeToken || match;
3379
- switch (token) {
3380
- case "(":
3381
- return this.consumeSyntaxUntil("(", ")");
3382
- case "[":
3383
- return this.consumeSyntaxUntil("[", "]");
3384
- case "{":
3385
- return this.consumeSyntaxUntil("{", "}");
3386
- case "`":
3387
- return this.consumeTemplate();
3388
- case '"':
3389
- return this.consumeRegExp(/^(?:[^\\"]|\\.)*"/, '"');
3390
- case "'":
3391
- return this.consumeRegExp(/^(?:[^\\']|\\.)*'/, "'");
3392
- }
3393
- return token;
3394
- }
3395
- consumeSyntaxUntil(startToken, endToken) {
3396
- let isRegExpAllowed = true;
3397
- for (; ; ) {
3398
- const token = this.consumeSyntax();
3399
- if (token === endToken)
3400
- return startToken + endToken;
3401
- if (!token || token === ")" || token === "]" || token === "}")
3402
- return;
3403
- if (token === "/" && isRegExpAllowed && this.consumeMatch(/^(?:\\.|[^\\\/\n[]|\[(?:\\.|[^\]])*\])+\/[a-z]*/)) {
3404
- isRegExpAllowed = false;
3405
- this.consumeWhitespace();
3406
- } else {
3407
- isRegExpAllowed = TOKENS_PRECEDING_REGEXPS.has(token);
3408
- }
3409
- }
3410
- }
3411
- consumeMatch(re) {
3412
- const m = re.exec(this.fnString.substr(this.pos));
3413
- if (m)
3414
- this.pos += m[0].length;
3415
- return m;
3416
- }
3417
- /**
3418
- * Advance the parser past an arbitrary regular expression. Return `token`,
3419
- * or the match object of the regexp.
3420
- */
3421
- consumeRegExp(re, token) {
3422
- const m = re.exec(this.fnString.substr(this.pos));
3423
- if (!m)
3424
- return;
3425
- this.pos += m[0].length;
3426
- this.consumeWhitespace();
3427
- return token;
3428
- }
3429
- /**
3430
- * Advance the parser past a template string.
3431
- */
3432
- consumeTemplate() {
3433
- for (; ; ) {
3434
- this.consumeMatch(/^(?:[^`$\\]|\\.|\$(?!{))*/);
3435
- if (this.fnString[this.pos] === "`") {
3436
- this.pos++;
3437
- this.consumeWhitespace();
3438
- return "`";
3439
- }
3440
- if (this.fnString.substr(this.pos, 2) === "${") {
3441
- this.pos += 2;
3442
- this.consumeWhitespace();
3443
- if (this.consumeSyntaxUntil("{", "}"))
3444
- continue;
3445
- }
3446
- return;
3447
- }
3448
- }
3449
- /**
3450
- * Advance the parser past any whitespace or comments.
3451
- */
3452
- consumeWhitespace() {
3453
- this.consumeMatch(/^(?:\s|\/\/.*|\/\*[^]*?\*\/)*/);
3454
- }
3455
- };
3456
- exports.FunctionParser = FunctionParser;
3457
- }
3458
- });
3459
-
3460
- // node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/array.js
3461
- var require_array = __commonJS({
3462
- "node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/array.js"(exports) {
3463
- "use strict";
3464
- Object.defineProperty(exports, "__esModule", { value: true });
3465
- exports.arrayToString = void 0;
3466
- var arrayToString = (array, space, next) => {
3467
- const values = array.map(function(value, index) {
3468
- const result = next(value, index);
3469
- if (result === void 0)
3470
- return String(result);
3471
- return space + result.split("\n").join(`
3472
- ${space}`);
3473
- }).join(space ? ",\n" : ",");
3474
- const eol = space && values ? "\n" : "";
3475
- return `[${eol}${values}${eol}]`;
3476
- };
3477
- exports.arrayToString = arrayToString;
3478
- }
3479
- });
3480
-
3481
- // node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/object.js
3482
- var require_object = __commonJS({
3483
- "node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/object.js"(exports) {
3484
- "use strict";
3485
- Object.defineProperty(exports, "__esModule", { value: true });
3486
- exports.objectToString = void 0;
3487
- var quote_1 = require_quote();
3488
- var function_1 = require_function();
3489
- var array_1 = require_array();
3490
- var objectToString = (value, space, next, key) => {
3491
- if (typeof Buffer === "function" && Buffer.isBuffer(value)) {
3492
- return `Buffer.from(${next(value.toString("base64"))}, 'base64')`;
3493
- }
3494
- if (typeof global === "object" && value === global) {
3495
- return globalToString(value, space, next, key);
3496
- }
3497
- const toString = OBJECT_TYPES[Object.prototype.toString.call(value)];
3498
- return toString ? toString(value, space, next, key) : void 0;
3499
- };
3500
- exports.objectToString = objectToString;
3501
- var rawObjectToString = (obj, indent, next, key) => {
3502
- const eol = indent ? "\n" : "";
3503
- const space = indent ? " " : "";
3504
- const values = Object.keys(obj).reduce(function(values2, key2) {
3505
- const fn = obj[key2];
3506
- const result = next(fn, key2);
3507
- if (result === void 0)
3508
- return values2;
3509
- const value = result.split("\n").join(`
3510
- ${indent}`);
3511
- if (function_1.USED_METHOD_KEY.has(fn)) {
3512
- values2.push(`${indent}${value}`);
3513
- return values2;
3514
- }
3515
- values2.push(`${indent}${quote_1.quoteKey(key2, next)}:${space}${value}`);
3516
- return values2;
3517
- }, []).join(`,${eol}`);
3518
- if (values === "")
3519
- return "{}";
3520
- return `{${eol}${values}${eol}}`;
3521
- };
3522
- var globalToString = (value, space, next) => {
3523
- return `Function(${next("return this")})()`;
3524
- };
3525
- var OBJECT_TYPES = {
3526
- "[object Array]": array_1.arrayToString,
3527
- "[object Object]": rawObjectToString,
3528
- "[object Error]": (error, space, next) => {
3529
- return `new Error(${next(error.message)})`;
3530
- },
3531
- "[object Date]": (date) => {
3532
- return `new Date(${date.getTime()})`;
3533
- },
3534
- "[object String]": (str, space, next) => {
3535
- return `new String(${next(str.toString())})`;
3536
- },
3537
- "[object Number]": (num) => {
3538
- return `new Number(${num})`;
3539
- },
3540
- "[object Boolean]": (bool) => {
3541
- return `new Boolean(${bool})`;
3542
- },
3543
- "[object Set]": (set, space, next) => {
3544
- return `new Set(${next(Array.from(set))})`;
3545
- },
3546
- "[object Map]": (map, space, next) => {
3547
- return `new Map(${next(Array.from(map))})`;
3548
- },
3549
- "[object RegExp]": String,
3550
- "[object global]": globalToString,
3551
- "[object Window]": globalToString
3552
- };
3553
- }
3554
- });
3555
-
3556
- // node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/stringify.js
3557
- var require_stringify = __commonJS({
3558
- "node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/stringify.js"(exports) {
3559
- "use strict";
3560
- Object.defineProperty(exports, "__esModule", { value: true });
3561
- exports.toString = void 0;
3562
- var quote_1 = require_quote();
3563
- var object_1 = require_object();
3564
- var function_1 = require_function();
3565
- var PRIMITIVE_TYPES = {
3566
- string: quote_1.quoteString,
3567
- number: (value) => Object.is(value, -0) ? "-0" : String(value),
3568
- boolean: String,
3569
- symbol: (value, space, next) => {
3570
- const key = Symbol.keyFor(value);
3571
- if (key !== void 0)
3572
- return `Symbol.for(${next(key)})`;
3573
- return `Symbol(${next(value.description)})`;
3574
- },
3575
- bigint: (value, space, next) => {
3576
- return `BigInt(${next(String(value))})`;
3577
- },
3578
- undefined: String,
3579
- object: object_1.objectToString,
3580
- function: function_1.functionToString
3581
- };
3582
- var toString = (value, space, next, key) => {
3583
- if (value === null)
3584
- return "null";
3585
- return PRIMITIVE_TYPES[typeof value](value, space, next, key);
3586
- };
3587
- exports.toString = toString;
3588
- }
3589
- });
3590
-
3591
- // node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/index.js
3592
- var require_dist = __commonJS({
3593
- "node_modules/.pnpm/javascript-stringify@2.1.0/node_modules/javascript-stringify/dist/index.js"(exports) {
3594
- "use strict";
3595
- Object.defineProperty(exports, "__esModule", { value: true });
3596
- exports.stringify = void 0;
3597
- var stringify_1 = require_stringify();
3598
- var quote_1 = require_quote();
3599
- var ROOT_SENTINEL = Symbol("root");
3600
- function stringify2(value, replacer, indent, options2 = {}) {
3601
- const space = typeof indent === "string" ? indent : " ".repeat(indent || 0);
3602
- const path6 = [];
3603
- const stack = /* @__PURE__ */ new Set();
3604
- const tracking = /* @__PURE__ */ new Map();
3605
- const unpack = /* @__PURE__ */ new Map();
3606
- let valueCount = 0;
3607
- const { maxDepth = 100, references = false, skipUndefinedProperties = false, maxValues = 1e5 } = options2;
3608
- const valueToString = replacerToString(replacer);
3609
- const onNext = (value2, key) => {
3610
- if (++valueCount > maxValues)
3611
- return;
3612
- if (skipUndefinedProperties && value2 === void 0)
3613
- return;
3614
- if (path6.length > maxDepth)
3615
- return;
3616
- if (key === void 0)
3617
- return valueToString(value2, space, onNext, key);
3618
- path6.push(key);
3619
- const result2 = builder(value2, key === ROOT_SENTINEL ? void 0 : key);
3620
- path6.pop();
3621
- return result2;
3622
- };
3623
- const builder = references ? (value2, key) => {
3624
- if (value2 !== null && (typeof value2 === "object" || typeof value2 === "function" || typeof value2 === "symbol")) {
3625
- if (tracking.has(value2)) {
3626
- unpack.set(path6.slice(1), tracking.get(value2));
3627
- return valueToString(void 0, space, onNext, key);
3628
- }
3629
- tracking.set(value2, path6.slice(1));
3630
- }
3631
- return valueToString(value2, space, onNext, key);
3632
- } : (value2, key) => {
3633
- if (stack.has(value2))
3634
- return;
3635
- stack.add(value2);
3636
- const result2 = valueToString(value2, space, onNext, key);
3637
- stack.delete(value2);
3638
- return result2;
3639
- };
3640
- const result = onNext(value, ROOT_SENTINEL);
3641
- if (unpack.size) {
3642
- const sp = space ? " " : "";
3643
- const eol = space ? "\n" : "";
3644
- let wrapper = `var x${sp}=${sp}${result};${eol}`;
3645
- for (const [key, value2] of unpack.entries()) {
3646
- const keyPath = quote_1.stringifyPath(key, onNext);
3647
- const valuePath = quote_1.stringifyPath(value2, onNext);
3648
- wrapper += `x${keyPath}${sp}=${sp}x${valuePath};${eol}`;
3649
- }
3650
- return `(function${sp}()${sp}{${eol}${wrapper}return x;${eol}}())`;
3651
- }
3652
- return result;
3653
- }
3654
- exports.stringify = stringify2;
3655
- function replacerToString(replacer) {
3656
- if (!replacer)
3657
- return stringify_1.toString;
3658
- return (value, space, next, key) => {
3659
- return replacer(value, space, (value2) => stringify_1.toString(value2, space, next, key), key);
3660
- };
3055
+ window.ejs = exports2;
3661
3056
  }
3662
3057
  }
3663
3058
  });
3664
3059
 
3665
- // node_modules/.pnpm/@vue+create-eslint-config@0.3.3/node_modules/@vue/create-eslint-config/package.json
3666
- var require_package2 = __commonJS({
3667
- "node_modules/.pnpm/@vue+create-eslint-config@0.3.3/node_modules/@vue/create-eslint-config/package.json"(exports, module2) {
3668
- module2.exports = {
3669
- name: "@vue/create-eslint-config",
3670
- version: "0.3.3",
3671
- description: "Utility to setup ESLint in Vue.js projects.",
3672
- type: "module",
3673
- main: "index.js",
3674
- bin: {
3675
- "create-eslint-config": "bin/create-eslint-config.js"
3676
- },
3677
- engines: {
3678
- node: "^16.14.0 || >= 18.0.0"
3679
- },
3680
- repository: {
3681
- type: "git",
3682
- url: "git+https://github.com/vuejs/create-eslint-config.git"
3683
- },
3684
- keywords: [
3685
- "vue",
3686
- "eslint",
3687
- "config"
3688
- ],
3689
- author: "Haoqun Jiang <haoqunjiang+npm@gmail.com>",
3690
- license: "MIT",
3691
- bugs: {
3692
- url: "https://github.com/vuejs/create-eslint-config/issues"
3693
- },
3694
- homepage: "https://github.com/vuejs/create-eslint-config#readme",
3695
- publishConfig: {
3696
- access: "public"
3697
- },
3698
- dependencies: {
3699
- enquirer: "^2.4.1",
3700
- "javascript-stringify": "^2.1.0",
3701
- kolorist: "^1.8.0"
3702
- },
3703
- devDependencies: {
3704
- "@rushstack/eslint-patch": "^1.8.0",
3705
- "@vue/eslint-config-airbnb": "^8.0.0",
3706
- "@vue/eslint-config-airbnb-with-typescript": "^8.0.0",
3707
- "@vue/eslint-config-prettier": "^9.0.0",
3708
- "@vue/eslint-config-standard": "^8.0.1",
3709
- "@vue/eslint-config-standard-with-typescript": "^8.0.0",
3710
- "@vue/eslint-config-typescript": "^13.0.0",
3711
- eslint: "^8.57.0",
3712
- "eslint-plugin-vue": "^9.23.0",
3713
- prettier: "^3.2.5",
3714
- standard: "^17.1.0",
3715
- typescript: "~5.1.6"
3716
- },
3717
- scripts: {
3718
- test: 'echo "Error: no test specified" && exit 1'
3719
- }
3720
- };
3721
- }
3722
- });
3723
-
3724
- // node_modules/.pnpm/@vue+create-eslint-config@0.3.3/node_modules/@vue/create-eslint-config/versionMap.cjs
3725
- var require_versionMap = __commonJS({
3726
- "node_modules/.pnpm/@vue+create-eslint-config@0.3.3/node_modules/@vue/create-eslint-config/versionMap.cjs"(exports, module2) {
3727
- module2.exports = require_package2().devDependencies;
3728
- }
3729
- });
3730
-
3731
3060
  // index.ts
3732
3061
  var fs5 = __toESM(require("fs"), 1);
3733
3062
  var path5 = __toESM(require("path"), 1);
@@ -3827,7 +3156,7 @@ var bgLightCyan = kolorist(106, 49);
3827
3156
  var bgLightGray = kolorist(47, 49);
3828
3157
 
3829
3158
  // index.ts
3830
- var import_ejs = __toESM(require_ejs(), 1);
3159
+ var import_ejs2 = __toESM(require_ejs(), 1);
3831
3160
 
3832
3161
  // utils/banners.ts
3833
3162
  var defaultBanner = "Vue.js - The Progressive JavaScript Framework";
@@ -3904,9 +3233,9 @@ function renderTemplate(src, dest, callbacks) {
3904
3233
  return;
3905
3234
  }
3906
3235
  if (filename === "settings.json" && fs.existsSync(dest)) {
3907
- const settings = JSON.parse(fs.readFileSync(dest, "utf8"));
3236
+ const existing = JSON.parse(fs.readFileSync(dest, "utf8"));
3908
3237
  const newSettings = JSON.parse(fs.readFileSync(src, "utf8"));
3909
- const extensions = deepMerge_default(settings, newSettings);
3238
+ const settings = deepMerge_default(existing, newSettings);
3910
3239
  fs.writeFileSync(dest, JSON.stringify(settings, null, 2) + "\n");
3911
3240
  return;
3912
3241
  }
@@ -4010,7 +3339,7 @@ This template should help get you started developing with Vue 3 in Vite.
4010
3339
  ${needsTypeScript ? sfcTypeSupportDoc : ""}
4011
3340
  ## Customize configuration
4012
3341
 
4013
- See [Vite Configuration Reference](https://vitejs.dev/config/).
3342
+ See [Vite Configuration Reference](https://vite.dev/config/).
4014
3343
 
4015
3344
  ## Project Setup
4016
3345
 
@@ -4177,245 +3506,239 @@ function getLanguage() {
4177
3506
  var fs4 = __toESM(require("fs"), 1);
4178
3507
  var path4 = __toESM(require("path"), 1);
4179
3508
 
4180
- // node_modules/.pnpm/@vue+create-eslint-config@0.3.3/node_modules/@vue/create-eslint-config/index.js
4181
- var import_javascript_stringify = __toESM(require_dist(), 1);
4182
-
4183
- // node_modules/.pnpm/@vue+create-eslint-config@0.3.3/node_modules/@vue/create-eslint-config/templates/editorconfigs.js
4184
- var editorconfigs_exports = {};
4185
- __export(editorconfigs_exports, {
4186
- airbnb: () => airbnb,
4187
- standard: () => standard
4188
- });
4189
- var airbnb = `root = true
4190
-
4191
- [*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}]
4192
- charset = utf-8
4193
- end_of_line = lf
4194
- indent_size = 2
4195
- indent_style = space
4196
- insert_final_newline = true
4197
- max_line_length = 100
4198
- trim_trailing_whitespace = true
4199
- `;
4200
- var standard = `root = true
4201
-
4202
- [*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}]
4203
- charset = utf-8
4204
- indent_size = 2
4205
- indent_style = space
4206
- insert_final_newline = true
4207
- trim_trailing_whitespace = true
4208
- `;
3509
+ // node_modules/.pnpm/@vue+create-eslint-config@0.4.1/node_modules/@vue/create-eslint-config/renderEjsFile.js
3510
+ var import_ejs = __toESM(require_ejs(), 1);
3511
+ var templates = { "./templates/_editorconfig.ejs": "[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}]\ncharset = utf-8\nindent_size = 2\nindent_style = space\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n<%_ if (styleGuide === 'airbnb') { _%>\n<%# // standard doesn't have an opinion on line endings\n// https://github.com/standard/standard/issues/140\n// or maximum line length\n// https://github.com/standard/standard/issues/1559\n// so we only configure them for airbnb style\n%>\nend_of_line = lf\nmax_line_length = 100\n<%_ } _%>\n", "./templates/_prettierrc.json.ejs": `<%_ if (styleGuide === 'airbnb') { _%>
3512
+ {
3513
+ "$schema": "https://json.schemastore.org/prettierrc",
3514
+ "arrowParens": "always",
3515
+ "bracketSameLine": false,
3516
+ "bracketSpacing": true,
3517
+ "endOfLine": "lf",
3518
+ "jsxSingleQuote": false,
3519
+ "printWidth": 100,
3520
+ "proseWrap": "preserve",
3521
+ "quoteProps": "as-needed",
3522
+ "semi": true,
3523
+ "singleQuote": true,
3524
+ "tabWidth": 2,
3525
+ "trailingComma": "all",
3526
+ "useTabs": false
3527
+ }
3528
+ <%_ } else if (styleGuide === 'standard') { _%>
3529
+ {
3530
+ "$schema": "https://json.schemastore.org/prettierrc",
3531
+ "semi": false,
3532
+ "tabWidth": 2,
3533
+ "singleQuote": true,
3534
+ "printWidth": 100,
3535
+ "trailingComma": "all"
3536
+ }
3537
+ <%_ } else { _%>
3538
+ <%#
3539
+ The default style follows the one used in the vuejs/core repository
3540
+ <https://github.com/vuejs/core/blob/main/.prettierrc>
3541
+ %>
3542
+ {
3543
+ "$schema": "https://json.schemastore.org/prettierrc",
3544
+ "semi": false,
3545
+ "singleQuote": true,
3546
+ "arrowParens": "avoid"
3547
+ }
3548
+ <%_ } _%>
3549
+ `, "./templates/eslint.config.mjs.ejs": "<%_ for (const { importer } of configsBeforeVuePlugin) { _%>\n<%- importer %>\n<%_ } _%>\nimport pluginVue from 'eslint-plugin-vue'\n<%_ for (const { importer } of configsAfterVuePlugin) { _%>\n<%- importer %>\n<%_ } _%>\n\nexport default [\n {\n name: 'app/files-to-lint',\n files: ['**/*.{<%= fileExtensions.join(',') %>}'],\n },\n\n {\n name: 'app/files-to-ignore',\n ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],\n },\n\n <%_ for (const { content } of configsBeforeVuePlugin) { _%>\n <%- content %><%# TODO: auto-indent if content's multi-line %>\n <%_ } _%>\n ...pluginVue.configs['flat/essential'],\n <%_ for (const { content } of configsAfterVuePlugin) { _%>\n <%- content %><%# TODO: auto-indent if content's multi-line %>\n <%_ } _%>\n]\n" };
3550
+ function renderEjsFile(filePath, data) {
3551
+ return import_ejs.default.render(templates[filePath], data, {});
3552
+ }
4209
3553
 
4210
- // node_modules/.pnpm/@vue+create-eslint-config@0.3.3/node_modules/@vue/create-eslint-config/templates/prettierrcs.js
4211
- var prettierrcs_exports = {};
4212
- __export(prettierrcs_exports, {
4213
- airbnb: () => airbnb2,
4214
- default: () => defaultConfig,
4215
- standard: () => standard2
4216
- });
4217
- var defaultConfig = {
4218
- $schema: "https://json.schemastore.org/prettierrc",
4219
- semi: false,
4220
- tabWidth: 2,
4221
- singleQuote: true,
4222
- printWidth: 100,
4223
- trailingComma: "none"
4224
- };
4225
- var airbnb2 = {
4226
- $schema: "https://json.schemastore.org/prettierrc",
4227
- arrowParens: "always",
4228
- bracketSameLine: false,
4229
- bracketSpacing: true,
4230
- endOfLine: "lf",
4231
- jsxSingleQuote: false,
4232
- printWidth: 100,
4233
- proseWrap: "preserve",
4234
- quoteProps: "as-needed",
4235
- semi: true,
4236
- singleQuote: true,
4237
- tabWidth: 2,
4238
- trailingComma: "all",
4239
- useTabs: false
4240
- };
4241
- var standard2 = {
4242
- $schema: "https://json.schemastore.org/prettierrc",
4243
- arrowParens: "always",
4244
- bracketSameLine: false,
4245
- bracketSpacing: true,
4246
- jsxSingleQuote: true,
4247
- proseWrap: "preserve",
4248
- quoteProps: "as-needed",
4249
- semi: false,
4250
- singleQuote: true,
4251
- tabWidth: 2,
4252
- trailingComma: "none",
4253
- useTabs: false
3554
+ // node_modules/.pnpm/@vue+create-eslint-config@0.4.1/node_modules/@vue/create-eslint-config/package.json
3555
+ var package_default = {
3556
+ name: "@vue/create-eslint-config",
3557
+ version: "0.4.1",
3558
+ description: "Utility to setup ESLint in Vue.js projects.",
3559
+ type: "module",
3560
+ main: "index.js",
3561
+ bin: {
3562
+ "create-eslint-config": "bin/create-eslint-config.js"
3563
+ },
3564
+ engines: {
3565
+ node: "^16.14.0 || >= 18.0.0"
3566
+ },
3567
+ repository: {
3568
+ type: "git",
3569
+ url: "git+https://github.com/vuejs/create-eslint-config.git"
3570
+ },
3571
+ keywords: [
3572
+ "vue",
3573
+ "eslint",
3574
+ "config"
3575
+ ],
3576
+ author: "Haoqun Jiang <haoqunjiang+npm@gmail.com>",
3577
+ license: "MIT",
3578
+ bugs: {
3579
+ url: "https://github.com/vuejs/create-eslint-config/issues"
3580
+ },
3581
+ homepage: "https://github.com/vuejs/create-eslint-config#readme",
3582
+ publishConfig: {
3583
+ access: "public"
3584
+ },
3585
+ dependencies: {
3586
+ ejs: "^3.1.10",
3587
+ enquirer: "^2.4.1",
3588
+ kolorist: "^1.8.0"
3589
+ },
3590
+ devDependencies: {
3591
+ "@eslint/js": "^9.12.0",
3592
+ "@types/node": "^22.7.4",
3593
+ "@vue/eslint-config-prettier": "^10.0.0",
3594
+ "@vue/eslint-config-typescript": "^14.0.0",
3595
+ eslint: "^9.12.0",
3596
+ "eslint-plugin-vue": "^9.28.0",
3597
+ prettier: "^3.3.3",
3598
+ typescript: "~5.5.4"
3599
+ },
3600
+ scripts: {
3601
+ test: 'echo "Error: no test specified" && exit 1',
3602
+ lint: "eslint --fix ."
3603
+ }
4254
3604
  };
4255
3605
 
4256
- // node_modules/.pnpm/@vue+create-eslint-config@0.3.3/node_modules/@vue/create-eslint-config/index.js
4257
- var import_versionMap = __toESM(require_versionMap(), 1);
4258
- function stringifyJS(value, styleGuide) {
4259
- const result = (0, import_javascript_stringify.stringify)(value, (val, indent, stringify2, key) => {
4260
- if (key === "CREATE_ALIAS_SETTING_PLACEHOLDER") {
4261
- return `(${stringify2(val)})`;
4262
- }
4263
- return stringify2(val);
4264
- }, 2);
4265
- return result.replace(
4266
- "CREATE_ALIAS_SETTING_PLACEHOLDER: ",
4267
- `...require('@vue/eslint-config-${styleGuide}/createAliasSetting')`
4268
- );
4269
- }
4270
- var isObject2 = (val) => val && typeof val === "object";
4271
- var mergeArrayWithDedupe2 = (a, b) => Array.from(/* @__PURE__ */ new Set([...a, ...b]));
4272
- function deepMerge2(target, obj) {
4273
- for (const key of Object.keys(obj)) {
4274
- const oldVal = target[key];
4275
- const newVal = obj[key];
4276
- if (Array.isArray(oldVal) && Array.isArray(newVal)) {
4277
- target[key] = mergeArrayWithDedupe2(oldVal, newVal);
4278
- } else if (isObject2(oldVal) && isObject2(newVal)) {
4279
- target[key] = deepMerge2(oldVal, newVal);
4280
- } else {
4281
- target[key] = newVal;
4282
- }
4283
- }
4284
- return target;
4285
- }
3606
+ // node_modules/.pnpm/@vue+create-eslint-config@0.4.1/node_modules/@vue/create-eslint-config/index.js
3607
+ var versionMap = package_default.devDependencies;
4286
3608
  function createConfig({
4287
- vueVersion = "3.x",
4288
- // '2.x' | '3.x' (TODO: 2.7 / vue-demi)
4289
3609
  styleGuide = "default",
4290
- // default | airbnb | typescript
3610
+ // default ~~| airbnb | standard~~ only the default is supported for now
4291
3611
  hasTypeScript = false,
4292
- // js | ts
4293
3612
  needsPrettier = false,
4294
- // true | false
4295
- additionalConfig = {},
4296
- // e.g. Cypress, createAliasSetting for Airbnb, etc.
4297
- additionalDependencies = {}
4298
- // e.g. eslint-plugin-cypress
3613
+ additionalConfigs = []
4299
3614
  }) {
4300
- const pkg = { devDependencies: {} };
4301
- const addDependency = (name) => {
4302
- pkg.devDependencies[name] = import_versionMap.default[name];
3615
+ const pickDependencies = (keys) => pickKeysFromObject(versionMap, keys);
3616
+ const pkg = {
3617
+ devDependencies: pickDependencies(["eslint", "eslint-plugin-vue"])
4303
3618
  };
4304
- addDependency("eslint");
4305
- addDependency("eslint-plugin-vue");
4306
- if (styleGuide !== "default" || hasTypeScript || needsPrettier) {
4307
- addDependency("@rushstack/eslint-patch");
4308
- }
4309
- const language = hasTypeScript ? "typescript" : "javascript";
4310
- const eslintConfig = {
4311
- root: true,
4312
- extends: [
4313
- vueVersion.startsWith("2") ? "plugin:vue/essential" : "plugin:vue/vue3-essential"
4314
- ]
4315
- };
4316
- const addDependencyAndExtend = (name) => {
4317
- addDependency(name);
4318
- eslintConfig.extends.push(name);
4319
- };
4320
- switch (`${styleGuide}-${language}`) {
4321
- case "default-javascript":
4322
- eslintConfig.extends.push("eslint:recommended");
4323
- break;
4324
- case "default-typescript":
4325
- eslintConfig.extends.push("eslint:recommended");
4326
- addDependencyAndExtend("@vue/eslint-config-typescript");
4327
- break;
4328
- case "airbnb-javascript":
4329
- case "standard-javascript":
4330
- addDependencyAndExtend(`@vue/eslint-config-${styleGuide}`);
4331
- break;
4332
- case "airbnb-typescript":
4333
- case "standard-typescript":
4334
- addDependencyAndExtend(`@vue/eslint-config-${styleGuide}-with-typescript`);
4335
- break;
4336
- default:
4337
- throw new Error(`unexpected combination of styleGuide and language: ${styleGuide}-${language}`);
3619
+ const fileExtensions = ["vue"];
3620
+ if (hasTypeScript) {
3621
+ fileExtensions.unshift("ts", "mts", "tsx");
3622
+ additionalConfigs.unshift({
3623
+ devDependencies: pickDependencies(["@vue/eslint-config-typescript"]),
3624
+ afterVuePlugin: [
3625
+ {
3626
+ importer: "import vueTsEslintConfig from '@vue/eslint-config-typescript'",
3627
+ // TODO: supportedScriptLangs
3628
+ content: "...vueTsEslintConfig(),"
3629
+ }
3630
+ ]
3631
+ });
3632
+ } else {
3633
+ fileExtensions.unshift("js", "mjs", "jsx");
3634
+ additionalConfigs.unshift({
3635
+ devDependencies: pickDependencies(["@eslint/js"]),
3636
+ beforeVuePlugin: [
3637
+ {
3638
+ importer: "import js from '@eslint/js'",
3639
+ content: "js.configs.recommended,"
3640
+ }
3641
+ ]
3642
+ });
4338
3643
  }
4339
- deepMerge2(pkg.devDependencies, additionalDependencies);
4340
- deepMerge2(eslintConfig, additionalConfig);
4341
3644
  if (needsPrettier) {
4342
- addDependency("prettier");
4343
- addDependency("@vue/eslint-config-prettier");
4344
- eslintConfig.extends.push("@vue/eslint-config-prettier/skip-formatting");
3645
+ additionalConfigs.push({
3646
+ devDependencies: pickDependencies([
3647
+ "prettier",
3648
+ "@vue/eslint-config-prettier"
3649
+ ]),
3650
+ afterVuePlugin: [
3651
+ {
3652
+ importer: "import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'",
3653
+ content: "skipFormatting,"
3654
+ }
3655
+ ]
3656
+ });
3657
+ }
3658
+ const configsBeforeVuePlugin = [], configsAfterVuePlugin = [];
3659
+ for (const config of additionalConfigs) {
3660
+ deepMerge2(pkg.devDependencies, config.devDependencies ?? {});
3661
+ configsBeforeVuePlugin.push(...config.beforeVuePlugin ?? []);
3662
+ configsAfterVuePlugin.push(...config.afterVuePlugin ?? []);
4345
3663
  }
3664
+ const templateData = {
3665
+ styleGuide,
3666
+ fileExtensions,
3667
+ configsBeforeVuePlugin,
3668
+ configsAfterVuePlugin
3669
+ };
4346
3670
  const files = {
4347
- ".eslintrc.cjs": ""
3671
+ "eslint.config.mjs": renderEjsFile(
3672
+ "./templates/eslint.config.mjs.ejs",
3673
+ templateData
3674
+ ),
3675
+ ".editorconfig": renderEjsFile(
3676
+ "./templates/_editorconfig.ejs",
3677
+ templateData
3678
+ )
4348
3679
  };
4349
- if (styleGuide === "default") {
4350
- files[".eslintrc.cjs"] += "/* eslint-env node */\n";
4351
- eslintConfig.parserOptions = {
4352
- ecmaVersion: "latest"
4353
- };
4354
- }
4355
- if (pkg.devDependencies["@rushstack/eslint-patch"]) {
4356
- files[".eslintrc.cjs"] += "require('@rushstack/eslint-patch/modern-module-resolution')\n\n";
4357
- }
4358
- files[".eslintrc.cjs"] += `module.exports = ${stringifyJS(eslintConfig, styleGuide)}
4359
- `;
4360
- if (editorconfigs_exports[styleGuide]) {
4361
- files[".editorconfig"] = editorconfigs_exports[styleGuide];
4362
- }
4363
3680
  if (needsPrettier) {
4364
- files[".prettierrc.json"] = JSON.stringify(prettierrcs_exports[styleGuide], void 0, 2);
3681
+ files[".prettierrc.json"] = renderEjsFile(
3682
+ "./templates/_prettierrc.json.ejs",
3683
+ templateData
3684
+ );
4365
3685
  }
4366
3686
  return {
4367
3687
  pkg,
4368
3688
  files
4369
3689
  };
4370
3690
  }
3691
+ function pickKeysFromObject(obj, keys) {
3692
+ return keys.reduce((acc, key) => {
3693
+ if (key in obj) {
3694
+ acc[key] = obj[key];
3695
+ }
3696
+ return acc;
3697
+ }, {});
3698
+ }
3699
+ var isObject2 = (val) => val && typeof val === "object";
3700
+ var mergeArrayWithDedupe2 = (a, b) => Array.from(/* @__PURE__ */ new Set([...a, ...b]));
3701
+ function deepMerge2(target, obj) {
3702
+ for (const key of Object.keys(obj)) {
3703
+ const oldVal = target[key];
3704
+ const newVal = obj[key];
3705
+ if (Array.isArray(oldVal) && Array.isArray(newVal)) {
3706
+ target[key] = mergeArrayWithDedupe2(oldVal, newVal);
3707
+ } else if (isObject2(oldVal) && isObject2(newVal)) {
3708
+ target[key] = deepMerge2(oldVal, newVal);
3709
+ } else {
3710
+ target[key] = newVal;
3711
+ }
3712
+ }
3713
+ return target;
3714
+ }
4371
3715
 
4372
3716
  // template/eslint/package.json
4373
- var package_default = {
3717
+ var package_default2 = {
4374
3718
  devDependencies: {
4375
- "eslint-plugin-cypress": "^2.15.1",
4376
- "eslint-plugin-playwright": "^1.5.4"
3719
+ "@vitest/eslint-plugin": "1.1.7",
3720
+ "eslint-plugin-cypress": "^3.5.0",
3721
+ "eslint-plugin-playwright": "^1.6.2"
4377
3722
  }
4378
3723
  };
4379
3724
 
4380
3725
  // utils/renderEslint.ts
4381
- var eslintDeps = package_default.devDependencies;
4382
- function renderEslint(rootDir, { needsTypeScript, needsCypress, needsCypressCT, needsPrettier, needsPlaywright }) {
4383
- const additionalConfig = {};
4384
- const additionalDependencies = {};
4385
- if (needsCypress) {
4386
- additionalConfig.overrides = [
4387
- {
4388
- files: needsCypressCT ? [
4389
- "**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}",
4390
- "cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}",
4391
- "cypress/support/**/*.{js,ts,jsx,tsx}"
4392
- ] : ["cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}", "cypress/support/**/*.{js,ts,jsx,tsx}"],
4393
- extends: ["plugin:cypress/recommended"]
4394
- }
4395
- ];
4396
- additionalDependencies["eslint-plugin-cypress"] = eslintDeps["eslint-plugin-cypress"];
4397
- }
4398
- if (needsPlaywright) {
4399
- additionalConfig.overrides = [
4400
- {
4401
- files: ["e2e/**/*.{test,spec}.{js,ts,jsx,tsx}"],
4402
- extends: ["plugin:playwright/recommended"]
4403
- }
4404
- ];
4405
- additionalDependencies["eslint-plugin-playwright"] = eslintDeps["eslint-plugin-playwright"];
4406
- }
3726
+ var eslintDeps = package_default2.devDependencies;
3727
+ function renderEslint(rootDir, { needsTypeScript, needsVitest, needsCypress, needsCypressCT, needsPrettier, needsPlaywright }) {
3728
+ const additionalConfigs = getAdditionalConfigs({
3729
+ needsVitest,
3730
+ needsCypress,
3731
+ needsCypressCT,
3732
+ needsPlaywright
3733
+ });
4407
3734
  const { pkg, files } = createConfig({
4408
- vueVersion: "3.x",
4409
- // we currently don't support other style guides
4410
3735
  styleGuide: "default",
4411
3736
  hasTypeScript: needsTypeScript,
4412
3737
  needsPrettier,
4413
- additionalConfig,
4414
- additionalDependencies
3738
+ additionalConfigs
4415
3739
  });
4416
3740
  const scripts = {
4417
- // Note that we reuse .gitignore here to avoid duplicating the configuration
4418
- lint: needsTypeScript ? "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" : "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore"
3741
+ lint: "eslint . --fix"
4419
3742
  };
4420
3743
  if (needsPrettier) {
4421
3744
  scripts.format = "prettier --write src/";
@@ -4423,12 +3746,72 @@ function renderEslint(rootDir, { needsTypeScript, needsCypress, needsCypressCT,
4423
3746
  const packageJsonPath = path4.resolve(rootDir, "package.json");
4424
3747
  const existingPkg = JSON.parse(fs4.readFileSync(packageJsonPath, "utf8"));
4425
3748
  const updatedPkg = sortDependencies(deepMerge_default(deepMerge_default(existingPkg, pkg), { scripts }));
4426
- fs4.writeFileSync(packageJsonPath, JSON.stringify(updatedPkg, null, 2) + "\n", "utf-8");
3749
+ fs4.writeFileSync(packageJsonPath, JSON.stringify(updatedPkg, null, 2) + "\n", "utf8");
4427
3750
  for (const [fileName, content] of Object.entries(files)) {
4428
3751
  const fullPath = path4.resolve(rootDir, fileName);
4429
- fs4.writeFileSync(fullPath, content, "utf-8");
3752
+ fs4.writeFileSync(fullPath, content, "utf8");
4430
3753
  }
4431
3754
  }
3755
+ function getAdditionalConfigs({
3756
+ needsVitest,
3757
+ needsCypress,
3758
+ needsCypressCT,
3759
+ needsPlaywright
3760
+ }) {
3761
+ const additionalConfigs = [];
3762
+ if (needsVitest) {
3763
+ additionalConfigs.push({
3764
+ devDependencies: { "@vitest/eslint-plugin": eslintDeps["@vitest/eslint-plugin"] },
3765
+ afterVuePlugin: [
3766
+ {
3767
+ importer: `import pluginVitest from '@vitest/eslint-plugin'`,
3768
+ content: `
3769
+ {
3770
+ ...pluginVitest.configs.recommended,
3771
+ files: ['src/**/__tests__/*'],
3772
+ },`
3773
+ }
3774
+ ]
3775
+ });
3776
+ }
3777
+ if (needsCypress) {
3778
+ additionalConfigs.push({
3779
+ devDependencies: { "eslint-plugin-cypress": eslintDeps["eslint-plugin-cypress"] },
3780
+ afterVuePlugin: [
3781
+ {
3782
+ importer: "import pluginCypress from 'eslint-plugin-cypress/flat'",
3783
+ content: `
3784
+ {
3785
+ ...pluginCypress.configs.recommended,
3786
+ files: [
3787
+ ${[
3788
+ ...needsCypressCT ? ["'**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}',"] : [],
3789
+ "cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}",
3790
+ "cypress/support/**/*.{js,ts,jsx,tsx}"
3791
+ ].map(JSON.stringify.bind(JSON)).join(",\n ").replace(/"/g, "'")} // use single quotes as in the other configs
3792
+ ],
3793
+ },`
3794
+ }
3795
+ ]
3796
+ });
3797
+ }
3798
+ if (needsPlaywright) {
3799
+ additionalConfigs.push({
3800
+ devDependencies: { "eslint-plugin-playwright": eslintDeps["eslint-plugin-playwright"] },
3801
+ afterVuePlugin: [
3802
+ {
3803
+ importer: "import pluginPlaywright from 'eslint-plugin-playwright'",
3804
+ content: `
3805
+ {
3806
+ ...pluginPlaywright.configs['flat/recommended'],
3807
+ files: ['e2e/**/*.{test,spec}.{js,ts,jsx,tsx}'],
3808
+ },`
3809
+ }
3810
+ ]
3811
+ });
3812
+ }
3813
+ return additionalConfigs;
3814
+ }
4432
3815
 
4433
3816
  // index.ts
4434
3817
  function isValidPackageName(projectName) {
@@ -4751,6 +4134,7 @@ ${language.infos.scaffolding} ${root}...`);
4751
4134
  if (needsEslint) {
4752
4135
  renderEslint(root, {
4753
4136
  needsTypeScript,
4137
+ needsVitest,
4754
4138
  needsCypress,
4755
4139
  needsCypressCT,
4756
4140
  needsPrettier,
@@ -4787,7 +4171,7 @@ ${language.infos.scaffolding} ${root}...`);
4787
4171
  if (filepath.endsWith(".ejs")) {
4788
4172
  const template = fs5.readFileSync(filepath, "utf-8");
4789
4173
  const dest = filepath.replace(/\.ejs$/, "");
4790
- const content = import_ejs.default.render(template, dataStore[dest]);
4174
+ const content = import_ejs2.default.render(template, dataStore[dest]);
4791
4175
  fs5.writeFileSync(dest, content);
4792
4176
  fs5.unlinkSync(filepath);
4793
4177
  }