create-vuetify 0.0.6 → 0.0.7

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.
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { a as __toESM, i as __require, n as require_node_fetch_native_DhEqb06g, r as __commonJS, t as require_node } from "./node-CcjDTqtN.mjs";
3
3
  import { createRequire } from "node:module";
4
- import g$1, { stdin, stdout } from "node:process";
4
+ import process$1, { stdin, stdout } from "node:process";
5
5
  import * as k$2 from "node:readline";
6
6
  import f from "node:readline";
7
7
  import * as tty from "node:tty";
@@ -9,6 +9,8 @@ import { ReadStream } from "node:tty";
9
9
  import fs, { appendFileSync, cpSync, createWriteStream, existsSync, lstatSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
10
10
  import path, { dirname, isAbsolute, join, resolve, sep } from "node:path";
11
11
  import { format, formatWithOptions, inspect, promisify, stripVTControlCharacters } from "node:util";
12
+ import { detect, getUserAgent } from "package-manager-detector";
13
+ import validate from "validate-npm-package-name";
12
14
  import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
13
15
  import j$1 from "assert";
14
16
  import H$2 from "path";
@@ -29,8 +31,6 @@ import { URL as URL$1, fileURLToPath, pathToFileURL } from "node:url";
29
31
  import assert from "node:assert";
30
32
  import { builders, loadFile } from "magicast";
31
33
  import { getDefaultExportOptions } from "magicast/helpers";
32
- import { detect, getUserAgent } from "package-manager-detector";
33
- import validate from "validate-npm-package-name";
34
34
  import v8 from "node:v8";
35
35
  import { resolveCommand } from "package-manager-detector/commands";
36
36
 
@@ -8776,7 +8776,7 @@ const at = (t$8) => t$8 === 161 || t$8 === 164 || t$8 === 167 || t$8 === 168 ||
8776
8776
  limit: Infinity,
8777
8777
  ellipsis: ""
8778
8778
  }, X$2 = (t$8, e$8 = {}, s$9 = {}) => {
8779
- const i$9 = e$8.limit ?? Infinity, r$3 = e$8.ellipsis ?? "", n$5 = e$8?.ellipsisWidth ?? (r$3 ? X$2(r$3, Ft$1, s$9).width : 0), o$7 = s$9.ansiWidth ?? 0, a$13 = s$9.controlWidth ?? 0, l$2 = s$9.tabWidth ?? 8, E$2 = s$9.ambiguousWidth ?? 1, g$3 = s$9.emojiWidth ?? 2, m$3 = s$9.fullWidthWidth ?? 2, A$1 = s$9.regularWidth ?? 1, V$2 = s$9.wideWidth ?? 2;
8779
+ const i$9 = e$8.limit ?? Infinity, r$3 = e$8.ellipsis ?? "", n$5 = e$8?.ellipsisWidth ?? (r$3 ? X$2(r$3, Ft$1, s$9).width : 0), o$7 = s$9.ansiWidth ?? 0, a$13 = s$9.controlWidth ?? 0, l$2 = s$9.tabWidth ?? 8, E$2 = s$9.ambiguousWidth ?? 1, g$2 = s$9.emojiWidth ?? 2, m$3 = s$9.fullWidthWidth ?? 2, A$1 = s$9.regularWidth ?? 1, V$2 = s$9.wideWidth ?? 2;
8780
8780
  let h$2 = 0, u$7 = 0, f$7 = t$8.length, v$2 = 0, p$2 = !1, d$2 = f$7, b$2 = Math.max(0, i$9 - n$5), C$2 = 0, B = 0, c$7 = 0, F$4 = 0;
8781
8781
  t: for (;;) {
8782
8782
  if (B > C$2 || u$7 >= f$7 && u$7 > h$2) {
@@ -8826,11 +8826,11 @@ const at = (t$8) => t$8 === 161 || t$8 === 164 || t$8 === 167 || t$8 === 168 ||
8826
8826
  continue;
8827
8827
  }
8828
8828
  if (P$2.lastIndex = u$7, P$2.test(t$8)) {
8829
- if (c$7 + g$3 > b$2 && (d$2 = Math.min(d$2, u$7)), c$7 + g$3 > i$9) {
8829
+ if (c$7 + g$2 > b$2 && (d$2 = Math.min(d$2, u$7)), c$7 + g$2 > i$9) {
8830
8830
  p$2 = !0;
8831
8831
  break;
8832
8832
  }
8833
- c$7 += g$3, C$2 = h$2, B = u$7, u$7 = h$2 = P$2.lastIndex;
8833
+ c$7 += g$2, C$2 = h$2, B = u$7, u$7 = h$2 = P$2.lastIndex;
8834
8834
  continue;
8835
8835
  }
8836
8836
  u$7 += 1;
@@ -8857,10 +8857,10 @@ const at = (t$8) => t$8 === 161 || t$8 === 164 || t$8 === 167 || t$8 === 168 ||
8857
8857
  if (t$8 === 0) return 0;
8858
8858
  }, st = (t$8) => `${W$1}${Q$1}${t$8}${tt$1}`, it = (t$8) => `${W$1}${U}${t$8}${j$3}`, gt$1 = (t$8) => t$8.map((e$8) => S$2(e$8)), G$2 = (t$8, e$8, s$9) => {
8859
8859
  const i$9 = e$8[Symbol.iterator]();
8860
- let r$3 = !1, n$5 = !1, o$7 = t$8.at(-1), a$13 = o$7 === void 0 ? 0 : S$2(o$7), l$2 = i$9.next(), E$2 = i$9.next(), g$3 = 0;
8860
+ let r$3 = !1, n$5 = !1, o$7 = t$8.at(-1), a$13 = o$7 === void 0 ? 0 : S$2(o$7), l$2 = i$9.next(), E$2 = i$9.next(), g$2 = 0;
8861
8861
  for (; !l$2.done;) {
8862
8862
  const m$3 = l$2.value, A$1 = S$2(m$3);
8863
- a$13 + A$1 <= s$9 ? t$8[t$8.length - 1] += m$3 : (t$8.push(m$3), a$13 = 0), (m$3 === W$1 || m$3 === Z$1) && (r$3 = !0, n$5 = e$8.startsWith(U, g$3 + 1)), r$3 ? n$5 ? m$3 === j$3 && (r$3 = !1, n$5 = !1) : m$3 === tt$1 && (r$3 = !1) : (a$13 += A$1, a$13 === s$9 && !E$2.done && (t$8.push(""), a$13 = 0)), l$2 = E$2, E$2 = i$9.next(), g$3 += m$3.length;
8863
+ a$13 + A$1 <= s$9 ? t$8[t$8.length - 1] += m$3 : (t$8.push(m$3), a$13 = 0), (m$3 === W$1 || m$3 === Z$1) && (r$3 = !0, n$5 = e$8.startsWith(U, g$2 + 1)), r$3 ? n$5 ? m$3 === j$3 && (r$3 = !1, n$5 = !1) : m$3 === tt$1 && (r$3 = !1) : (a$13 += A$1, a$13 === s$9 && !E$2.done && (t$8.push(""), a$13 = 0)), l$2 = E$2, E$2 = i$9.next(), g$2 += m$3.length;
8864
8864
  }
8865
8865
  o$7 = t$8.at(-1), !a$13 && o$7 !== void 0 && o$7.length > 0 && t$8.length > 1 && (t$8[t$8.length - 2] += t$8.pop());
8866
8866
  }, vt$1 = (t$8) => {
@@ -8896,8 +8896,8 @@ const at = (t$8) => t$8 === 161 || t$8 === 164 || t$8 === 167 || t$8 === 168 ||
8896
8896
  }
8897
8897
  s$9.trim !== !1 && (l$2 = l$2.map((h$2) => vt$1(h$2)));
8898
8898
  const E$2 = l$2.join(`
8899
- `), g$3 = E$2[Symbol.iterator]();
8900
- let m$3 = g$3.next(), A$1 = g$3.next(), V$2 = 0;
8899
+ `), g$2 = E$2[Symbol.iterator]();
8900
+ let m$3 = g$2.next(), A$1 = g$2.next(), V$2 = 0;
8901
8901
  for (; !m$3.done;) {
8902
8902
  const h$2 = m$3.value, u$7 = A$1.value;
8903
8903
  if (i$9 += h$2, h$2 === W$1 || h$2 === Z$1) {
@@ -8911,7 +8911,7 @@ const at = (t$8) => t$8 === 161 || t$8 === 164 || t$8 === 167 || t$8 === 168 ||
8911
8911
  const f$7 = r$3 ? mt$1(r$3) : void 0;
8912
8912
  u$7 === `
8913
8913
  ` ? (n$5 && (i$9 += it("")), r$3 && f$7 && (i$9 += st(f$7))) : h$2 === `
8914
- ` && (r$3 && f$7 && (i$9 += st(r$3)), n$5 && (i$9 += it(n$5))), V$2 += h$2.length, m$3 = A$1, A$1 = g$3.next();
8914
+ ` && (r$3 && f$7 && (i$9 += st(r$3)), n$5 && (i$9 += it(n$5))), V$2 += h$2.length, m$3 = A$1, A$1 = g$2.next();
8915
8915
  }
8916
8916
  return i$9;
8917
8917
  };
@@ -8990,8 +8990,8 @@ function xt({ input: t$8 = stdin, output: e$8 = stdout, overwrite: s$9 = !0, hid
8990
8990
  return;
8991
8991
  }
8992
8992
  if (!s$9) return;
8993
- const g$3 = a$13 === "return" ? 0 : -1, m$3 = a$13 === "return" ? -1 : 0;
8994
- k$2.moveCursor(e$8, g$3, m$3, () => {
8993
+ const g$2 = a$13 === "return" ? 0 : -1, m$3 = a$13 === "return" ? -1 : 0;
8994
+ k$2.moveCursor(e$8, g$2, m$3, () => {
8995
8995
  k$2.clearLine(e$8, 1, () => {
8996
8996
  t$8.once("keypress", n$5);
8997
8997
  });
@@ -9430,7 +9430,7 @@ var $t = class extends x$2 {
9430
9430
  var import_picocolors = /* @__PURE__ */ __toESM(require_picocolors(), 1);
9431
9431
  var import_src = require_src();
9432
9432
  function ht$1() {
9433
- return g$1.platform !== "win32" ? g$1.env.TERM !== "linux" : !!g$1.env.CI || !!g$1.env.WT_SESSION || !!g$1.env.TERMINUS_SUBLIME || g$1.env.ConEmuTask === "{cmd::Cmder}" || g$1.env.TERM_PROGRAM === "Terminus-Sublime" || g$1.env.TERM_PROGRAM === "vscode" || g$1.env.TERM === "xterm-256color" || g$1.env.TERM === "alacritty" || g$1.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
9433
+ return process$1.platform !== "win32" ? process$1.env.TERM !== "linux" : !!process$1.env.CI || !!process$1.env.WT_SESSION || !!process$1.env.TERMINUS_SUBLIME || process$1.env.ConEmuTask === "{cmd::Cmder}" || process$1.env.TERM_PROGRAM === "Terminus-Sublime" || process$1.env.TERM_PROGRAM === "vscode" || process$1.env.TERM === "xterm-256color" || process$1.env.TERM === "alacritty" || process$1.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
9434
9434
  }
9435
9435
  const ee$1 = ht$1(), ue = () => process.env.CI === "true", Te = (e$8) => e$8.isTTY === !0, w$2 = (e$8, r$3) => ee$1 ? e$8 : r$3, Me = w$2("◆", "*"), ce = w$2("■", "x"), de$1 = w$2("▲", "x"), j$2 = w$2("◇", "o"), $e = w$2("┌", "T"), h$1 = w$2("│", "|"), x$1 = w$2("└", "—"), Re$1 = w$2("┐", "T"), Oe = w$2("┘", "—"), Y = w$2("●", ">"), K = w$2("○", " "), te = w$2("◻", "[•]"), V$1 = w$2("◼", "[+]"), z$1 = w$2("◻", "[ ]"), Pe = w$2("▪", "•"), se = w$2("─", "-"), he = w$2("╮", "+"), Ne = w$2("├", "+"), me = w$2("╯", "+"), pe = w$2("╰", "+"), We = w$2("╭", "+"), ge = w$2("●", "•"), fe$1 = w$2("◆", "*"), Fe = w$2("▲", "!"), ye = w$2("■", "x"), W = (e$8) => {
9436
9436
  switch (e$8) {
@@ -9452,7 +9452,7 @@ const ee$1 = ht$1(), ue = () => process.env.CI === "true", Te = (e$8) => e$8.isT
9452
9452
  limit: Infinity,
9453
9453
  ellipsis: ""
9454
9454
  }, Le = (e$8, r$3 = {}, s$9 = {}) => {
9455
- const i$9 = r$3.limit ?? Infinity, n$5 = r$3.ellipsis ?? "", l$2 = r$3?.ellipsisWidth ?? (n$5 ? Le(n$5, Ft, s$9).width : 0), u$7 = s$9.ansiWidth ?? 0, o$7 = s$9.controlWidth ?? 0, a$13 = s$9.tabWidth ?? 8, c$7 = s$9.ambiguousWidth ?? 1, g$3 = s$9.emojiWidth ?? 2, E$2 = s$9.fullWidthWidth ?? 2, p$2 = s$9.regularWidth ?? 1, y$5 = s$9.wideWidth ?? 2;
9455
+ const i$9 = r$3.limit ?? Infinity, n$5 = r$3.ellipsis ?? "", l$2 = r$3?.ellipsisWidth ?? (n$5 ? Le(n$5, Ft, s$9).width : 0), u$7 = s$9.ansiWidth ?? 0, o$7 = s$9.controlWidth ?? 0, a$13 = s$9.tabWidth ?? 8, c$7 = s$9.ambiguousWidth ?? 1, g$2 = s$9.emojiWidth ?? 2, E$2 = s$9.fullWidthWidth ?? 2, p$2 = s$9.regularWidth ?? 1, y$5 = s$9.wideWidth ?? 2;
9456
9456
  let $ = 0, m$3 = 0, d$2 = e$8.length, F$4 = 0, f$7 = !1, v$2 = d$2, I$2 = Math.max(0, i$9 - l$2), B = 0, b$2 = 0, A$1 = 0, C$2 = 0;
9457
9457
  e: for (;;) {
9458
9458
  if (b$2 > B || m$3 >= d$2 && m$3 > $) {
@@ -9502,11 +9502,11 @@ const ee$1 = ht$1(), ue = () => process.env.CI === "true", Te = (e$8) => e$8.isT
9502
9502
  continue;
9503
9503
  }
9504
9504
  if (Ae.lastIndex = m$3, Ae.test(e$8)) {
9505
- if (A$1 + g$3 > I$2 && (v$2 = Math.min(v$2, m$3)), A$1 + g$3 > i$9) {
9505
+ if (A$1 + g$2 > I$2 && (v$2 = Math.min(v$2, m$3)), A$1 + g$2 > i$9) {
9506
9506
  f$7 = !0;
9507
9507
  break;
9508
9508
  }
9509
- A$1 += g$3, B = $, b$2 = m$3, m$3 = $ = Ae.lastIndex;
9509
+ A$1 += g$2, B = $, b$2 = m$3, m$3 = $ = Ae.lastIndex;
9510
9510
  continue;
9511
9511
  }
9512
9512
  m$3 += 1;
@@ -9533,10 +9533,10 @@ const ee$1 = ht$1(), ue = () => process.env.CI === "true", Te = (e$8) => e$8.isT
9533
9533
  if (e$8 === 0) return 0;
9534
9534
  }, He = (e$8) => `${ae}${Ve}${e$8}${ke$1}`, Ue = (e$8) => `${ae}${we}${e$8}${Ce}`, Ct$1 = (e$8) => e$8.map((r$3) => M(r$3)), Ie = (e$8, r$3, s$9) => {
9535
9535
  const i$9 = r$3[Symbol.iterator]();
9536
- let n$5 = !1, l$2 = !1, u$7 = e$8.at(-1), o$7 = u$7 === void 0 ? 0 : M(u$7), a$13 = i$9.next(), c$7 = i$9.next(), g$3 = 0;
9536
+ let n$5 = !1, l$2 = !1, u$7 = e$8.at(-1), o$7 = u$7 === void 0 ? 0 : M(u$7), a$13 = i$9.next(), c$7 = i$9.next(), g$2 = 0;
9537
9537
  for (; !a$13.done;) {
9538
9538
  const E$2 = a$13.value, p$2 = M(E$2);
9539
- o$7 + p$2 <= s$9 ? e$8[e$8.length - 1] += E$2 : (e$8.push(E$2), o$7 = 0), (E$2 === ae || E$2 === je) && (n$5 = !0, l$2 = r$3.startsWith(we, g$3 + 1)), n$5 ? l$2 ? E$2 === Ce && (n$5 = !1, l$2 = !1) : E$2 === ke$1 && (n$5 = !1) : (o$7 += p$2, o$7 === s$9 && !c$7.done && (e$8.push(""), o$7 = 0)), a$13 = c$7, c$7 = i$9.next(), g$3 += E$2.length;
9539
+ o$7 + p$2 <= s$9 ? e$8[e$8.length - 1] += E$2 : (e$8.push(E$2), o$7 = 0), (E$2 === ae || E$2 === je) && (n$5 = !0, l$2 = r$3.startsWith(we, g$2 + 1)), n$5 ? l$2 ? E$2 === Ce && (n$5 = !1, l$2 = !1) : E$2 === ke$1 && (n$5 = !1) : (o$7 += p$2, o$7 === s$9 && !c$7.done && (e$8.push(""), o$7 = 0)), a$13 = c$7, c$7 = i$9.next(), g$2 += E$2.length;
9540
9540
  }
9541
9541
  u$7 = e$8.at(-1), !o$7 && u$7 !== void 0 && u$7.length > 0 && e$8.length > 1 && (e$8[e$8.length - 2] += e$8.pop());
9542
9542
  }, wt = (e$8) => {
@@ -9572,8 +9572,8 @@ const ee$1 = ht$1(), ue = () => process.env.CI === "true", Te = (e$8) => e$8.isT
9572
9572
  }
9573
9573
  s$9.trim !== !1 && (a$13 = a$13.map(($) => wt($)));
9574
9574
  const c$7 = a$13.join(`
9575
- `), g$3 = c$7[Symbol.iterator]();
9576
- let E$2 = g$3.next(), p$2 = g$3.next(), y$5 = 0;
9575
+ `), g$2 = c$7[Symbol.iterator]();
9576
+ let E$2 = g$2.next(), p$2 = g$2.next(), y$5 = 0;
9577
9577
  for (; !E$2.done;) {
9578
9578
  const $ = E$2.value, m$3 = p$2.value;
9579
9579
  if (i$9 += $, $ === ae || $ === je) {
@@ -9587,7 +9587,7 @@ const ee$1 = ht$1(), ue = () => process.env.CI === "true", Te = (e$8) => e$8.isT
9587
9587
  const d$2 = n$5 ? At(n$5) : void 0;
9588
9588
  m$3 === `
9589
9589
  ` ? (l$2 && (i$9 += Ue("")), n$5 && d$2 && (i$9 += He(d$2))) : $ === `
9590
- ` && (n$5 && d$2 && (i$9 += He(n$5)), l$2 && (i$9 += Ue(l$2))), y$5 += $.length, E$2 = p$2, p$2 = g$3.next();
9590
+ ` && (n$5 && d$2 && (i$9 += He(n$5)), l$2 && (i$9 += Ue(l$2))), y$5 += $.length, E$2 = p$2, p$2 = g$2.next();
9591
9591
  }
9592
9592
  return i$9;
9593
9593
  };
@@ -9609,7 +9609,7 @@ const St = (e$8, r$3, s$9, i$9, n$5) => {
9609
9609
  removals: u$7
9610
9610
  };
9611
9611
  }, J$1 = (e$8) => {
9612
- const { cursor: r$3, options: s$9, style: i$9 } = e$8, n$5 = e$8.output ?? process.stdout, l$2 = rt$1(n$5), u$7 = e$8.columnPadding ?? 0, o$7 = e$8.rowPadding ?? 4, a$13 = l$2 - u$7, c$7 = nt$2(n$5), g$3 = import_picocolors.default.dim("..."), E$2 = e$8.maxItems ?? Number.POSITIVE_INFINITY, p$2 = Math.max(c$7 - o$7, 0), y$5 = Math.max(Math.min(E$2, p$2), 5);
9612
+ const { cursor: r$3, options: s$9, style: i$9 } = e$8, n$5 = e$8.output ?? process.stdout, l$2 = rt$1(n$5), u$7 = e$8.columnPadding ?? 0, o$7 = e$8.rowPadding ?? 4, a$13 = l$2 - u$7, c$7 = nt$2(n$5), g$2 = import_picocolors.default.dim("..."), E$2 = e$8.maxItems ?? Number.POSITIVE_INFINITY, p$2 = Math.max(c$7 - o$7, 0), y$5 = Math.max(Math.min(E$2, p$2), 5);
9613
9613
  let $ = 0;
9614
9614
  r$3 >= y$5 - 3 && ($ = Math.max(Math.min(r$3 - y$5 + 3, s$9.length - y$5), 0));
9615
9615
  let m$3 = y$5 < s$9.length && $ > 0, d$2 = y$5 < s$9.length && $ + y$5 < s$9.length;
@@ -9631,9 +9631,9 @@ const St = (e$8, r$3, s$9, i$9, n$5) => {
9631
9631
  m$3 ? ({lineCount: _$3, removals: A$1} = T$4(0, D$2), _$3 > p$2 && ({lineCount: _$3, removals: C$2} = T$4(D$2 + 1, f$7.length))) : ({lineCount: _$3, removals: C$2} = T$4(D$2 + 1, f$7.length), _$3 > p$2 && ({lineCount: _$3, removals: A$1} = T$4(0, D$2))), A$1 > 0 && (m$3 = !0, f$7.splice(0, A$1)), C$2 > 0 && (d$2 = !0, f$7.splice(f$7.length - C$2, C$2));
9632
9632
  }
9633
9633
  const b$2 = [];
9634
- m$3 && b$2.push(g$3);
9634
+ m$3 && b$2.push(g$2);
9635
9635
  for (const A$1 of f$7) for (const C$2 of A$1) b$2.push(C$2);
9636
- return d$2 && b$2.push(g$3), b$2;
9636
+ return d$2 && b$2.push(g$2), b$2;
9637
9637
  };
9638
9638
  function Ke(e$8) {
9639
9639
  return e$8.label ?? String(e$8.value ?? "");
@@ -9679,8 +9679,8 @@ ${import_picocolors.default.gray(h$1)}${o$7}`;
9679
9679
  const d$2 = u$7 ? l$2 : s$9;
9680
9680
  c$7 = d$2 !== "" ? ` ${import_picocolors.default.dim(d$2)}` : "";
9681
9681
  } else c$7 = ` ${this.userInputWithCursor}`;
9682
- const g$3 = this.filteredOptions.length !== n$5.length ? import_picocolors.default.dim(` (${this.filteredOptions.length} match${this.filteredOptions.length === 1 ? "" : "es"})`) : "", E$2 = this.filteredOptions.length === 0 && s$9 ? [`${o$7}${import_picocolors.default.yellow("No matches found")}`] : [], p$2 = this.state === "error" ? [`${o$7}${import_picocolors.default.yellow(this.error)}`] : [];
9683
- r$3.push(`${o$7.trimEnd()}`, `${o$7}${import_picocolors.default.dim("Search:")}${c$7}${g$3}`, ...E$2, ...p$2);
9682
+ const g$2 = this.filteredOptions.length !== n$5.length ? import_picocolors.default.dim(` (${this.filteredOptions.length} match${this.filteredOptions.length === 1 ? "" : "es"})`) : "", E$2 = this.filteredOptions.length === 0 && s$9 ? [`${o$7}${import_picocolors.default.yellow("No matches found")}`] : [], p$2 = this.state === "error" ? [`${o$7}${import_picocolors.default.yellow(this.error)}`] : [];
9683
+ r$3.push(`${o$7.trimEnd()}`, `${o$7}${import_picocolors.default.dim("Search:")}${c$7}${g$2}`, ...E$2, ...p$2);
9684
9684
  const y$5 = [
9685
9685
  `${import_picocolors.default.dim("↑/↓")} to select`,
9686
9686
  `${import_picocolors.default.dim("Enter:")} confirm`,
@@ -9708,8 +9708,8 @@ ${import_picocolors.default.gray(h$1)}${o$7}`;
9708
9708
  }
9709
9709
  }).prompt(), bt = (e$8) => {
9710
9710
  const r$3 = (i$9, n$5, l$2, u$7) => {
9711
- const o$7 = l$2.includes(i$9.value), a$13 = i$9.label ?? String(i$9.value ?? ""), c$7 = i$9.hint && u$7 !== void 0 && i$9.value === u$7 ? import_picocolors.default.dim(` (${i$9.hint})`) : "", g$3 = o$7 ? import_picocolors.default.green(V$1) : import_picocolors.default.dim(z$1);
9712
- return n$5 ? `${g$3} ${a$13}${c$7}` : `${g$3} ${import_picocolors.default.dim(a$13)}`;
9711
+ const o$7 = l$2.includes(i$9.value), a$13 = i$9.label ?? String(i$9.value ?? ""), c$7 = i$9.hint && u$7 !== void 0 && i$9.value === u$7 ? import_picocolors.default.dim(` (${i$9.hint})`) : "", g$2 = o$7 ? import_picocolors.default.green(V$1) : import_picocolors.default.dim(z$1);
9712
+ return n$5 ? `${g$2} ${a$13}${c$7}` : `${g$2} ${import_picocolors.default.dim(a$13)}`;
9713
9713
  }, s$9 = new Vt({
9714
9714
  options: e$8.options,
9715
9715
  multiple: !0,
@@ -9729,18 +9729,18 @@ ${W(this.state)} ${e$8.message}
9729
9729
  case "submit": return `${i$9}${import_picocolors.default.gray(h$1)} ${import_picocolors.default.dim(`${this.selectedValues.length} items selected`)}`;
9730
9730
  case "cancel": return `${i$9}${import_picocolors.default.gray(h$1)} ${import_picocolors.default.strikethrough(import_picocolors.default.dim(n$5))}`;
9731
9731
  default: {
9732
- const g$3 = this.state === "error" ? import_picocolors.default.yellow : import_picocolors.default.cyan, E$2 = [
9732
+ const g$2 = this.state === "error" ? import_picocolors.default.yellow : import_picocolors.default.cyan, E$2 = [
9733
9733
  `${import_picocolors.default.dim("↑/↓")} to navigate`,
9734
9734
  `${import_picocolors.default.dim(this.isNavigating ? "Space/Tab:" : "Tab:")} select`,
9735
9735
  `${import_picocolors.default.dim("Enter:")} confirm`,
9736
9736
  `${import_picocolors.default.dim("Type:")} to search`
9737
- ], p$2 = this.filteredOptions.length === 0 && n$5 ? [`${g$3(h$1)} ${import_picocolors.default.yellow("No matches found")}`] : [], y$5 = this.state === "error" ? [`${g$3(h$1)} ${import_picocolors.default.yellow(this.error)}`] : [], $ = [
9738
- ...`${i$9}${g$3(h$1)}`.split(`
9737
+ ], p$2 = this.filteredOptions.length === 0 && n$5 ? [`${g$2(h$1)} ${import_picocolors.default.yellow("No matches found")}`] : [], y$5 = this.state === "error" ? [`${g$2(h$1)} ${import_picocolors.default.yellow(this.error)}`] : [], $ = [
9738
+ ...`${i$9}${g$2(h$1)}`.split(`
9739
9739
  `),
9740
- `${g$3(h$1)} ${import_picocolors.default.dim("Search:")} ${o$7}${c$7}`,
9740
+ `${g$2(h$1)} ${import_picocolors.default.dim("Search:")} ${o$7}${c$7}`,
9741
9741
  ...p$2,
9742
9742
  ...y$5
9743
- ], m$3 = [`${g$3(h$1)} ${import_picocolors.default.dim(E$2.join(" • "))}`, `${g$3(x$1)}`], d$2 = J$1({
9743
+ ], m$3 = [`${g$2(h$1)} ${import_picocolors.default.dim(E$2.join(" • "))}`, `${g$2(x$1)}`], d$2 = J$1({
9744
9744
  cursor: this.cursor,
9745
9745
  options: this.filteredOptions,
9746
9746
  style: (F$4, f$7) => r$3(F$4, f$7, this.selectedValues, this.focusedValue),
@@ -9750,7 +9750,7 @@ ${W(this.state)} ${e$8.message}
9750
9750
  });
9751
9751
  return [
9752
9752
  ...$,
9753
- ...d$2.map((F$4) => `${g$3(h$1)} ${F$4}`),
9753
+ ...d$2.map((F$4) => `${g$2(h$1)} ${F$4}`),
9754
9754
  ...m$3
9755
9755
  ].join(`
9756
9756
  `);
@@ -9775,7 +9775,7 @@ function Xe(e$8, r$3, s$9, i$9) {
9775
9775
  return i$9 === "center" ? n$5 = Math.floor((r$3 - e$8) / 2) : i$9 === "right" && (n$5 = r$3 - e$8 - s$9), l$2 = r$3 - n$5 - e$8, [n$5, l$2];
9776
9776
  }
9777
9777
  const Dt = (e$8) => e$8, Tt$1 = (e$8 = "", r$3 = "", s$9) => {
9778
- const i$9 = s$9?.output ?? process.stdout, n$5 = rt$1(i$9), l$2 = 2, u$7 = s$9?.titlePadding ?? 1, o$7 = s$9?.contentPadding ?? 2, a$13 = s$9?.width === void 0 || s$9.width === "auto" ? 1 : Math.min(1, s$9.width), c$7 = (s$9?.withGuide ?? _$2.withGuide) !== !1 ? `${h$1} ` : "", g$3 = s$9?.formatBorder ?? Dt, E$2 = (s$9?.rounded ? xt$1 : _t).map(g$3), p$2 = g$3(se), y$5 = g$3(h$1), $ = M(c$7), m$3 = M(r$3), d$2 = n$5 - $;
9778
+ const i$9 = s$9?.output ?? process.stdout, n$5 = rt$1(i$9), l$2 = 2, u$7 = s$9?.titlePadding ?? 1, o$7 = s$9?.contentPadding ?? 2, a$13 = s$9?.width === void 0 || s$9.width === "auto" ? 1 : Math.min(1, s$9.width), c$7 = (s$9?.withGuide ?? _$2.withGuide) !== !1 ? `${h$1} ` : "", g$2 = s$9?.formatBorder ?? Dt, E$2 = (s$9?.rounded ? xt$1 : _t).map(g$2), p$2 = g$2(se), y$5 = g$2(h$1), $ = M(c$7), m$3 = M(r$3), d$2 = n$5 - $;
9779
9779
  let F$4 = Math.floor(n$5 * a$13) - $;
9780
9780
  if (s$9?.width === "auto") {
9781
9781
  const _$3 = e$8.split(`
@@ -9842,7 +9842,7 @@ ${import_picocolors.default.cyan(x$1)}
9842
9842
  return s$9;
9843
9843
  }, Ot = (e$8) => {
9844
9844
  const { selectableGroups: r$3 = !0, groupSpacing: s$9 = 0 } = e$8, i$9 = (l$2, u$7, o$7 = []) => {
9845
- const a$13 = l$2.label ?? String(l$2.value), c$7 = typeof l$2.group == "string", g$3 = c$7 && (o$7[o$7.indexOf(l$2) + 1] ?? { group: !0 }), E$2 = c$7 && g$3 && g$3.group === !0, p$2 = c$7 ? r$3 ? `${E$2 ? x$1 : h$1} ` : " " : "";
9845
+ const a$13 = l$2.label ?? String(l$2.value), c$7 = typeof l$2.group == "string", g$2 = c$7 && (o$7[o$7.indexOf(l$2) + 1] ?? { group: !0 }), E$2 = c$7 && g$2 && g$2.group === !0, p$2 = c$7 ? r$3 ? `${E$2 ? x$1 : h$1} ` : " " : "";
9846
9846
  let y$5 = "";
9847
9847
  if (s$9 > 0 && !c$7) {
9848
9848
  const m$3 = `
@@ -9893,19 +9893,19 @@ ${import_picocolors.default.gray(h$1)}` : ""}`;
9893
9893
  const o$7 = this.error.split(`
9894
9894
  `).map((a$13, c$7) => c$7 === 0 ? `${import_picocolors.default.yellow(x$1)} ${import_picocolors.default.yellow(a$13)}` : ` ${a$13}`).join(`
9895
9895
  `);
9896
- return `${l$2}${import_picocolors.default.yellow(h$1)} ${this.options.map((a$13, c$7, g$3) => {
9896
+ return `${l$2}${import_picocolors.default.yellow(h$1)} ${this.options.map((a$13, c$7, g$2) => {
9897
9897
  const E$2 = u$7.includes(a$13.value) || a$13.group === !0 && this.isGroupSelected(`${a$13.value}`), p$2 = c$7 === this.cursor;
9898
- return !p$2 && typeof a$13.group == "string" && this.options[this.cursor].value === a$13.group ? i$9(a$13, E$2 ? "group-active-selected" : "group-active", g$3) : p$2 && E$2 ? i$9(a$13, "active-selected", g$3) : E$2 ? i$9(a$13, "selected", g$3) : i$9(a$13, p$2 ? "active" : "inactive", g$3);
9898
+ return !p$2 && typeof a$13.group == "string" && this.options[this.cursor].value === a$13.group ? i$9(a$13, E$2 ? "group-active-selected" : "group-active", g$2) : p$2 && E$2 ? i$9(a$13, "active-selected", g$2) : E$2 ? i$9(a$13, "selected", g$2) : i$9(a$13, p$2 ? "active" : "inactive", g$2);
9899
9899
  }).join(`
9900
9900
  ${import_picocolors.default.yellow(h$1)} `)}
9901
9901
  ${o$7}
9902
9902
  `;
9903
9903
  }
9904
9904
  default: {
9905
- const o$7 = this.options.map((c$7, g$3, E$2) => {
9906
- const p$2 = u$7.includes(c$7.value) || c$7.group === !0 && this.isGroupSelected(`${c$7.value}`), y$5 = g$3 === this.cursor, $ = !y$5 && typeof c$7.group == "string" && this.options[this.cursor].value === c$7.group;
9905
+ const o$7 = this.options.map((c$7, g$2, E$2) => {
9906
+ const p$2 = u$7.includes(c$7.value) || c$7.group === !0 && this.isGroupSelected(`${c$7.value}`), y$5 = g$2 === this.cursor, $ = !y$5 && typeof c$7.group == "string" && this.options[this.cursor].value === c$7.group;
9907
9907
  let m$3 = "";
9908
- return $ ? m$3 = i$9(c$7, p$2 ? "group-active-selected" : "group-active", E$2) : y$5 && p$2 ? m$3 = i$9(c$7, "active-selected", E$2) : p$2 ? m$3 = i$9(c$7, "selected", E$2) : m$3 = i$9(c$7, y$5 ? "active" : "inactive", E$2), `${g$3 !== 0 && !m$3.startsWith(`
9908
+ return $ ? m$3 = i$9(c$7, p$2 ? "group-active-selected" : "group-active", E$2) : y$5 && p$2 ? m$3 = i$9(c$7, "active-selected", E$2) : p$2 ? m$3 = i$9(c$7, "selected", E$2) : m$3 = i$9(c$7, y$5 ? "active" : "inactive", E$2), `${g$2 !== 0 && !m$3.startsWith(`
9909
9909
  `) ? " " : ""}${m$3}`;
9910
9910
  }).join(`
9911
9911
  ${import_picocolors.default.cyan(h$1)}`), a$13 = o$7.startsWith(`
@@ -9919,14 +9919,14 @@ ${import_picocolors.default.cyan(x$1)}
9919
9919
  }).prompt();
9920
9920
  }, R = {
9921
9921
  message: (e$8 = [], { symbol: r$3 = import_picocolors.default.gray(h$1), secondarySymbol: s$9 = import_picocolors.default.gray(h$1), output: i$9 = process.stdout, spacing: n$5 = 1, withGuide: l$2 } = {}) => {
9922
- const u$7 = [], o$7 = (l$2 ?? _$2.withGuide) !== !1, a$13 = o$7 ? s$9 : "", c$7 = o$7 ? `${r$3} ` : "", g$3 = o$7 ? `${s$9} ` : "";
9922
+ const u$7 = [], o$7 = (l$2 ?? _$2.withGuide) !== !1, a$13 = o$7 ? s$9 : "", c$7 = o$7 ? `${r$3} ` : "", g$2 = o$7 ? `${s$9} ` : "";
9923
9923
  for (let p$2 = 0; p$2 < n$5; p$2++) u$7.push(a$13);
9924
9924
  const E$2 = Array.isArray(e$8) ? e$8 : e$8.split(`
9925
9925
  `);
9926
9926
  if (E$2.length > 0) {
9927
9927
  const [p$2, ...y$5] = E$2;
9928
9928
  p$2.length > 0 ? u$7.push(`${c$7}${p$2}`) : u$7.push(o$7 ? r$3 : "");
9929
- for (const $ of y$5) $.length > 0 ? u$7.push(`${g$3}${$}`) : u$7.push(o$7 ? "" : s$9);
9929
+ for (const $ of y$5) $.length > 0 ? u$7.push(`${g$2}${$}`) : u$7.push(o$7 ? "" : s$9);
9930
9930
  }
9931
9931
  i$9.write(`${u$7.join(`
9932
9932
  `)}
@@ -10019,7 +10019,7 @@ ${import_picocolors.default.gray(h$1)}`;
10019
10019
  const o$7 = `${import_picocolors.default.yellow(h$1)} `, a$13 = this.error.split(`
10020
10020
  `).map((E$2, p$2) => p$2 === 0 ? `${import_picocolors.default.yellow(x$1)} ${import_picocolors.default.yellow(E$2)}` : ` ${E$2}`).join(`
10021
10021
  `), c$7 = n$5.split(`
10022
- `).length, g$3 = a$13.split(`
10022
+ `).length, g$2 = a$13.split(`
10023
10023
  `).length + 1;
10024
10024
  return `${n$5}${o$7}${J$1({
10025
10025
  output: e$8.output,
@@ -10027,7 +10027,7 @@ ${import_picocolors.default.gray(h$1)}`;
10027
10027
  cursor: this.cursor,
10028
10028
  maxItems: e$8.maxItems,
10029
10029
  columnPadding: o$7.length,
10030
- rowPadding: c$7 + g$3,
10030
+ rowPadding: c$7 + g$2,
10031
10031
  style: u$7
10032
10032
  }).join(`
10033
10033
  ${o$7}`)}
@@ -10061,7 +10061,7 @@ ${import_picocolors.default.cyan(x$1)}
10061
10061
  `), l$2 = n$5.reduce((a$13, c$7) => Math.max(M(c$7), a$13), 0);
10062
10062
  return q$1(e$8, r$3 - (n$5.map(s$9).reduce((a$13, c$7) => Math.max(M(c$7), a$13), 0) - l$2), i$9);
10063
10063
  }, kt$1 = (e$8 = "", r$3 = "", s$9) => {
10064
- const i$9 = s$9?.output ?? g$1.stdout, n$5 = (s$9?.withGuide ?? _$2.withGuide) !== !1, l$2 = s$9?.format ?? jt, u$7 = [
10064
+ const i$9 = s$9?.output ?? process$1.stdout, n$5 = (s$9?.withGuide ?? _$2.withGuide) !== !1, l$2 = s$9?.format ?? jt, u$7 = [
10065
10065
  "",
10066
10066
  ...Vt$1(e$8, rt$1(i$9) - 6, l$2).split(`
10067
10067
  `).map(l$2),
@@ -10070,9 +10070,9 @@ ${import_picocolors.default.cyan(x$1)}
10070
10070
  const $ = M(y$5);
10071
10071
  return $ > p$2 ? $ : p$2;
10072
10072
  }, 0), o$7) + 2, c$7 = u$7.map((p$2) => `${import_picocolors.default.gray(h$1)} ${p$2}${" ".repeat(a$13 - M(p$2))}${import_picocolors.default.gray(h$1)}`).join(`
10073
- `), g$3 = n$5 ? `${import_picocolors.default.gray(h$1)}
10073
+ `), g$2 = n$5 ? `${import_picocolors.default.gray(h$1)}
10074
10074
  ` : "", E$2 = n$5 ? Ne : pe;
10075
- i$9.write(`${g$3}${import_picocolors.default.green(j$2)} ${import_picocolors.default.reset(r$3)} ${import_picocolors.default.gray(se.repeat(Math.max(a$13 - o$7 - 1, 1)) + he)}
10075
+ i$9.write(`${g$2}${import_picocolors.default.green(j$2)} ${import_picocolors.default.reset(r$3)} ${import_picocolors.default.gray(se.repeat(Math.max(a$13 - o$7 - 1, 1)) + he)}
10076
10076
  ${c$7}
10077
10077
  ${import_picocolors.default.gray(E$2 + se.repeat(a$13 + 2) + me)}
10078
10078
  `);
@@ -10150,7 +10150,7 @@ ${import_picocolors.default.cyan(x$1)}
10150
10150
  "0"
10151
10151
  ], delay: u$7 = ee$1 ? 80 : 120, signal: o$7, ...a$13 } = {}) => {
10152
10152
  const c$7 = ue();
10153
- let g$3, E$2, p$2 = !1, y$5 = !1, $ = "", m$3, d$2 = performance.now();
10153
+ let g$2, E$2, p$2 = !1, y$5 = !1, $ = "", m$3, d$2 = performance.now();
10154
10154
  const F$4 = rt$1(s$9), f$7 = a$13?.styleFrame ?? Ut, v$2 = (S$3) => {
10155
10155
  const O$6 = S$3 > 1 ? n$5 ?? _$2.messages.error : i$9 ?? _$2.messages.cancel;
10156
10156
  y$5 = S$3 === 1, p$2 && (L$3(O$6, S$3), y$5 && typeof r$3 == "function" && r$3());
@@ -10172,7 +10172,7 @@ ${import_picocolors.default.cyan(x$1)}
10172
10172
  const O$6 = (performance.now() - S$3) / 1e3, N$2 = Math.floor(O$6 / 60), G$3 = Math.floor(O$6 % 60);
10173
10173
  return N$2 > 0 ? `[${N$2}m ${G$3}s]` : `[${G$3}s]`;
10174
10174
  }, T$4 = (S$3 = "") => {
10175
- p$2 = !0, g$3 = xt({ output: s$9 }), $ = _$3(S$3), d$2 = performance.now(), s$9.write(`${import_picocolors.default.gray(h$1)}
10175
+ p$2 = !0, g$2 = xt({ output: s$9 }), $ = _$3(S$3), d$2 = performance.now(), s$9.write(`${import_picocolors.default.gray(h$1)}
10176
10176
  `);
10177
10177
  let O$6 = 0, N$2 = 0;
10178
10178
  b$2(), E$2 = setInterval(() => {
@@ -10198,7 +10198,7 @@ ${import_picocolors.default.cyan(x$1)}
10198
10198
  const N$2 = O$6 === 0 ? import_picocolors.default.green(j$2) : O$6 === 1 ? import_picocolors.default.red(ce) : import_picocolors.default.red(de$1);
10199
10199
  $ = S$3 ?? $, e$8 === "timer" ? s$9.write(`${N$2} ${$} ${D$2(d$2)}
10200
10200
  `) : s$9.write(`${N$2} ${$}
10201
- `), A$1(), g$3();
10201
+ `), A$1(), g$2();
10202
10202
  };
10203
10203
  return {
10204
10204
  start: T$4,
@@ -10339,7 +10339,7 @@ ${ze$1}${i$9.trimStart()}`), s$9 = 3 + stripVTControlCharacters(i$9.trimStart())
10339
10339
  full: ""
10340
10340
  }];
10341
10341
  let c$7 = !1;
10342
- const g$3 = (d$2) => {
10342
+ const g$2 = (d$2) => {
10343
10343
  if (a$13.length === 0) return;
10344
10344
  let F$4 = 0;
10345
10345
  d$2 && (F$4 += n$5 + 2);
@@ -10376,7 +10376,7 @@ ${d$2.value}` : d$2.value;
10376
10376
  (F$4 === void 0 || F$4.length === 0) && f$7.length === 0 || E$2(d$2, void 0, u$7 === !0 && v$2.length > 0);
10377
10377
  }
10378
10378
  }, y$5 = (d$2, F$4, f$7) => {
10379
- if (g$3(!1), (f$7?.raw !== !0 || !c$7) && d$2.value !== "" && (d$2.value += `
10379
+ if (g$2(!1), (f$7?.raw !== !0 || !c$7) && d$2.value !== "" && (d$2.value += `
10380
10380
  `), d$2.value += Yt(F$4), c$7 = f$7?.raw === !0, e$8.limit !== void 0) {
10381
10381
  const v$2 = d$2.value.split(`
10382
10382
  `), I$2 = v$2.length - e$8.limit;
@@ -10401,7 +10401,7 @@ ${d$2.value}` : d$2.value;
10401
10401
  spacing: 0
10402
10402
  }) : d$2.value !== "" && E$2(d$2, 0);
10403
10403
  }, m$3 = (d$2, F$4) => {
10404
- g$3(!1), d$2.result = F$4, o$7 && $();
10404
+ g$2(!1), d$2.result = F$4, o$7 && $();
10405
10405
  };
10406
10406
  return {
10407
10407
  message(d$2, F$4) {
@@ -10432,14 +10432,14 @@ ${d$2.value}` : d$2.value;
10432
10432
  };
10433
10433
  },
10434
10434
  error(d$2, F$4) {
10435
- g$3(!0), R.error(d$2, {
10435
+ g$2(!0), R.error(d$2, {
10436
10436
  output: r$3,
10437
10437
  secondarySymbol: i$9,
10438
10438
  spacing: 1
10439
10439
  }), F$4?.showLog !== !1 && p$2(), a$13.splice(1, a$13.length - 1), a$13[0].value = "", a$13[0].full = "";
10440
10440
  },
10441
10441
  success(d$2, F$4) {
10442
- g$3(!0), R.success(d$2, {
10442
+ g$2(!0), R.success(d$2, {
10443
10443
  output: r$3,
10444
10444
  secondarySymbol: i$9,
10445
10445
  spacing: 1
@@ -11251,7 +11251,7 @@ l$1.name;
11251
11251
  function n$4(e$8) {
11252
11252
  return e$8 ? e$8 !== "false" : false;
11253
11253
  }
11254
- const I = globalThis.process?.platform || "", T$2 = n$4(o$6.CI) || l$1.ci !== false, a$11 = n$4(globalThis.process?.stdout && globalThis.process?.stdout.isTTY), g$2 = n$4(o$6.DEBUG), R$3 = t$6 === "test" || n$4(o$6.TEST);
11254
+ const I = globalThis.process?.platform || "", T$2 = n$4(o$6.CI) || l$1.ci !== false, a$11 = n$4(globalThis.process?.stdout && globalThis.process?.stdout.isTTY), g$1 = n$4(o$6.DEBUG), R$3 = t$6 === "test" || n$4(o$6.TEST);
11255
11255
  n$4(o$6.MINIMAL);
11256
11256
  const A = /^win/i.test(I);
11257
11257
  !n$4(o$6.NO_COLOR) && (n$4(o$6.FORCE_COLOR) || (a$11 || A) && o$6.TERM);
@@ -11332,9 +11332,9 @@ function stringWidth$1(string, options$1 = {}) {
11332
11332
  return width;
11333
11333
  }
11334
11334
  function isUnicodeSupported() {
11335
- const { env: env$2 } = g$1;
11335
+ const { env: env$2 } = process$1;
11336
11336
  const { TERM, TERM_PROGRAM } = env$2;
11337
- if (g$1.platform !== "win32") return TERM !== "linux";
11337
+ if (process$1.platform !== "win32") return TERM !== "linux";
11338
11338
  return Boolean(env$2.WT_SESSION) || Boolean(env$2.TERMINUS_SUBLIME) || env$2.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env$2.TERMINAL_EMULATOR === "JetBrains-JediTerm";
11339
11339
  }
11340
11340
  const TYPE_COLOR_MAP = {
@@ -11421,13 +11421,13 @@ function createConsola$1(options$1 = {}) {
11421
11421
  defaults: { level },
11422
11422
  stdout: process.stdout,
11423
11423
  stderr: process.stderr,
11424
- prompt: (...args$2) => import("./prompt-Xph8KpUy.mjs").then((m$3) => m$3.prompt(...args$2)),
11424
+ prompt: (...args$2) => import("./prompt-Bv34_2Sl.mjs").then((m$3) => m$3.prompt(...args$2)),
11425
11425
  reporters: options$1.reporters || [options$1.fancy ?? !(T$2 || R$3) ? new FancyReporter() : new BasicReporter()],
11426
11426
  ...options$1
11427
11427
  });
11428
11428
  }
11429
11429
  function _getDefaultLogLevel() {
11430
- if (g$2) return LogLevels.debug;
11430
+ if (g$1) return LogLevels.debug;
11431
11431
  if (R$3) return LogLevels.warn;
11432
11432
  return LogLevels.info;
11433
11433
  }
@@ -11763,180 +11763,525 @@ async function runMain(cmd, opts = {}) {
11763
11763
  }
11764
11764
 
11765
11765
  //#endregion
11766
- //#region ../../node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs
11767
- const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
11768
- function normalizeWindowsPath(input = "") {
11769
- if (!input) return input;
11770
- return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r$3) => r$3.toUpperCase());
11766
+ //#region ../../node_modules/.pnpm/kolorist@1.8.0/node_modules/kolorist/dist/esm/index.mjs
11767
+ let enabled = true;
11768
+ const globalVar = typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
11769
+ /**
11770
+ * Detect how much colors the current terminal supports
11771
+ */
11772
+ let supportLevel = 0;
11773
+ if (globalVar.process && globalVar.process.env && globalVar.process.stdout) {
11774
+ const { FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, COLORTERM } = globalVar.process.env;
11775
+ if (NODE_DISABLE_COLORS || NO_COLOR || FORCE_COLOR === "0") enabled = false;
11776
+ else if (FORCE_COLOR === "1" || FORCE_COLOR === "2" || FORCE_COLOR === "3") enabled = true;
11777
+ else if (TERM === "dumb") enabled = false;
11778
+ else if ("CI" in globalVar.process.env && [
11779
+ "TRAVIS",
11780
+ "CIRCLECI",
11781
+ "APPVEYOR",
11782
+ "GITLAB_CI",
11783
+ "GITHUB_ACTIONS",
11784
+ "BUILDKITE",
11785
+ "DRONE"
11786
+ ].some((vendor) => vendor in globalVar.process.env)) enabled = true;
11787
+ else enabled = process.stdout.isTTY;
11788
+ if (enabled) if (process.platform === "win32") supportLevel = 3;
11789
+ else if (COLORTERM && (COLORTERM === "truecolor" || COLORTERM === "24bit")) supportLevel = 3;
11790
+ else if (TERM && (TERM.endsWith("-256color") || TERM.endsWith("256"))) supportLevel = 2;
11791
+ else supportLevel = 1;
11771
11792
  }
11772
- const _UNC_REGEX = /^[/\\]{2}/;
11773
- const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
11774
- const _DRIVE_LETTER_RE = /^[A-Za-z]:$/;
11775
- const _ROOT_FOLDER_RE = /^\/([A-Za-z]:)?$/;
11776
- const normalize = function(path$1) {
11777
- if (path$1.length === 0) return ".";
11778
- path$1 = normalizeWindowsPath(path$1);
11779
- const isUNCPath = path$1.match(_UNC_REGEX);
11780
- const isPathAbsolute = isAbsolute$1(path$1);
11781
- const trailingSeparator = path$1[path$1.length - 1] === "/";
11782
- path$1 = normalizeString(path$1, !isPathAbsolute);
11783
- if (path$1.length === 0) {
11784
- if (isPathAbsolute) return "/";
11785
- return trailingSeparator ? "./" : ".";
11786
- }
11787
- if (trailingSeparator) path$1 += "/";
11788
- if (_DRIVE_LETTER_RE.test(path$1)) path$1 += "/";
11789
- if (isUNCPath) {
11790
- if (!isPathAbsolute) return `//./${path$1}`;
11791
- return `//${path$1}`;
11792
- }
11793
- return isPathAbsolute && !isAbsolute$1(path$1) ? `/${path$1}` : path$1;
11794
- };
11795
- const join$1 = function(...segments) {
11796
- let path$1 = "";
11797
- for (const seg of segments) {
11798
- if (!seg) continue;
11799
- if (path$1.length > 0) {
11800
- const pathTrailing = path$1[path$1.length - 1] === "/";
11801
- const segLeading = seg[0] === "/";
11802
- if (pathTrailing && segLeading) path$1 += seg.slice(1);
11803
- else path$1 += pathTrailing || segLeading ? seg : `/${seg}`;
11804
- } else path$1 += seg;
11805
- }
11806
- return normalize(path$1);
11793
+ let options = {
11794
+ enabled,
11795
+ supportLevel
11807
11796
  };
11808
- function cwd() {
11809
- if (typeof process !== "undefined" && typeof process.cwd === "function") return process.cwd().replace(/\\/g, "/");
11810
- return "/";
11797
+ function kolorist(start, end, level = 1) {
11798
+ const open = `\x1b[${start}m`;
11799
+ const close = `\x1b[${end}m`;
11800
+ const regex$1 = new RegExp(`\\x1b\\[${end}m`, "g");
11801
+ return (str) => {
11802
+ return options.enabled && options.supportLevel >= level ? open + ("" + str).replace(regex$1, open) + close : "" + str;
11803
+ };
11811
11804
  }
11812
- const resolve$1 = function(...arguments_) {
11813
- arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));
11814
- let resolvedPath = "";
11815
- let resolvedAbsolute = false;
11816
- for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {
11817
- const path$1 = index >= 0 ? arguments_[index] : cwd();
11818
- if (!path$1 || path$1.length === 0) continue;
11819
- resolvedPath = `${path$1}/${resolvedPath}`;
11820
- resolvedAbsolute = isAbsolute$1(path$1);
11821
- }
11822
- resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);
11823
- if (resolvedAbsolute && !isAbsolute$1(resolvedPath)) return `/${resolvedPath}`;
11824
- return resolvedPath.length > 0 ? resolvedPath : ".";
11825
- };
11826
- function normalizeString(path$1, allowAboveRoot) {
11827
- let res = "";
11828
- let lastSegmentLength = 0;
11829
- let lastSlash = -1;
11830
- let dots = 0;
11831
- let char = null;
11832
- for (let index = 0; index <= path$1.length; ++index) {
11833
- if (index < path$1.length) char = path$1[index];
11834
- else if (char === "/") break;
11835
- else char = "/";
11836
- if (char === "/") {
11837
- if (lastSlash === index - 1 || dots === 1);
11838
- else if (dots === 2) {
11839
- if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") {
11840
- if (res.length > 2) {
11841
- const lastSlashIndex = res.lastIndexOf("/");
11842
- if (lastSlashIndex === -1) {
11843
- res = "";
11844
- lastSegmentLength = 0;
11845
- } else {
11846
- res = res.slice(0, lastSlashIndex);
11847
- lastSegmentLength = res.length - 1 - res.lastIndexOf("/");
11848
- }
11849
- lastSlash = index;
11850
- dots = 0;
11851
- continue;
11852
- } else if (res.length > 0) {
11853
- res = "";
11854
- lastSegmentLength = 0;
11855
- lastSlash = index;
11856
- dots = 0;
11857
- continue;
11858
- }
11859
- }
11860
- if (allowAboveRoot) {
11861
- res += res.length > 0 ? "/.." : "..";
11862
- lastSegmentLength = 2;
11863
- }
11864
- } else {
11865
- if (res.length > 0) res += `/${path$1.slice(lastSlash + 1, index)}`;
11866
- else res = path$1.slice(lastSlash + 1, index);
11867
- lastSegmentLength = index - lastSlash - 1;
11868
- }
11869
- lastSlash = index;
11870
- dots = 0;
11871
- } else if (char === "." && dots !== -1) ++dots;
11872
- else dots = -1;
11873
- }
11874
- return res;
11805
+ function stripColors(str) {
11806
+ return ("" + str).replace(/\x1b\[[0-9;]+m/g, "").replace(/\x1b\]8;;.*?\x07(.*?)\x1b\]8;;\x07/g, (_$3, group) => group);
11807
+ }
11808
+ const reset = kolorist(0, 0);
11809
+ const bold = kolorist(1, 22);
11810
+ const dim = kolorist(2, 22);
11811
+ const italic = kolorist(3, 23);
11812
+ const underline = kolorist(4, 24);
11813
+ const inverse = kolorist(7, 27);
11814
+ const hidden = kolorist(8, 28);
11815
+ const strikethrough = kolorist(9, 29);
11816
+ const black = kolorist(30, 39);
11817
+ const red = kolorist(31, 39);
11818
+ const green = kolorist(32, 39);
11819
+ const yellow = kolorist(33, 39);
11820
+ const blue$1 = kolorist(34, 39);
11821
+ const magenta = kolorist(35, 39);
11822
+ const cyan = kolorist(36, 39);
11823
+ const white = kolorist(97, 39);
11824
+ const gray = kolorist(90, 39);
11825
+ const lightGray = kolorist(37, 39);
11826
+ const lightRed = kolorist(91, 39);
11827
+ const lightGreen = kolorist(92, 39);
11828
+ const lightYellow = kolorist(93, 39);
11829
+ const lightBlue = kolorist(94, 39);
11830
+ const lightMagenta = kolorist(95, 39);
11831
+ const lightCyan = kolorist(96, 39);
11832
+ const bgBlack = kolorist(40, 49);
11833
+ const bgRed = kolorist(41, 49);
11834
+ const bgGreen = kolorist(42, 49);
11835
+ const bgYellow = kolorist(43, 49);
11836
+ const bgBlue = kolorist(44, 49);
11837
+ const bgMagenta = kolorist(45, 49);
11838
+ const bgCyan = kolorist(46, 49);
11839
+ const bgWhite = kolorist(107, 49);
11840
+ const bgGray = kolorist(100, 49);
11841
+ const bgLightRed = kolorist(101, 49);
11842
+ const bgLightGreen = kolorist(102, 49);
11843
+ const bgLightYellow = kolorist(103, 49);
11844
+ const bgLightBlue = kolorist(104, 49);
11845
+ const bgLightMagenta = kolorist(105, 49);
11846
+ const bgLightCyan = kolorist(106, 49);
11847
+ const bgLightGray = kolorist(47, 49);
11848
+ const ansi256 = (n$5) => kolorist("38;5;" + n$5, 0, 2);
11849
+ const OSC = "\x1B]";
11850
+ const BEL = "\x07";
11851
+ function link(text, url) {
11852
+ return options.enabled ? OSC + "8;;" + url + BEL + text + OSC + "8;;\x07" : `${text} (\u200B${url}\u200B)`;
11875
11853
  }
11876
- const isAbsolute$1 = function(p$2) {
11877
- return _IS_ABSOLUTE_RE.test(p$2);
11878
- };
11879
- const relative = function(from, to) {
11880
- const _from = resolve$1(from).replace(_ROOT_FOLDER_RE, "$1").split("/");
11881
- const _to = resolve$1(to).replace(_ROOT_FOLDER_RE, "$1").split("/");
11882
- if (_to[0][1] === ":" && _from[0][1] === ":" && _from[0] !== _to[0]) return _to.join("/");
11883
- const _fromCopy = [..._from];
11884
- for (const segment of _fromCopy) {
11885
- if (_to[0] !== segment) break;
11886
- _from.shift();
11887
- _to.shift();
11888
- }
11889
- return [..._from.map(() => ".."), ..._to].join("/");
11890
- };
11891
- const dirname$1 = function(p$2) {
11892
- const segments = normalizeWindowsPath(p$2).replace(/\/$/, "").split("/").slice(0, -1);
11893
- if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) segments[0] += "/";
11894
- return segments.join("/") || (isAbsolute$1(p$2) ? "/" : ".");
11895
- };
11896
- const basename = function(p$2, extension) {
11897
- const segments = normalizeWindowsPath(p$2).split("/");
11898
- let lastSegment = "";
11899
- for (let i$9 = segments.length - 1; i$9 >= 0; i$9--) {
11900
- const val = segments[i$9];
11901
- if (val) {
11902
- lastSegment = val;
11903
- break;
11904
- }
11905
- }
11906
- return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment;
11907
- };
11908
11854
 
11909
11855
  //#endregion
11910
- //#region ../../node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.mjs
11911
- function isPlainObject(value) {
11912
- if (value === null || typeof value !== "object") return false;
11913
- const prototype = Object.getPrototypeOf(value);
11914
- if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) return false;
11915
- if (Symbol.iterator in value) return false;
11916
- if (Symbol.toStringTag in value) return Object.prototype.toString.call(value) === "[object Module]";
11917
- return true;
11918
- }
11919
- function _defu(baseObject, defaults, namespace = ".", merger) {
11920
- if (!isPlainObject(defaults)) return _defu(baseObject, {}, namespace, merger);
11921
- const object = Object.assign({}, defaults);
11922
- for (const key in baseObject) {
11923
- if (key === "__proto__" || key === "constructor") continue;
11924
- const value = baseObject[key];
11925
- if (value === null || value === void 0) continue;
11926
- if (merger && merger(object, key, value, namespace)) continue;
11927
- if (Array.isArray(value) && Array.isArray(object[key])) object[key] = [...value, ...object[key]];
11928
- else if (isPlainObject(value) && isPlainObject(object[key])) object[key] = _defu(value, object[key], (namespace ? `${namespace}.` : "") + key.toString(), merger);
11929
- else object[key] = value;
11930
- }
11931
- return object;
11932
- }
11933
- function createDefu(merger) {
11934
- return (...arguments_) => arguments_.reduce((p$2, c$7) => _defu(p$2, c$7, "", merger), {});
11935
- }
11936
- const defu = createDefu();
11937
- const defuFn = createDefu((object, key, currentValue) => {
11938
- if (object[key] !== void 0 && typeof currentValue === "function") {
11939
- object[key] = currentValue(object[key]);
11856
+ //#region ../shared/src/prompts.ts
11857
+ async function prompt(args$2, cwd$1 = process.cwd()) {
11858
+ const options$1 = await Rt({
11859
+ name: () => {
11860
+ if (args$2.name) return Promise.resolve(args$2.name);
11861
+ if (!args$2.interactive) return Promise.resolve("vuetify-project");
11862
+ return Qt({
11863
+ message: i18n.t("prompts.project.name"),
11864
+ initialValue: "vuetify-project",
11865
+ validate: (value) => {
11866
+ const { validForNewPackages, errors: errors$1, warnings } = validate(value ? value.trim() : "");
11867
+ if (!validForNewPackages) return i18n.t("prompts.project.invalid", { error: (errors$1 || warnings)?.[0] });
11868
+ }
11869
+ });
11870
+ },
11871
+ force: ({ results }) => {
11872
+ const projectRoot = join(cwd$1, results.name || args$2.name);
11873
+ if (existsSync(projectRoot) && readdirSync(projectRoot).length > 0) {
11874
+ if (args$2.force) return Promise.resolve(true);
11875
+ if (!args$2.interactive) return Promise.resolve(false);
11876
+ return Mt({
11877
+ message: i18n.t("prompts.project.overwrite", { path: projectRoot }),
11878
+ initialValue: false
11879
+ });
11880
+ }
11881
+ return Promise.resolve(args$2.force || false);
11882
+ },
11883
+ platform: () => {
11884
+ if (args$2.platform) return Promise.resolve(args$2.platform);
11885
+ if (!args$2.interactive) return Promise.resolve("vue");
11886
+ return qt({
11887
+ message: i18n.t("prompts.framework.select"),
11888
+ initialValue: "vue",
11889
+ options: [{
11890
+ label: i18n.t("prompts.framework.vue"),
11891
+ value: "vue"
11892
+ }, {
11893
+ label: i18n.t("prompts.framework.nuxt"),
11894
+ value: "nuxt"
11895
+ }]
11896
+ });
11897
+ },
11898
+ type: () => {
11899
+ if (args$2.type) return Promise.resolve(args$2.type);
11900
+ if (!args$2.interactive) return Promise.resolve("vuetify");
11901
+ return qt({
11902
+ message: "Which version of Vuetify?",
11903
+ initialValue: "vuetify",
11904
+ options: [{
11905
+ label: "Vuetify",
11906
+ value: "vuetify",
11907
+ hint: "Standard Material Design Component Framework"
11908
+ }, {
11909
+ label: "Vuetify 0 (alpha)",
11910
+ value: "vuetify0",
11911
+ hint: "Headless Component Library"
11912
+ }]
11913
+ });
11914
+ },
11915
+ typescript: ({ results }) => {
11916
+ if ((results.platform || args$2.platform) === "vue" && args$2.typescript === void 0) return Mt({
11917
+ message: i18n.t("prompts.typescript.use"),
11918
+ initialValue: true
11919
+ });
11920
+ return Promise.resolve(args$2.typescript ?? true);
11921
+ },
11922
+ router: ({ results }) => {
11923
+ if (args$2.features) {
11924
+ if (args$2.features.includes("router") && args$2.features.includes("file-router")) {
11925
+ console.error(i18n.t("prompts.router.conflict"));
11926
+ process.exit(1);
11927
+ }
11928
+ if (args$2.features.includes("router")) return Promise.resolve("router");
11929
+ if (args$2.features.includes("file-router")) return Promise.resolve("file-router");
11930
+ return Promise.resolve("none");
11931
+ }
11932
+ if ((results.platform || args$2.platform) !== "vue") return Promise.resolve("none");
11933
+ return qt({
11934
+ message: i18n.t("prompts.router.select"),
11935
+ initialValue: "router",
11936
+ options: [
11937
+ {
11938
+ label: i18n.t("prompts.router.none"),
11939
+ value: "none"
11940
+ },
11941
+ {
11942
+ label: i18n.t("prompts.router.standard.label"),
11943
+ value: "router",
11944
+ hint: i18n.t("prompts.router.standard.hint")
11945
+ },
11946
+ {
11947
+ label: i18n.t("prompts.router.file.label"),
11948
+ value: "file-router",
11949
+ hint: i18n.t("prompts.router.file.hint")
11950
+ }
11951
+ ]
11952
+ });
11953
+ },
11954
+ features: ({ results }) => {
11955
+ if (args$2.features) return Promise.resolve(args$2.features.filter((f$7) => f$7 !== "router" && f$7 !== "file-router"));
11956
+ if (!args$2.interactive) return Promise.resolve([]);
11957
+ return (results.platform || args$2.platform) === "vue" ? Lt({
11958
+ message: i18n.t("prompts.features.select", { hint: dim("↑/↓ to navigate, space to select, a to toggle all, enter to confirm") }),
11959
+ options: [
11960
+ {
11961
+ label: i18n.t("prompts.features.eslint.label"),
11962
+ value: "eslint",
11963
+ hint: i18n.t("prompts.features.eslint.hint")
11964
+ },
11965
+ {
11966
+ label: i18n.t("prompts.features.mcp.label"),
11967
+ value: "mcp",
11968
+ hint: i18n.t("prompts.features.mcp.hint")
11969
+ },
11970
+ {
11971
+ label: i18n.t("prompts.features.pinia.label"),
11972
+ value: "pinia",
11973
+ hint: i18n.t("prompts.features.pinia.hint")
11974
+ },
11975
+ {
11976
+ label: i18n.t("prompts.features.i18n.label"),
11977
+ value: "i18n",
11978
+ hint: i18n.t("prompts.features.i18n.hint")
11979
+ }
11980
+ ],
11981
+ initialValues: ["eslint", "mcp"],
11982
+ required: false
11983
+ }) : Lt({
11984
+ message: i18n.t("prompts.features.select", { hint: dim("↑/↓ to navigate, space to select, a to toggle all, enter to confirm") }),
11985
+ options: [
11986
+ {
11987
+ label: i18n.t("prompts.features.eslint.label"),
11988
+ value: "eslint",
11989
+ hint: i18n.t("prompts.features.eslint.hint")
11990
+ },
11991
+ {
11992
+ label: i18n.t("prompts.features.vuetify_nuxt_module.label"),
11993
+ value: "vuetify-nuxt-module",
11994
+ hint: i18n.t("prompts.features.vuetify_nuxt_module.hint")
11995
+ },
11996
+ {
11997
+ label: i18n.t("prompts.features.mcp.label"),
11998
+ value: "mcp",
11999
+ hint: i18n.t("prompts.features.mcp.hint")
12000
+ },
12001
+ {
12002
+ label: i18n.t("prompts.features.pinia.label"),
12003
+ value: "pinia",
12004
+ hint: i18n.t("prompts.features.pinia.hint")
12005
+ },
12006
+ {
12007
+ label: i18n.t("prompts.features.i18n.label"),
12008
+ value: "i18n",
12009
+ hint: i18n.t("prompts.features.i18n.hint")
12010
+ }
12011
+ ],
12012
+ initialValues: [
12013
+ "eslint",
12014
+ "vuetify-nuxt-module",
12015
+ "mcp"
12016
+ ],
12017
+ required: false
12018
+ });
12019
+ },
12020
+ clientHints: ({ results }) => {
12021
+ if (args$2.clientHints !== void 0) return Promise.resolve(args$2.clientHints);
12022
+ if (!args$2.interactive) return Promise.resolve(false);
12023
+ const platform$1 = results.platform || args$2.platform;
12024
+ const features$2 = results.features || args$2.features || [];
12025
+ if (platform$1 === "nuxt" && features$2.includes("vuetify-nuxt-module")) return Mt({
12026
+ message: i18n.t("prompts.client_hints.enable"),
12027
+ initialValue: false
12028
+ });
12029
+ return Promise.resolve(false);
12030
+ },
12031
+ packageManager: () => {
12032
+ if (args$2.packageManager) return Promise.resolve(args$2.packageManager);
12033
+ if (args$2.install === false) return Promise.resolve("none");
12034
+ if (!args$2.interactive) return Promise.resolve(getUserAgent() ?? "npm");
12035
+ return qt({
12036
+ message: i18n.t("prompts.package_manager.select"),
12037
+ initialValue: getUserAgent() ?? "npm",
12038
+ options: [
12039
+ {
12040
+ label: "npm",
12041
+ value: "npm"
12042
+ },
12043
+ {
12044
+ label: "pnpm",
12045
+ value: "pnpm"
12046
+ },
12047
+ {
12048
+ label: "yarn",
12049
+ value: "yarn"
12050
+ },
12051
+ {
12052
+ label: "deno",
12053
+ value: "deno"
12054
+ },
12055
+ {
12056
+ label: "bun",
12057
+ value: "bun"
12058
+ },
12059
+ {
12060
+ label: "none",
12061
+ value: "none"
12062
+ }
12063
+ ]
12064
+ });
12065
+ },
12066
+ install: ({ results }) => {
12067
+ if (args$2.install !== void 0) return Promise.resolve(args$2.install);
12068
+ if (!args$2.interactive) return Promise.resolve(false);
12069
+ if ((results.packageManager || args$2.packageManager) === "none") return Promise.resolve(false);
12070
+ return Mt({
12071
+ message: i18n.t("prompts.install"),
12072
+ initialValue: true
12073
+ });
12074
+ }
12075
+ }, { onCancel: () => {
12076
+ Pt(i18n.t("prompts.cancel"));
12077
+ process.exit(0);
12078
+ } });
12079
+ const features$1 = [...options$1.features, options$1.router].filter((f$7) => f$7 && f$7 !== "none");
12080
+ return {
12081
+ ...options$1,
12082
+ features: features$1
12083
+ };
12084
+ }
12085
+
12086
+ //#endregion
12087
+ //#region ../shared/src/utils/banner.ts
12088
+ const colorfulBanner = `  \`$$$$$$$$$ii$$$\`  .;T$$$$$$$$$:\`
12089
+    T$$$$$$i$$$$\`  .$$$l$$$$$$$: 
12090
+     T$$$$ii$$$\`  .$$$$ll$$$$$:  
12091
+      \`$$$l$$F\`  :$$$$$$i$$$$\`   
12092
+        T$i$F   :$$$$$$$l$$F     
12093
+         \`:F   :$$$$$$$$i$:      
12094
+          \`   :$$$$$$$$l$\`       
12095
+             :$$$$$$$$j$\`        
12096
+             \`$$$$$$$j$\`         
12097
+               T$$$$l$\`          
12098
+                \`$$i$\`           
12099
+                 \`T:             
12100
+ `;
12101
+ const unstyledBanner = stripColors(colorfulBanner);
12102
+ const coloredBanner = blue$1(unstyledBanner);
12103
+ function createBanner() {
12104
+ if (!options.enabled) return unstyledBanner;
12105
+ else if (options.supportLevel < 2) return coloredBanner;
12106
+ return colorfulBanner;
12107
+ }
12108
+ const banner = createBanner();
12109
+
12110
+ //#endregion
12111
+ //#region ../../node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs
12112
+ const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
12113
+ function normalizeWindowsPath(input = "") {
12114
+ if (!input) return input;
12115
+ return input.replace(/\\/g, "/").replace(_DRIVE_LETTER_START_RE, (r$3) => r$3.toUpperCase());
12116
+ }
12117
+ const _UNC_REGEX = /^[/\\]{2}/;
12118
+ const _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
12119
+ const _DRIVE_LETTER_RE = /^[A-Za-z]:$/;
12120
+ const _ROOT_FOLDER_RE = /^\/([A-Za-z]:)?$/;
12121
+ const normalize = function(path$1) {
12122
+ if (path$1.length === 0) return ".";
12123
+ path$1 = normalizeWindowsPath(path$1);
12124
+ const isUNCPath = path$1.match(_UNC_REGEX);
12125
+ const isPathAbsolute = isAbsolute$1(path$1);
12126
+ const trailingSeparator = path$1[path$1.length - 1] === "/";
12127
+ path$1 = normalizeString(path$1, !isPathAbsolute);
12128
+ if (path$1.length === 0) {
12129
+ if (isPathAbsolute) return "/";
12130
+ return trailingSeparator ? "./" : ".";
12131
+ }
12132
+ if (trailingSeparator) path$1 += "/";
12133
+ if (_DRIVE_LETTER_RE.test(path$1)) path$1 += "/";
12134
+ if (isUNCPath) {
12135
+ if (!isPathAbsolute) return `//./${path$1}`;
12136
+ return `//${path$1}`;
12137
+ }
12138
+ return isPathAbsolute && !isAbsolute$1(path$1) ? `/${path$1}` : path$1;
12139
+ };
12140
+ const join$1 = function(...segments) {
12141
+ let path$1 = "";
12142
+ for (const seg of segments) {
12143
+ if (!seg) continue;
12144
+ if (path$1.length > 0) {
12145
+ const pathTrailing = path$1[path$1.length - 1] === "/";
12146
+ const segLeading = seg[0] === "/";
12147
+ if (pathTrailing && segLeading) path$1 += seg.slice(1);
12148
+ else path$1 += pathTrailing || segLeading ? seg : `/${seg}`;
12149
+ } else path$1 += seg;
12150
+ }
12151
+ return normalize(path$1);
12152
+ };
12153
+ function cwd() {
12154
+ if (typeof process !== "undefined" && typeof process.cwd === "function") return process.cwd().replace(/\\/g, "/");
12155
+ return "/";
12156
+ }
12157
+ const resolve$1 = function(...arguments_) {
12158
+ arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));
12159
+ let resolvedPath = "";
12160
+ let resolvedAbsolute = false;
12161
+ for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {
12162
+ const path$1 = index >= 0 ? arguments_[index] : cwd();
12163
+ if (!path$1 || path$1.length === 0) continue;
12164
+ resolvedPath = `${path$1}/${resolvedPath}`;
12165
+ resolvedAbsolute = isAbsolute$1(path$1);
12166
+ }
12167
+ resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);
12168
+ if (resolvedAbsolute && !isAbsolute$1(resolvedPath)) return `/${resolvedPath}`;
12169
+ return resolvedPath.length > 0 ? resolvedPath : ".";
12170
+ };
12171
+ function normalizeString(path$1, allowAboveRoot) {
12172
+ let res = "";
12173
+ let lastSegmentLength = 0;
12174
+ let lastSlash = -1;
12175
+ let dots = 0;
12176
+ let char = null;
12177
+ for (let index = 0; index <= path$1.length; ++index) {
12178
+ if (index < path$1.length) char = path$1[index];
12179
+ else if (char === "/") break;
12180
+ else char = "/";
12181
+ if (char === "/") {
12182
+ if (lastSlash === index - 1 || dots === 1);
12183
+ else if (dots === 2) {
12184
+ if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== "." || res[res.length - 2] !== ".") {
12185
+ if (res.length > 2) {
12186
+ const lastSlashIndex = res.lastIndexOf("/");
12187
+ if (lastSlashIndex === -1) {
12188
+ res = "";
12189
+ lastSegmentLength = 0;
12190
+ } else {
12191
+ res = res.slice(0, lastSlashIndex);
12192
+ lastSegmentLength = res.length - 1 - res.lastIndexOf("/");
12193
+ }
12194
+ lastSlash = index;
12195
+ dots = 0;
12196
+ continue;
12197
+ } else if (res.length > 0) {
12198
+ res = "";
12199
+ lastSegmentLength = 0;
12200
+ lastSlash = index;
12201
+ dots = 0;
12202
+ continue;
12203
+ }
12204
+ }
12205
+ if (allowAboveRoot) {
12206
+ res += res.length > 0 ? "/.." : "..";
12207
+ lastSegmentLength = 2;
12208
+ }
12209
+ } else {
12210
+ if (res.length > 0) res += `/${path$1.slice(lastSlash + 1, index)}`;
12211
+ else res = path$1.slice(lastSlash + 1, index);
12212
+ lastSegmentLength = index - lastSlash - 1;
12213
+ }
12214
+ lastSlash = index;
12215
+ dots = 0;
12216
+ } else if (char === "." && dots !== -1) ++dots;
12217
+ else dots = -1;
12218
+ }
12219
+ return res;
12220
+ }
12221
+ const isAbsolute$1 = function(p$2) {
12222
+ return _IS_ABSOLUTE_RE.test(p$2);
12223
+ };
12224
+ const relative = function(from, to) {
12225
+ const _from = resolve$1(from).replace(_ROOT_FOLDER_RE, "$1").split("/");
12226
+ const _to = resolve$1(to).replace(_ROOT_FOLDER_RE, "$1").split("/");
12227
+ if (_to[0][1] === ":" && _from[0][1] === ":" && _from[0] !== _to[0]) return _to.join("/");
12228
+ const _fromCopy = [..._from];
12229
+ for (const segment of _fromCopy) {
12230
+ if (_to[0] !== segment) break;
12231
+ _from.shift();
12232
+ _to.shift();
12233
+ }
12234
+ return [..._from.map(() => ".."), ..._to].join("/");
12235
+ };
12236
+ const dirname$1 = function(p$2) {
12237
+ const segments = normalizeWindowsPath(p$2).replace(/\/$/, "").split("/").slice(0, -1);
12238
+ if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) segments[0] += "/";
12239
+ return segments.join("/") || (isAbsolute$1(p$2) ? "/" : ".");
12240
+ };
12241
+ const basename = function(p$2, extension) {
12242
+ const segments = normalizeWindowsPath(p$2).split("/");
12243
+ let lastSegment = "";
12244
+ for (let i$9 = segments.length - 1; i$9 >= 0; i$9--) {
12245
+ const val = segments[i$9];
12246
+ if (val) {
12247
+ lastSegment = val;
12248
+ break;
12249
+ }
12250
+ }
12251
+ return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment;
12252
+ };
12253
+
12254
+ //#endregion
12255
+ //#region ../../node_modules/.pnpm/defu@6.1.4/node_modules/defu/dist/defu.mjs
12256
+ function isPlainObject(value) {
12257
+ if (value === null || typeof value !== "object") return false;
12258
+ const prototype = Object.getPrototypeOf(value);
12259
+ if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) return false;
12260
+ if (Symbol.iterator in value) return false;
12261
+ if (Symbol.toStringTag in value) return Object.prototype.toString.call(value) === "[object Module]";
12262
+ return true;
12263
+ }
12264
+ function _defu(baseObject, defaults, namespace = ".", merger) {
12265
+ if (!isPlainObject(defaults)) return _defu(baseObject, {}, namespace, merger);
12266
+ const object = Object.assign({}, defaults);
12267
+ for (const key in baseObject) {
12268
+ if (key === "__proto__" || key === "constructor") continue;
12269
+ const value = baseObject[key];
12270
+ if (value === null || value === void 0) continue;
12271
+ if (merger && merger(object, key, value, namespace)) continue;
12272
+ if (Array.isArray(value) && Array.isArray(object[key])) object[key] = [...value, ...object[key]];
12273
+ else if (isPlainObject(value) && isPlainObject(object[key])) object[key] = _defu(value, object[key], (namespace ? `${namespace}.` : "") + key.toString(), merger);
12274
+ else object[key] = value;
12275
+ }
12276
+ return object;
12277
+ }
12278
+ function createDefu(merger) {
12279
+ return (...arguments_) => arguments_.reduce((p$2, c$7) => _defu(p$2, c$7, "", merger), {});
12280
+ }
12281
+ const defu = createDefu();
12282
+ const defuFn = createDefu((object, key, currentValue) => {
12283
+ if (object[key] !== void 0 && typeof currentValue === "function") {
12284
+ object[key] = currentValue(object[key]);
11940
12285
  return true;
11941
12286
  }
11942
12287
  });
@@ -24026,13 +24371,13 @@ function w$1() {
24026
24371
  if (i$5) return f$3;
24027
24372
  i$5 = 1;
24028
24373
  const v$2 = (e$8, r$3) => {
24029
- if (Number.isSafeInteger(e$8)) e$8 < 0 ? g$3(e$8, r$3) : p$2(e$8, r$3);
24374
+ if (Number.isSafeInteger(e$8)) e$8 < 0 ? g$2(e$8, r$3) : p$2(e$8, r$3);
24030
24375
  else throw Error("cannot encode number outside of javascript safe integer range");
24031
24376
  return r$3;
24032
24377
  }, p$2 = (e$8, r$3) => {
24033
24378
  r$3[0] = 128;
24034
24379
  for (var o$7 = r$3.length; o$7 > 1; o$7--) r$3[o$7 - 1] = e$8 & 255, e$8 = Math.floor(e$8 / 256);
24035
- }, g$3 = (e$8, r$3) => {
24380
+ }, g$2 = (e$8, r$3) => {
24036
24381
  r$3[0] = 255;
24037
24382
  var o$7 = false;
24038
24383
  e$8 = e$8 * -1;
@@ -24090,7 +24435,7 @@ function E() {
24090
24435
  encode(e$8, t$8) {
24091
24436
  if (e$8 || (e$8 = this.block = Buffer.alloc(512), t$8 = 0), t$8 || (t$8 = 0), !(e$8.length >= t$8 + 512)) throw new Error("need 512 bytes for header");
24092
24437
  const i$9 = this.ctime || this.atime ? 130 : 155, h$2 = L$3(this.path || "", i$9), l$2 = h$2[0], n$5 = h$2[1];
24093
- this.needPax = h$2[2], this.needPax = m$3(e$8, t$8, 100, l$2) || this.needPax, this.needPax = c$7(e$8, t$8 + 100, 8, this.mode) || this.needPax, this.needPax = c$7(e$8, t$8 + 108, 8, this.uid) || this.needPax, this.needPax = c$7(e$8, t$8 + 116, 8, this.gid) || this.needPax, this.needPax = c$7(e$8, t$8 + 124, 12, this.size) || this.needPax, this.needPax = g$3(e$8, t$8 + 136, 12, this.mtime) || this.needPax, e$8[t$8 + 156] = this[a$13].charCodeAt(0), this.needPax = m$3(e$8, t$8 + 157, 100, this.linkpath) || this.needPax, e$8.write("ustar\x0000", t$8 + 257, 8), this.needPax = m$3(e$8, t$8 + 265, 32, this.uname) || this.needPax, this.needPax = m$3(e$8, t$8 + 297, 32, this.gname) || this.needPax, this.needPax = c$7(e$8, t$8 + 329, 8, this.devmaj) || this.needPax, this.needPax = c$7(e$8, t$8 + 337, 8, this.devmin) || this.needPax, this.needPax = m$3(e$8, t$8 + 345, i$9, n$5) || this.needPax, e$8[t$8 + 475] !== 0 ? this.needPax = m$3(e$8, t$8 + 345, 155, n$5) || this.needPax : (this.needPax = m$3(e$8, t$8 + 345, 130, n$5) || this.needPax, this.needPax = g$3(e$8, t$8 + 476, 12, this.atime) || this.needPax, this.needPax = g$3(e$8, t$8 + 488, 12, this.ctime) || this.needPax);
24438
+ this.needPax = h$2[2], this.needPax = m$3(e$8, t$8, 100, l$2) || this.needPax, this.needPax = c$7(e$8, t$8 + 100, 8, this.mode) || this.needPax, this.needPax = c$7(e$8, t$8 + 108, 8, this.uid) || this.needPax, this.needPax = c$7(e$8, t$8 + 116, 8, this.gid) || this.needPax, this.needPax = c$7(e$8, t$8 + 124, 12, this.size) || this.needPax, this.needPax = g$2(e$8, t$8 + 136, 12, this.mtime) || this.needPax, e$8[t$8 + 156] = this[a$13].charCodeAt(0), this.needPax = m$3(e$8, t$8 + 157, 100, this.linkpath) || this.needPax, e$8.write("ustar\x0000", t$8 + 257, 8), this.needPax = m$3(e$8, t$8 + 265, 32, this.uname) || this.needPax, this.needPax = m$3(e$8, t$8 + 297, 32, this.gname) || this.needPax, this.needPax = c$7(e$8, t$8 + 329, 8, this.devmaj) || this.needPax, this.needPax = c$7(e$8, t$8 + 337, 8, this.devmin) || this.needPax, this.needPax = m$3(e$8, t$8 + 345, i$9, n$5) || this.needPax, e$8[t$8 + 475] !== 0 ? this.needPax = m$3(e$8, t$8 + 345, 155, n$5) || this.needPax : (this.needPax = m$3(e$8, t$8 + 345, 130, n$5) || this.needPax, this.needPax = g$2(e$8, t$8 + 476, 12, this.atime) || this.needPax, this.needPax = g$2(e$8, t$8 + 488, 12, this.ctime) || this.needPax);
24094
24439
  let S$3 = 256;
24095
24440
  for (let p$2 = t$8; p$2 < t$8 + 148; p$2++) S$3 += e$8[p$2];
24096
24441
  for (let p$2 = t$8 + 156; p$2 < t$8 + 512; p$2++) S$3 += e$8[p$2];
@@ -24140,7 +24485,7 @@ function E() {
24140
24485
  }, d$2 = (s$9, e$8, t$8) => s$9.slice(e$8, e$8 + t$8).toString("utf8").replace(/\0.*/, ""), o$7 = (s$9, e$8, t$8) => N$2(r$3(s$9, e$8, t$8)), N$2 = (s$9) => s$9 === null ? null : /* @__PURE__ */ new Date(s$9 * 1e3), r$3 = (s$9, e$8, t$8) => s$9[e$8] & 128 ? y$5.parse(s$9.slice(e$8, e$8 + t$8)) : j$4(s$9, e$8, t$8), q$2 = (s$9) => isNaN(s$9) ? null : s$9, j$4 = (s$9, e$8, t$8) => q$2(parseInt(s$9.slice(e$8, e$8 + t$8).toString("utf8").replace(/\0.*$/, "").trim(), 8)), v$2 = {
24141
24486
  12: 8589934591,
24142
24487
  8: 2097151
24143
- }, c$7 = (s$9, e$8, t$8, i$9) => i$9 === null ? false : i$9 > v$2[t$8] || i$9 < 0 ? (y$5.encode(i$9, s$9.slice(e$8, e$8 + t$8)), true) : ($(s$9, e$8, t$8, i$9), false), $ = (s$9, e$8, t$8, i$9) => s$9.write(_$3(i$9, t$8), e$8, t$8, "ascii"), _$3 = (s$9, e$8) => z$3(Math.floor(s$9).toString(8), e$8), z$3 = (s$9, e$8) => (s$9.length === e$8 - 1 ? s$9 : new Array(e$8 - s$9.length - 1).join("0") + s$9 + " ") + "\0", g$3 = (s$9, e$8, t$8, i$9) => i$9 === null ? false : c$7(s$9, e$8, t$8, i$9.getTime() / 1e3), A$1 = new Array(156).join("\0"), m$3 = (s$9, e$8, t$8, i$9) => i$9 === null ? false : (s$9.write(i$9 + A$1, e$8, t$8, "utf8"), i$9.length !== Buffer.byteLength(i$9) || i$9.length > t$8);
24488
+ }, c$7 = (s$9, e$8, t$8, i$9) => i$9 === null ? false : i$9 > v$2[t$8] || i$9 < 0 ? (y$5.encode(i$9, s$9.slice(e$8, e$8 + t$8)), true) : ($(s$9, e$8, t$8, i$9), false), $ = (s$9, e$8, t$8, i$9) => s$9.write(_$3(i$9, t$8), e$8, t$8, "ascii"), _$3 = (s$9, e$8) => z$3(Math.floor(s$9).toString(8), e$8), z$3 = (s$9, e$8) => (s$9.length === e$8 - 1 ? s$9 : new Array(e$8 - s$9.length - 1).join("0") + s$9 + " ") + "\0", g$2 = (s$9, e$8, t$8, i$9) => i$9 === null ? false : c$7(s$9, e$8, t$8, i$9.getTime() / 1e3), A$1 = new Array(156).join("\0"), m$3 = (s$9, e$8, t$8, i$9) => i$9 === null ? false : (s$9.write(i$9 + A$1, e$8, t$8, "utf8"), i$9.length !== Buffer.byteLength(i$9) || i$9.length > t$8);
24144
24489
  return k = B, k;
24145
24490
  }
24146
24491
  var e$3, t$3;
@@ -24292,7 +24637,7 @@ function ft() {
24292
24637
  const H$5 = typeof process == "object" && process ? process : {
24293
24638
  stdout: null,
24294
24639
  stderr: null
24295
- }, Z$2 = nt, q$2 = ot, G$3 = ht.StringDecoder, m$3 = Symbol("EOF"), d$2 = Symbol("maybeEmitEnd"), y$5 = Symbol("emittedEnd"), R$4 = Symbol("emittingEnd"), g$3 = Symbol("emittedError"), B = Symbol("closed"), Y$1 = Symbol("read"), T$4 = Symbol("flush"), $ = Symbol("flushChunk"), f$7 = Symbol("encoding"), c$7 = Symbol("decoder"), M$2 = Symbol("flowing"), S$3 = Symbol("paused"), b$2 = Symbol("resume"), i$9 = Symbol("buffer"), a$13 = Symbol("pipes"), n$5 = Symbol("bufferLength"), j$4 = Symbol("bufferPush"), I$2 = Symbol("bufferShift"), o$7 = Symbol("objectMode"), r$3 = Symbol("destroyed"), P$3 = Symbol("error"), x$3 = Symbol("emitData"), V$2 = Symbol("emitEnd"), N$2 = Symbol("emitEnd2"), p$2 = Symbol("async"), _$3 = Symbol("abort"), O$6 = Symbol("aborted"), E$2 = Symbol("signal"), w$4 = (h$2) => Promise.resolve().then(h$2), J$2 = commonjsGlobal._MP_NO_ITERATOR_SYMBOLS_ !== "1", K$2 = J$2 && Symbol.asyncIterator || Symbol("asyncIterator not implemented"), W$2 = J$2 && Symbol.iterator || Symbol("iterator not implemented"), k$3 = (h$2) => h$2 === "end" || h$2 === "finish" || h$2 === "prefinish", tt$2 = (h$2) => h$2 instanceof ArrayBuffer || typeof h$2 == "object" && h$2.constructor && h$2.constructor.name === "ArrayBuffer" && h$2.byteLength >= 0, et$1 = (h$2) => !Buffer.isBuffer(h$2) && ArrayBuffer.isView(h$2);
24640
+ }, Z$2 = nt, q$2 = ot, G$3 = ht.StringDecoder, m$3 = Symbol("EOF"), d$2 = Symbol("maybeEmitEnd"), y$5 = Symbol("emittedEnd"), R$4 = Symbol("emittingEnd"), g$2 = Symbol("emittedError"), B = Symbol("closed"), Y$1 = Symbol("read"), T$4 = Symbol("flush"), $ = Symbol("flushChunk"), f$7 = Symbol("encoding"), c$7 = Symbol("decoder"), M$2 = Symbol("flowing"), S$3 = Symbol("paused"), b$2 = Symbol("resume"), i$9 = Symbol("buffer"), a$13 = Symbol("pipes"), n$5 = Symbol("bufferLength"), j$4 = Symbol("bufferPush"), I$2 = Symbol("bufferShift"), o$7 = Symbol("objectMode"), r$3 = Symbol("destroyed"), P$3 = Symbol("error"), x$3 = Symbol("emitData"), V$2 = Symbol("emitEnd"), N$2 = Symbol("emitEnd2"), p$2 = Symbol("async"), _$3 = Symbol("abort"), O$6 = Symbol("aborted"), E$2 = Symbol("signal"), w$4 = (h$2) => Promise.resolve().then(h$2), J$2 = commonjsGlobal._MP_NO_ITERATOR_SYMBOLS_ !== "1", K$2 = J$2 && Symbol.asyncIterator || Symbol("asyncIterator not implemented"), W$2 = J$2 && Symbol.iterator || Symbol("iterator not implemented"), k$3 = (h$2) => h$2 === "end" || h$2 === "finish" || h$2 === "prefinish", tt$2 = (h$2) => h$2 instanceof ArrayBuffer || typeof h$2 == "object" && h$2.constructor && h$2.constructor.name === "ArrayBuffer" && h$2.byteLength >= 0, et$1 = (h$2) => !Buffer.isBuffer(h$2) && ArrayBuffer.isView(h$2);
24296
24641
  class z$3 {
24297
24642
  constructor(t$8, e$8, s$9) {
24298
24643
  this.src = t$8, this.dest = e$8, this.opts = s$9, this.ondrain = () => t$8[b$2](), e$8.on("drain", this.ondrain);
@@ -24315,7 +24660,7 @@ function ft() {
24315
24660
  }
24316
24661
  class F$4 extends q$2 {
24317
24662
  constructor(t$8) {
24318
- super(), this[M$2] = false, this[S$3] = false, this[a$13] = [], this[i$9] = [], this[o$7] = t$8 && t$8.objectMode || false, this[o$7] ? this[f$7] = null : this[f$7] = t$8 && t$8.encoding || null, this[f$7] === "buffer" && (this[f$7] = null), this[p$2] = t$8 && !!t$8.async || false, this[c$7] = this[f$7] ? new G$3(this[f$7]) : null, this[m$3] = false, this[y$5] = false, this[R$4] = false, this[B] = false, this[g$3] = null, this.writable = true, this.readable = true, this[n$5] = 0, this[r$3] = false, t$8 && t$8.debugExposeBuffer === true && Object.defineProperty(this, "buffer", { get: () => this[i$9] }), t$8 && t$8.debugExposePipes === true && Object.defineProperty(this, "pipes", { get: () => this[a$13] }), this[E$2] = t$8 && t$8.signal, this[O$6] = false, this[E$2] && (this[E$2].addEventListener("abort", () => this[_$3]()), this[E$2].aborted && this[_$3]());
24663
+ super(), this[M$2] = false, this[S$3] = false, this[a$13] = [], this[i$9] = [], this[o$7] = t$8 && t$8.objectMode || false, this[o$7] ? this[f$7] = null : this[f$7] = t$8 && t$8.encoding || null, this[f$7] === "buffer" && (this[f$7] = null), this[p$2] = t$8 && !!t$8.async || false, this[c$7] = this[f$7] ? new G$3(this[f$7]) : null, this[m$3] = false, this[y$5] = false, this[R$4] = false, this[B] = false, this[g$2] = null, this.writable = true, this.readable = true, this[n$5] = 0, this[r$3] = false, t$8 && t$8.debugExposeBuffer === true && Object.defineProperty(this, "buffer", { get: () => this[i$9] }), t$8 && t$8.debugExposePipes === true && Object.defineProperty(this, "pipes", { get: () => this[a$13] }), this[E$2] = t$8 && t$8.signal, this[O$6] = false, this[E$2] && (this[E$2].addEventListener("abort", () => this[_$3]()), this[E$2].aborted && this[_$3]());
24319
24664
  }
24320
24665
  get bufferLength() {
24321
24666
  return this[n$5];
@@ -24417,7 +24762,7 @@ while (this[$](this[I$2]()) && this[i$9].length);
24417
24762
  }
24418
24763
  on(t$8, e$8) {
24419
24764
  const s$9 = super.on(t$8, e$8);
24420
- return t$8 === "data" && !this[a$13].length && !this.flowing ? this[b$2]() : t$8 === "readable" && this[n$5] !== 0 ? super.emit("readable") : k$3(t$8) && this[y$5] ? (super.emit(t$8), this.removeAllListeners(t$8)) : t$8 === "error" && this[g$3] && (this[p$2] ? w$4(() => e$8.call(this, this[g$3])) : e$8.call(this, this[g$3])), s$9;
24765
+ return t$8 === "data" && !this[a$13].length && !this.flowing ? this[b$2]() : t$8 === "readable" && this[n$5] !== 0 ? super.emit("readable") : k$3(t$8) && this[y$5] ? (super.emit(t$8), this.removeAllListeners(t$8)) : t$8 === "error" && this[g$2] && (this[p$2] ? w$4(() => e$8.call(this, this[g$2])) : e$8.call(this, this[g$2])), s$9;
24421
24766
  }
24422
24767
  get emittedEnd() {
24423
24768
  return this[y$5];
@@ -24434,7 +24779,7 @@ while (this[$](this[I$2]()) && this[i$9].length);
24434
24779
  const u$7 = super.emit("close");
24435
24780
  return this.removeAllListeners("close"), u$7;
24436
24781
  } else if (t$8 === "error") {
24437
- this[g$3] = e$8, super.emit(P$3, e$8);
24782
+ this[g$2] = e$8, super.emit(P$3, e$8);
24438
24783
  const u$7 = !this[E$2] || this.listeners("error").length ? super.emit("error", e$8) : false;
24439
24784
  return this[d$2](), u$7;
24440
24785
  } else if (t$8 === "resume") {
@@ -24958,18 +25303,18 @@ while (this[_$3](this[B]()));
24958
25303
  });
24959
25304
  if (this[u$7]) return Promise.resolve({ done: true });
24960
25305
  let i$9 = null, l$2 = null;
24961
- const f$7 = (g$3) => {
24962
- this.removeListener("data", A$1), this.removeListener("end", O$6), l$2(g$3);
24963
- }, A$1 = (g$3) => {
25306
+ const f$7 = (g$2) => {
25307
+ this.removeListener("data", A$1), this.removeListener("end", O$6), l$2(g$2);
25308
+ }, A$1 = (g$2) => {
24964
25309
  this.removeListener("error", f$7), this.removeListener("end", O$6), this.pause(), i$9({
24965
- value: g$3,
25310
+ value: g$2,
24966
25311
  done: !!this[u$7]
24967
25312
  });
24968
25313
  }, O$6 = () => {
24969
25314
  this.removeListener("error", f$7), this.removeListener("data", A$1), i$9({ done: true });
24970
25315
  }, W$2 = () => f$7(/* @__PURE__ */ new Error("stream destroyed"));
24971
- return new Promise((g$3, z$3) => {
24972
- l$2 = z$3, i$9 = g$3, this.once(n$5, W$2), this.once("error", f$7), this.once("end", O$6), this.once("data", A$1);
25316
+ return new Promise((g$2, z$3) => {
25317
+ l$2 = z$3, i$9 = g$2, this.once(n$5, W$2), this.once("error", f$7), this.once("end", O$6), this.once("data", A$1);
24973
25318
  });
24974
25319
  } };
24975
25320
  }
@@ -25003,11 +25348,11 @@ function J() {
25003
25348
  return "ZlibError";
25004
25349
  }
25005
25350
  }
25006
- const Z$2 = Symbol("opts"), p$2 = Symbol("flushFlag"), I$2 = Symbol("finishFlushFlag"), y$5 = Symbol("fullFlushFlag"), t$8 = Symbol("handle"), _$3 = Symbol("onError"), f$7 = Symbol("sawError"), F$4 = Symbol("level"), S$3 = Symbol("strategy"), g$3 = Symbol("ended");
25351
+ const Z$2 = Symbol("opts"), p$2 = Symbol("flushFlag"), I$2 = Symbol("finishFlushFlag"), y$5 = Symbol("fullFlushFlag"), t$8 = Symbol("handle"), _$3 = Symbol("onError"), f$7 = Symbol("sawError"), F$4 = Symbol("level"), S$3 = Symbol("strategy"), g$2 = Symbol("ended");
25007
25352
  class x$3 extends L$3 {
25008
25353
  constructor(s$9, e$8) {
25009
25354
  if (!s$9 || typeof s$9 != "object") throw new TypeError("invalid options for ZlibBase constructor");
25010
- super(s$9), this[f$7] = false, this[g$3] = false, this[Z$2] = s$9, this[p$2] = s$9.flush, this[I$2] = s$9.finishFlush;
25355
+ super(s$9), this[f$7] = false, this[g$2] = false, this[Z$2] = s$9, this[p$2] = s$9.flush, this[I$2] = s$9.finishFlush;
25011
25356
  try {
25012
25357
  this[t$8] = new z$3[e$8](s$9);
25013
25358
  } catch (i$9) {
@@ -25027,10 +25372,10 @@ function J() {
25027
25372
  this.ended || (typeof s$9 != "number" && (s$9 = this[y$5]), this.write(Object.assign(n$5.alloc(0), { [p$2]: s$9 })));
25028
25373
  }
25029
25374
  end(s$9, e$8, i$9) {
25030
- return s$9 && this.write(s$9, e$8), this.flush(this[I$2]), this[g$3] = true, super.end(null, null, i$9);
25375
+ return s$9 && this.write(s$9, e$8), this.flush(this[I$2]), this[g$2] = true, super.end(null, null, i$9);
25031
25376
  }
25032
25377
  get ended() {
25033
- return this[g$3];
25378
+ return this[g$2];
25034
25379
  }
25035
25380
  write(s$9, e$8, i$9) {
25036
25381
  if (typeof e$8 == "function" && (i$9 = e$8, e$8 = "utf8"), typeof s$9 == "string" && (s$9 = n$5.from(s$9, e$8)), this[f$7]) return;
@@ -25148,7 +25493,7 @@ var O$1, F$2;
25148
25493
  function rt() {
25149
25494
  if (F$2) return O$1;
25150
25495
  F$2 = 1;
25151
- const P$3 = c$4(), $ = E(), v$2 = nt, W$2 = c$3(), G$3 = 1024 * 1024, k$3 = u$3(), C$2 = f$2(), x$3 = J(), { nextTick: j$4 } = nt$1, B = Buffer.from([31, 139]), h$2 = Symbol("state"), d$2 = Symbol("writeEntry"), a$13 = Symbol("readEntry"), I$2 = Symbol("nextEntry"), U$1 = Symbol("processEntry"), l$2 = Symbol("extendedHeader"), y$5 = Symbol("globalExtendedHeader"), c$7 = Symbol("meta"), H$5 = Symbol("emitMeta"), n$5 = Symbol("buffer"), f$7 = Symbol("queue"), u$7 = Symbol("ended"), L$3 = Symbol("emittedEnd"), b$2 = Symbol("emit"), r$3 = Symbol("unzip"), _$3 = Symbol("consumeChunk"), g$3 = Symbol("consumeChunkSub"), q$2 = Symbol("consumeBody"), z$3 = Symbol("consumeMeta"), Y$1 = Symbol("consumeHeader"), N$2 = Symbol("consuming"), D$2 = Symbol("bufferConcat"), M$2 = Symbol("maybeEnd"), S$3 = Symbol("writing"), m$3 = Symbol("aborted"), T$4 = Symbol("onDone"), E$1$1 = Symbol("sawValidEntry"), R$4 = Symbol("sawNullBlock"), A$1 = Symbol("sawEOF"), V$2 = Symbol("closeStream"), K$2 = (X$3) => true;
25496
+ const P$3 = c$4(), $ = E(), v$2 = nt, W$2 = c$3(), G$3 = 1024 * 1024, k$3 = u$3(), C$2 = f$2(), x$3 = J(), { nextTick: j$4 } = nt$1, B = Buffer.from([31, 139]), h$2 = Symbol("state"), d$2 = Symbol("writeEntry"), a$13 = Symbol("readEntry"), I$2 = Symbol("nextEntry"), U$1 = Symbol("processEntry"), l$2 = Symbol("extendedHeader"), y$5 = Symbol("globalExtendedHeader"), c$7 = Symbol("meta"), H$5 = Symbol("emitMeta"), n$5 = Symbol("buffer"), f$7 = Symbol("queue"), u$7 = Symbol("ended"), L$3 = Symbol("emittedEnd"), b$2 = Symbol("emit"), r$3 = Symbol("unzip"), _$3 = Symbol("consumeChunk"), g$2 = Symbol("consumeChunkSub"), q$2 = Symbol("consumeBody"), z$3 = Symbol("consumeMeta"), Y$1 = Symbol("consumeHeader"), N$2 = Symbol("consuming"), D$2 = Symbol("bufferConcat"), M$2 = Symbol("maybeEnd"), S$3 = Symbol("writing"), m$3 = Symbol("aborted"), T$4 = Symbol("onDone"), E$1$1 = Symbol("sawValidEntry"), R$4 = Symbol("sawNullBlock"), A$1 = Symbol("sawEOF"), V$2 = Symbol("closeStream"), K$2 = (X$3) => true;
25152
25497
  return O$1 = P$3(class extends v$2 {
25153
25498
  constructor(t$8) {
25154
25499
  t$8 = t$8 || {}, super(t$8), this.file = t$8.file || "", this[E$1$1] = null, this.on(T$4, (s$9) => {
@@ -25285,17 +25630,17 @@ while (this[U$1](this[f$7].shift()));
25285
25630
  if (this[N$2] = true, this[n$5]) {
25286
25631
  this[D$2](t$8);
25287
25632
  const i$9 = this[n$5];
25288
- this[n$5] = null, this[g$3](i$9);
25289
- } else this[g$3](t$8);
25633
+ this[n$5] = null, this[g$2](i$9);
25634
+ } else this[g$2](t$8);
25290
25635
  for (; this[n$5] && this[n$5].length >= 512 && !this[m$3] && !this[A$1];) {
25291
25636
  const i$9 = this[n$5];
25292
- this[n$5] = null, this[g$3](i$9);
25637
+ this[n$5] = null, this[g$2](i$9);
25293
25638
  }
25294
25639
  this[N$2] = false;
25295
25640
  }
25296
25641
  (!this[n$5] || this[u$7]) && this[M$2]();
25297
25642
  }
25298
- [g$3](t$8) {
25643
+ [g$2](t$8) {
25299
25644
  let i$9 = 0;
25300
25645
  const s$9 = t$8.length;
25301
25646
  for (; i$9 + 512 <= s$9 && !this[m$3] && !this[A$1];) switch (this[h$2]) {
@@ -25333,7 +25678,7 @@ function X() {
25333
25678
  j$4.oncomplete = G$3, c$7.writeBuffers(e$8, i$9, $, j$4);
25334
25679
  };
25335
25680
  }
25336
- const m$3 = Symbol("_autoClose"), h$2 = Symbol("_close"), g$3 = Symbol("_ended"), s$9 = Symbol("_fd"), B = Symbol("_finished"), o$7 = Symbol("_flags"), x$3 = Symbol("_flush"), z$3 = Symbol("_handleChunk"), T$4 = Symbol("_makeBuf"), q$2 = Symbol("_mode"), E$2 = Symbol("_needDrain"), d$2 = Symbol("_onerror"), y$5 = Symbol("_onopen"), W$2 = Symbol("_onread"), _$3 = Symbol("_onwrite"), a$13 = Symbol("_open"), l$2 = Symbol("_path"), u$7 = Symbol("_pos"), n$5 = Symbol("_queue"), S$3 = Symbol("_read"), M$2 = Symbol("_readSize"), f$7 = Symbol("_reading"), k$3 = Symbol("_remain"), N$2 = Symbol("_size"), C$2 = Symbol("_write"), b$2 = Symbol("_writing"), F$4 = Symbol("_defaultFlag"), p$2 = Symbol("_errored");
25681
+ const m$3 = Symbol("_autoClose"), h$2 = Symbol("_close"), g$2 = Symbol("_ended"), s$9 = Symbol("_fd"), B = Symbol("_finished"), o$7 = Symbol("_flags"), x$3 = Symbol("_flush"), z$3 = Symbol("_handleChunk"), T$4 = Symbol("_makeBuf"), q$2 = Symbol("_mode"), E$2 = Symbol("_needDrain"), d$2 = Symbol("_onerror"), y$5 = Symbol("_onopen"), W$2 = Symbol("_onread"), _$3 = Symbol("_onwrite"), a$13 = Symbol("_open"), l$2 = Symbol("_path"), u$7 = Symbol("_pos"), n$5 = Symbol("_queue"), S$3 = Symbol("_read"), M$2 = Symbol("_readSize"), f$7 = Symbol("_reading"), k$3 = Symbol("_remain"), N$2 = Symbol("_size"), C$2 = Symbol("_write"), b$2 = Symbol("_writing"), F$4 = Symbol("_defaultFlag"), p$2 = Symbol("_errored");
25337
25682
  class D$2 extends H$5 {
25338
25683
  constructor(t$8, e$8) {
25339
25684
  if (e$8 = e$8 || {}, super(e$8), this.readable = true, this.writable = false, typeof t$8 != "string") throw new TypeError("path must be a string");
@@ -25430,7 +25775,7 @@ function X() {
25430
25775
  }
25431
25776
  class O$6 extends I$2 {
25432
25777
  constructor(t$8, e$8) {
25433
- e$8 = e$8 || {}, super(e$8), this.readable = false, this.writable = true, this[p$2] = false, this[b$2] = false, this[g$3] = false, this[E$2] = false, this[n$5] = [], this[l$2] = t$8, this[s$9] = typeof e$8.fd == "number" ? e$8.fd : null, this[q$2] = e$8.mode === void 0 ? 438 : e$8.mode, this[u$7] = typeof e$8.start == "number" ? e$8.start : null, this[m$3] = typeof e$8.autoClose == "boolean" ? e$8.autoClose : true;
25778
+ e$8 = e$8 || {}, super(e$8), this.readable = false, this.writable = true, this[p$2] = false, this[b$2] = false, this[g$2] = false, this[E$2] = false, this[n$5] = [], this[l$2] = t$8, this[s$9] = typeof e$8.fd == "number" ? e$8.fd : null, this[q$2] = e$8.mode === void 0 ? 438 : e$8.mode, this[u$7] = typeof e$8.start == "number" ? e$8.start : null, this[m$3] = typeof e$8.autoClose == "boolean" ? e$8.autoClose : true;
25434
25779
  const i$9 = this[u$7] !== null ? "r+" : "w";
25435
25780
  this[F$4] = e$8.flags === void 0, this[o$7] = this[F$4] ? i$9 : e$8.flags, this[s$9] === null && this[a$13]();
25436
25781
  }
@@ -25457,19 +25802,19 @@ function X() {
25457
25802
  this[F$4] && this[o$7] === "r+" && t$8 && t$8.code === "ENOENT" ? (this[o$7] = "w", this[a$13]()) : t$8 ? this[d$2](t$8) : (this[s$9] = e$8, this.emit("open", e$8), this[x$3]());
25458
25803
  }
25459
25804
  end(t$8, e$8) {
25460
- return t$8 && this.write(t$8, e$8), this[g$3] = true, !this[b$2] && !this[n$5].length && typeof this[s$9] == "number" && this[_$3](null, 0), this;
25805
+ return t$8 && this.write(t$8, e$8), this[g$2] = true, !this[b$2] && !this[n$5].length && typeof this[s$9] == "number" && this[_$3](null, 0), this;
25461
25806
  }
25462
25807
  write(t$8, e$8) {
25463
- return typeof t$8 == "string" && (t$8 = Buffer.from(t$8, e$8)), this[g$3] ? (this.emit("error", /* @__PURE__ */ new Error("write() after end()")), false) : this[s$9] === null || this[b$2] || this[n$5].length ? (this[n$5].push(t$8), this[E$2] = true, false) : (this[b$2] = true, this[C$2](t$8), true);
25808
+ return typeof t$8 == "string" && (t$8 = Buffer.from(t$8, e$8)), this[g$2] ? (this.emit("error", /* @__PURE__ */ new Error("write() after end()")), false) : this[s$9] === null || this[b$2] || this[n$5].length ? (this[n$5].push(t$8), this[E$2] = true, false) : (this[b$2] = true, this[C$2](t$8), true);
25464
25809
  }
25465
25810
  [C$2](t$8) {
25466
25811
  r$3.write(this[s$9], t$8, 0, t$8.length, this[u$7], (e$8, i$9) => this[_$3](e$8, i$9));
25467
25812
  }
25468
25813
  [_$3](t$8, e$8) {
25469
- t$8 ? this[d$2](t$8) : (this[u$7] !== null && (this[u$7] += e$8), this[n$5].length ? this[x$3]() : (this[b$2] = false, this[g$3] && !this[B] ? (this[B] = true, this[h$2](), this.emit("finish")) : this[E$2] && (this[E$2] = false, this.emit("drain"))));
25814
+ t$8 ? this[d$2](t$8) : (this[u$7] !== null && (this[u$7] += e$8), this[n$5].length ? this[x$3]() : (this[b$2] = false, this[g$2] && !this[B] ? (this[B] = true, this[h$2](), this.emit("finish")) : this[E$2] && (this[E$2] = false, this.emit("drain"))));
25470
25815
  }
25471
25816
  [x$3]() {
25472
- if (this[n$5].length === 0) this[g$3] && this[_$3](null, 0);
25817
+ if (this[n$5].length === 0) this[g$2] && this[_$3](null, 0);
25473
25818
  else if (this[n$5].length === 1) this[C$2](this[n$5].pop());
25474
25819
  else {
25475
25820
  const t$8 = this[n$5];
@@ -25745,7 +26090,7 @@ var R$2;
25745
26090
  function H() {
25746
26091
  if (R$2) return r$1.exports;
25747
26092
  R$2 = 1;
25748
- const g$3 = S(), l$2 = V, p$2 = H$2, x$3 = F$1(), y$5 = a$7();
26093
+ const g$2 = S(), l$2 = V, p$2 = H$2, x$3 = F$1(), y$5 = a$7();
25749
26094
  class D$2 extends Error {
25750
26095
  constructor(e$8, s$9) {
25751
26096
  super("Cannot extract through symbolic link"), this.path = s$9, this.symlink = e$8;
@@ -25774,7 +26119,7 @@ function H() {
25774
26119
  };
25775
26120
  if (h$2 && v$2(h$2, n$5) === true) return w$4();
25776
26121
  if (n$5 === d$2) return I$2(n$5, w$4);
25777
- if (u$7) return g$3(n$5, { mode: c$7 }).then((k$3) => w$4(null, k$3), w$4);
26122
+ if (u$7) return g$2(n$5, { mode: c$7 }).then((k$3) => w$4(null, k$3), w$4);
25778
26123
  C$2(d$2, y$5(p$2.relative(d$2, n$5)).split("/"), c$7, h$2, m$3, d$2, null, w$4);
25779
26124
  };
25780
26125
  const C$2 = (n$5, e$8, s$9, r$3, c$7, f$7, t$8, i$9) => {
@@ -25812,7 +26157,7 @@ function H() {
25812
26157
  };
25813
26158
  if (m$3 && v$2(m$3, n$5) === true) return d$2();
25814
26159
  if (n$5 === h$2) return L$3(h$2), d$2();
25815
- if (a$13) return d$2(g$3.sync(n$5, r$3));
26160
+ if (a$13) return d$2(g$2.sync(n$5, r$3));
25816
26161
  const $ = y$5(p$2.relative(h$2, n$5)).split("/");
25817
26162
  let S$3 = null;
25818
26163
  for (let k$3 = $.shift(), o$7 = h$2; k$3 && (o$7 += "/" + k$3); k$3 = $.shift()) if (o$7 = y$5(p$2.resolve(o$7)), !v$2(m$3, o$7)) try {
@@ -25865,7 +26210,7 @@ var u$1, f$1;
25865
26210
  function z() {
25866
26211
  if (f$1) return u$1;
25867
26212
  f$1 = 1;
25868
- const l$2 = j$1, m$3 = a$1(), g$3 = s(), { join: d$2 } = H$2, q$2 = (process.env.TESTING_TAR_FAKE_PLATFORM || process.platform) === "win32";
26213
+ const l$2 = j$1, m$3 = a$1(), g$2 = s(), { join: d$2 } = H$2, q$2 = (process.env.TESTING_TAR_FAKE_PLATFORM || process.platform) === "win32";
25869
26214
  return u$1 = () => {
25870
26215
  const i$9 = /* @__PURE__ */ new Map(), c$7 = /* @__PURE__ */ new Map(), v$2 = (e$8) => e$8.split("/").slice(0, -1).reduce((o$7, r$3) => (o$7.length && (r$3 = d$2(o$7[o$7.length - 1], r$3)), o$7.push(r$3 || "/"), o$7), []), a$13 = /* @__PURE__ */ new Set(), w$4 = (e$8) => {
25871
26216
  const s$9 = c$7.get(e$8);
@@ -25891,7 +26236,7 @@ function z() {
25891
26236
  return {
25892
26237
  check: h$2,
25893
26238
  reserve: (e$8, s$9) => {
25894
- e$8 = q$2 ? ["win32 parallelization disabled"] : e$8.map((r$3) => g$3(d$2(m$3(r$3))).toLowerCase());
26239
+ e$8 = q$2 ? ["win32 parallelization disabled"] : e$8.map((r$3) => g$2(d$2(m$3(r$3))).toLowerCase());
25895
26240
  const o$7 = new Set(e$8.map((r$3) => v$2(r$3)).reduce((r$3, t$8) => r$3.concat(t$8)));
25896
26241
  return c$7.set(s$9, {
25897
26242
  dirs: o$7,
@@ -25932,7 +26277,7 @@ var G, y;
25932
26277
  function Os() {
25933
26278
  if (y) return G;
25934
26279
  y = 1;
25935
- const ss = j$1, is = rt(), r$3 = V, es = X(), w$4 = H$2, M$2 = H(), K$2 = p(), ts = z(), os$1 = c(), l$2 = a$7(), rs = s(), hs = a$1(), H$1$1 = Symbol("onEntry"), q$2 = Symbol("checkFs"), Y$1 = Symbol("checkFs2"), v$2 = Symbol("pruneCache"), N$2 = Symbol("isReusable"), d$2 = Symbol("makeFs"), U$1 = Symbol("file"), F$1$1 = Symbol("directory"), O$6 = Symbol("link"), B = Symbol("symlink"), z$1$1 = Symbol("hardlink"), W$2 = Symbol("unsupported"), j$4 = Symbol("checkPath"), b$2 = Symbol("mkdir"), m$3 = Symbol("onError"), $ = Symbol("pending"), V$1$1 = Symbol("pend"), S$3 = Symbol("unpend"), P$3 = Symbol("ended"), A$1 = Symbol("maybeClose"), x$3 = Symbol("skip"), E$2 = Symbol("doChown"), R$4 = Symbol("uid"), _$3 = Symbol("gid"), g$3 = Symbol("checkedCwd"), X$1$1 = Ds, J$2 = F(), C$2 = (process.env.TESTING_TAR_FAKE_PLATFORM || process.platform) === "win32", cs = 1024, as = (a$13, s$9) => {
26280
+ const ss = j$1, is = rt(), r$3 = V, es = X(), w$4 = H$2, M$2 = H(), K$2 = p(), ts = z(), os$1 = c(), l$2 = a$7(), rs = s(), hs = a$1(), H$1$1 = Symbol("onEntry"), q$2 = Symbol("checkFs"), Y$1 = Symbol("checkFs2"), v$2 = Symbol("pruneCache"), N$2 = Symbol("isReusable"), d$2 = Symbol("makeFs"), U$1 = Symbol("file"), F$1$1 = Symbol("directory"), O$6 = Symbol("link"), B = Symbol("symlink"), z$1$1 = Symbol("hardlink"), W$2 = Symbol("unsupported"), j$4 = Symbol("checkPath"), b$2 = Symbol("mkdir"), m$3 = Symbol("onError"), $ = Symbol("pending"), V$1$1 = Symbol("pend"), S$3 = Symbol("unpend"), P$3 = Symbol("ended"), A$1 = Symbol("maybeClose"), x$3 = Symbol("skip"), E$2 = Symbol("doChown"), R$4 = Symbol("uid"), _$3 = Symbol("gid"), g$2 = Symbol("checkedCwd"), X$1$1 = Ds, J$2 = F(), C$2 = (process.env.TESTING_TAR_FAKE_PLATFORM || process.platform) === "win32", cs = 1024, as = (a$13, s$9) => {
25936
26281
  if (!C$2) return r$3.unlink(a$13, s$9);
25937
26282
  const i$9 = a$13 + ".DELETE." + X$1$1.randomBytes(16).toString("hex");
25938
26283
  r$3.rename(a$13, i$9, (e$8) => {
@@ -25956,7 +26301,7 @@ function Os() {
25956
26301
  constructor(s$9) {
25957
26302
  if (s$9 || (s$9 = {}), s$9.ondone = (i$9) => {
25958
26303
  this[P$3] = true, this[A$1]();
25959
- }, super(s$9), this[g$3] = false, this.reservations = ts(), this.transform = typeof s$9.transform == "function" ? s$9.transform : null, this.writable = true, this.readable = false, this[$] = 0, this[P$3] = false, this.dirCache = s$9.dirCache || /* @__PURE__ */ new Map(), typeof s$9.uid == "number" || typeof s$9.gid == "number") {
26304
+ }, super(s$9), this[g$2] = false, this.reservations = ts(), this.transform = typeof s$9.transform == "function" ? s$9.transform : null, this.writable = true, this.readable = false, this[$] = 0, this[P$3] = false, this.dirCache = s$9.dirCache || /* @__PURE__ */ new Map(), typeof s$9.uid == "number" || typeof s$9.gid == "number") {
25960
26305
  if (typeof s$9.uid != "number" || typeof s$9.gid != "number") throw new TypeError("cannot set owner without number uid and gid");
25961
26306
  if (s$9.preserveOwner) throw new TypeError("cannot preserve owner in archive and also set owner explicitly");
25962
26307
  this.uid = s$9.uid, this.gid = s$9.gid, this.setOwner = true;
@@ -26147,7 +26492,7 @@ function Os() {
26147
26492
  this[m$3](h$2, s$9), e$8();
26148
26493
  return;
26149
26494
  }
26150
- this[g$3] = true, o$7();
26495
+ this[g$2] = true, o$7();
26151
26496
  });
26152
26497
  }, o$7 = () => {
26153
26498
  if (s$9.absolute !== this.cwd) {
@@ -26179,7 +26524,7 @@ function Os() {
26179
26524
  as(s$9.absolute, (n$5) => this[d$2](n$5, s$9, e$8));
26180
26525
  });
26181
26526
  };
26182
- this[g$3] ? o$7() : t$8();
26527
+ this[g$2] ? o$7() : t$8();
26183
26528
  }
26184
26529
  [d$2](s$9, i$9, e$8) {
26185
26530
  if (s$9) {
@@ -26214,10 +26559,10 @@ function Os() {
26214
26559
  return super[d$2](s$9, i$9, () => {});
26215
26560
  }
26216
26561
  [q$2](s$9) {
26217
- if (this[v$2](s$9), !this[g$3]) {
26562
+ if (this[v$2](s$9), !this[g$2]) {
26218
26563
  const o$7 = this[b$2](this.cwd, this.dmode);
26219
26564
  if (o$7) return this[m$3](o$7, s$9);
26220
- this[g$3] = true;
26565
+ this[g$2] = true;
26221
26566
  }
26222
26567
  if (s$9.absolute !== this.cwd) {
26223
26568
  const o$7 = l$2(w$4.dirname(s$9.absolute));
@@ -26746,668 +27091,323 @@ const messages = {
26746
27091
  export default createI18n({
26747
27092
  legacy: false,
26748
27093
  locale: 'en',
26749
- fallbackLocale: 'en',
26750
- messages,
26751
- })
26752
- `;
26753
- }
26754
- function getNuxtI18nConfig(_ts) {
26755
- return `export default defineI18nConfig(() => ({
26756
- legacy: false,
26757
- locale: 'en',
26758
- messages: {
26759
- en: {
26760
- welcome: 'Welcome',
26761
- },
26762
- fr: {
26763
- welcome: 'Bienvenue',
26764
- },
26765
- },
26766
- }))
26767
- `;
26768
- }
26769
-
26770
- //#endregion
26771
- //#region ../shared/src/features/mcp.ts
26772
- const mcp = {
26773
- name: "mcp",
26774
- apply: async ({ cwd: cwd$1, pkg }) => {
26775
- pkg.devDependencies = pkg.devDependencies || {};
26776
- pkg.devDependencies["@intellectronica/ruler"] = dependencies["@intellectronica/ruler"];
26777
- pkg.scripts = pkg.scripts || {};
26778
- pkg.scripts["mcp"] = "ruler apply";
26779
- pkg.scripts["mcp:revert"] = "ruler revert";
26780
- const rulerDir = join(cwd$1, ".ruler");
26781
- await mkdir(rulerDir, { recursive: true });
26782
- await writeFile(join(rulerDir, "ruler.toml"), getRulerToml());
26783
- await writeFile(join(rulerDir, "AGENTS.md"), getAgentsMd());
26784
- }
26785
- };
26786
- function getRulerToml() {
26787
- return `# For a complete example, see: https://okigu.com/ruler#complete-example
26788
-
26789
- # List of agents to configure
26790
- default_agents = ["copilot", "claude", "trae"]
26791
-
26792
- [mcp_servers.vuetify]
26793
- url = "https://mcp.vuetifyjs.com/mcp"
26794
-
26795
- # https://github.com/vuetifyjs/mcp#authentication
26796
- # [mcp_servers.vuetify.headers]
26797
- # Authorization = "Bearer <YOUR_API_KEY>"
26798
- `;
26799
- }
26800
- function getAgentsMd() {
26801
- return `# Project Rules
26802
-
26803
- ## General
26804
- - Follow the existing code style and patterns.
26805
- `;
26806
- }
26807
-
26808
- //#endregion
26809
- //#region ../shared/src/features/pinia.ts
26810
- const pinia = {
26811
- name: "pinia",
26812
- apply: async ({ cwd: cwd$1, pkg, isTypescript }) => {
26813
- const ext = isTypescript ? "ts" : "js";
26814
- if (existsSync(join(cwd$1, "nuxt.config.ts"))) {
26815
- pkg.dependencies ??= {};
26816
- pkg.devDependencies ??= {};
26817
- pkg.dependencies["pinia"] = dependencies.pinia;
26818
- pkg.devDependencies["@pinia/nuxt"] = dependencies["@pinia/nuxt"];
26819
- const configPath = join(cwd$1, "nuxt.config.ts");
26820
- const mod = await loadFile(configPath);
26821
- const options$1 = getDefaultExportOptions(mod);
26822
- if (options$1) {
26823
- options$1.modules ||= [];
26824
- options$1.modules.push("@pinia/nuxt");
26825
- }
26826
- await writeFile(configPath, mod.generate().code);
26827
- const appPath = existsSync(join(cwd$1, "app")) ? "app" : ".";
26828
- if (!existsSync(join(cwd$1, appPath, "stores"))) mkdirSync(join(cwd$1, appPath, "stores"), { recursive: true });
26829
- await writeFile(join(cwd$1, appPath, `stores/app.${ext}`), getStoreContent(isTypescript));
26830
- } else {
26831
- pkg.dependencies ??= {};
26832
- pkg.dependencies["pinia"] = dependencies.pinia;
26833
- if (!existsSync(join(cwd$1, "src/stores"))) mkdirSync(join(cwd$1, "src/stores"), { recursive: true });
26834
- await writeFile(join(cwd$1, `src/stores/app.${ext}`), getStoreContent(isTypescript));
26835
- const pluginsPath = join(cwd$1, `src/plugins/index.${ext}`);
26836
- const mod = await loadFile(pluginsPath);
26837
- mod.imports.$prepend({
26838
- from: "pinia",
26839
- imported: "createPinia"
26840
- });
26841
- const registerPlugins = mod.exports.registerPlugins;
26842
- if (registerPlugins && registerPlugins.$type === "function") registerPlugins.$body.push("app.use(createPinia())");
26843
- await writeFile(pluginsPath, mod.generate().code);
26844
- }
26845
- }
26846
- };
26847
- function getStoreContent(_ts) {
26848
- return `// Utilities
26849
- import { defineStore } from 'pinia'
26850
-
26851
- export const useAppStore = defineStore('app', {
26852
- state: () => ({
26853
- //
26854
- }),
26855
- })
26856
- `;
26857
- }
26858
-
26859
- //#endregion
26860
- //#region ../shared/src/utils/installFeature.ts
26861
- async function installFeature(feature, cwd$1) {
26862
- const templateName = `vue/${feature}`;
26863
- if (process.env.VUETIFY_CLI_TEMPLATES_PATH) {
26864
- const templatePath = join(process.env.VUETIFY_CLI_TEMPLATES_PATH, templateName);
26865
- if (existsSync(templatePath)) cpSync(templatePath, cwd$1, { recursive: true });
26866
- } else {
26867
- const tmp = mkdtempSync(join(tmpdir(), "vuetify-feature-"));
26868
- try {
26869
- await downloadTemplate(`gh:vuetifyjs/templates/${templateName}`, { dir: tmp });
26870
- cpSync(tmp, cwd$1, { recursive: true });
26871
- } finally {
26872
- rmSync(tmp, {
26873
- recursive: true,
26874
- force: true
26875
- });
26876
- }
26877
- }
26878
- }
26879
-
26880
- //#endregion
26881
- //#region ../shared/src/features/router.ts
26882
- const router = {
26883
- name: "router",
26884
- apply: async ({ cwd: cwd$1, pkg, isTypescript }) => {
26885
- await installFeature("router", cwd$1);
26886
- const ext = isTypescript ? "ts" : "js";
26887
- pkg.dependencies = pkg.dependencies || {};
26888
- pkg.dependencies["vue-router"] = dependencies["vue-router"];
26889
- const routerContent = getRouterContent(isTypescript);
26890
- if (!existsSync(join(cwd$1, "src/router"))) mkdirSync(join(cwd$1, "src/router"), { recursive: true });
26891
- await writeFile(join(cwd$1, `src/router/index.${ext}`), routerContent);
26892
- const pluginsPath = join(cwd$1, `src/plugins/index.${ext}`);
26893
- const mod = await loadFile(pluginsPath);
26894
- mod.imports.$prepend({
26895
- from: "../router",
26896
- imported: "default",
26897
- local: "router"
26898
- });
26899
- const registerPlugins = mod.exports.registerPlugins;
26900
- if (registerPlugins && registerPlugins.$type === "function") registerPlugins.$body.push("app.use(router)");
26901
- await writeFile(pluginsPath, mod.generate().code);
26902
- }
26903
- };
26904
- const fileRouter = {
26905
- name: "file-router",
26906
- apply: async ({ cwd: cwd$1, pkg, isTypescript }) => {
26907
- await installFeature("file-router", cwd$1);
26908
- const ext = isTypescript ? "ts" : "js";
26909
- pkg.dependencies = pkg.dependencies || {};
26910
- pkg.dependencies["vue-router"] = dependencies["vue-router"];
26911
- pkg.devDependencies = pkg.devDependencies || {};
26912
- pkg.devDependencies["unplugin-vue-router"] = dependencies["unplugin-vue-router"];
26913
- const routerContent = getFileRouterContent(isTypescript);
26914
- if (!existsSync(join(cwd$1, "src/router"))) mkdirSync(join(cwd$1, "src/router"), { recursive: true });
26915
- await writeFile(join(cwd$1, `src/router/index.${ext}`), routerContent);
26916
- const pluginsPath = join(cwd$1, `src/plugins/index.${ext}`);
26917
- const mod = await loadFile(pluginsPath);
26918
- mod.imports.$prepend({
26919
- from: "../router",
26920
- imported: "default",
26921
- local: "router"
26922
- });
26923
- const registerPlugins = mod.exports.registerPlugins;
26924
- if (registerPlugins && registerPlugins.$type === "function") registerPlugins.$body.push("app.use(router)");
26925
- await writeFile(pluginsPath, mod.generate().code);
26926
- const viteConfigPath = join(cwd$1, `vite.config.m${ext}`);
26927
- if (existsSync(viteConfigPath)) {
26928
- const viteMod = await loadFile(viteConfigPath);
26929
- viteMod.imports.$prepend({
26930
- from: "unplugin-vue-router/vite",
26931
- imported: "default",
26932
- local: "VueRouter"
26933
- });
26934
- const plugins = viteMod.exports.default.plugins || viteMod.exports.default.$args?.[0]?.plugins;
26935
- if (plugins && Array.isArray(plugins)) plugins.unshift(builders.raw("VueRouter()"));
26936
- await writeFile(viteConfigPath, viteMod.generate().code);
26937
- }
26938
- }
26939
- };
26940
- function getRouterContent(ts) {
26941
- return `/**
26942
- * router/index.${ts ? "ts" : "js"}
26943
- *
26944
- * Manual routes for ./src/pages/*.vue
26945
- */
26946
-
26947
- // Composables
26948
- import { createRouter, createWebHistory } from 'vue-router'
26949
- import Index from '@/pages/index.vue'
26950
-
26951
- const router = createRouter({
26952
- history: createWebHistory(process.env.BASE_URL),
26953
- routes: [
26954
- {
26955
- path: '/',
26956
- component: Index,
26957
- },
26958
- ],
26959
- })
26960
-
26961
- export default router
26962
- `;
26963
- }
26964
- function getFileRouterContent(ts) {
26965
- return `/**
26966
- * router/index.${ts ? "ts" : "js"}
26967
- *
26968
- * Automatic routes for ./src/pages/*.vue
26969
- */
26970
-
26971
- // Composables
26972
- import { createRouter, createWebHistory } from 'vue-router/auto'
26973
-
26974
- const router = createRouter({
26975
- history: createWebHistory(process.env.BASE_URL),
27094
+ fallbackLocale: 'en',
27095
+ messages,
26976
27096
  })
26977
-
26978
- export default router
27097
+ `;
27098
+ }
27099
+ function getNuxtI18nConfig(_ts) {
27100
+ return `export default defineI18nConfig(() => ({
27101
+ legacy: false,
27102
+ locale: 'en',
27103
+ messages: {
27104
+ en: {
27105
+ welcome: 'Welcome',
27106
+ },
27107
+ fr: {
27108
+ welcome: 'Bienvenue',
27109
+ },
27110
+ },
27111
+ }))
26979
27112
  `;
26980
27113
  }
26981
27114
 
26982
27115
  //#endregion
26983
- //#region ../shared/src/features/vuetify-nuxt-module.ts
26984
- const vuetifyNuxtModule = {
26985
- name: "vuetify-nuxt-module",
26986
- apply: async ({ cwd: cwd$1, pkg, clientHints }) => {
26987
- if (!existsSync(join(cwd$1, "nuxt.config.ts"))) return;
26988
- pkg.dependencies = pkg.dependencies || {};
26989
- pkg.dependencies["vuetify-nuxt-module"] = dependencies["vuetify-nuxt-module"];
26990
- const configPath = join(cwd$1, "nuxt.config.ts");
26991
- const mod = await loadFile(configPath);
26992
- const manualModulePath = join(cwd$1, "modules/vuetify.ts");
26993
- if (existsSync(manualModulePath)) unlinkSync(manualModulePath);
26994
- const options$1 = getDefaultExportOptions(mod);
26995
- if (options$1) {
26996
- options$1.modules ||= [];
26997
- options$1.modules.push("vuetify-nuxt-module");
26998
- options$1.vuetify = {
26999
- moduleOptions: {},
27000
- vuetifyOptions: {}
27001
- };
27002
- if (clientHints) options$1.vuetify.moduleOptions.ssrClientHints = {
27003
- reloadOnFirstRequest: false,
27004
- viewportSize: true,
27005
- prefersColorScheme: true,
27006
- prefersReducedMotion: true,
27007
- prefersColorSchemeOptions: { useBrowserThemeOnly: false }
27008
- };
27009
- }
27010
- await writeFile(configPath, mod.generate().code);
27116
+ //#region ../shared/src/features/mcp.ts
27117
+ const mcp = {
27118
+ name: "mcp",
27119
+ apply: async ({ cwd: cwd$1, pkg }) => {
27120
+ pkg.devDependencies = pkg.devDependencies || {};
27121
+ pkg.devDependencies["@intellectronica/ruler"] = dependencies["@intellectronica/ruler"];
27122
+ pkg.scripts = pkg.scripts || {};
27123
+ pkg.scripts["mcp"] = "ruler apply";
27124
+ pkg.scripts["mcp:revert"] = "ruler revert";
27125
+ const rulerDir = join(cwd$1, ".ruler");
27126
+ await mkdir(rulerDir, { recursive: true });
27127
+ await writeFile(join(rulerDir, "ruler.toml"), getRulerToml());
27128
+ await writeFile(join(rulerDir, "AGENTS.md"), getAgentsMd());
27011
27129
  }
27012
27130
  };
27131
+ function getRulerToml() {
27132
+ return `# For a complete example, see: https://okigu.com/ruler#complete-example
27013
27133
 
27014
- //#endregion
27015
- //#region ../shared/src/features/index.ts
27016
- const features = {
27017
- router,
27018
- "file-router": fileRouter,
27019
- pinia,
27020
- i18n: i18n$1,
27021
- eslint,
27022
- mcp,
27023
- "vuetify-nuxt-module": vuetifyNuxtModule
27024
- };
27025
- async function applyFeatures(cwd$1, featureNames, pkg, isTypescript, clientHints) {
27026
- for (const name of featureNames) {
27027
- const feature = features[name];
27028
- if (feature) await feature.apply({
27029
- cwd: cwd$1,
27030
- pkg,
27031
- isTypescript,
27032
- clientHints
27033
- });
27034
- }
27134
+ # List of agents to configure
27135
+ default_agents = ["copilot", "claude", "trae"]
27136
+
27137
+ [mcp_servers.vuetify]
27138
+ url = "https://mcp.vuetifyjs.com/mcp"
27139
+
27140
+ # https://github.com/vuetifyjs/mcp#authentication
27141
+ # [mcp_servers.vuetify.headers]
27142
+ # Authorization = "Bearer <YOUR_API_KEY>"
27143
+ `;
27144
+ }
27145
+ function getAgentsMd() {
27146
+ return `# Project Rules
27147
+
27148
+ ## General
27149
+ - Follow the existing code style and patterns.
27150
+ `;
27035
27151
  }
27036
27152
 
27037
27153
  //#endregion
27038
- //#region ../shared/src/features/vuetify-nuxt-manual.ts
27039
- const vuetifyNuxtManual = {
27040
- name: "vuetify-nuxt-manual",
27041
- apply: async ({ cwd: cwd$1, pkg }) => {
27042
- const configPath = join(cwd$1, "nuxt.config.ts");
27043
- if (!existsSync(configPath)) return;
27044
- pkg.devDependencies = pkg.devDependencies || {};
27045
- pkg.devDependencies["vite-plugin-vuetify"] = dependencies["vite-plugin-vuetify"];
27046
- pkg.devDependencies["@vuetify/loader-shared"] = dependencies["@vuetify/loader-shared"];
27047
- pkg.devDependencies["pathe"] = dependencies.pathe;
27048
- const mod = await loadFile(configPath);
27049
- mod.imports.$prepend({
27050
- from: "vite-plugin-vuetify",
27051
- imported: "transformAssetUrls"
27052
- });
27053
- const options$1 = getDefaultExportOptions(mod);
27054
- if (options$1) {
27055
- options$1.build ||= {};
27056
- options$1.build.transpile ||= [];
27057
- if (!options$1.build.transpile.includes("vuetify")) options$1.build.transpile.push("vuetify");
27058
- options$1.vite ||= {};
27059
- options$1.vite.vue ||= {};
27060
- options$1.vite.vue.template ||= {};
27061
- options$1.vite.vue.template.transformAssetUrls = builders.raw("transformAssetUrls");
27154
+ //#region ../shared/src/features/pinia.ts
27155
+ const pinia = {
27156
+ name: "pinia",
27157
+ apply: async ({ cwd: cwd$1, pkg, isTypescript }) => {
27158
+ const ext = isTypescript ? "ts" : "js";
27159
+ if (existsSync(join(cwd$1, "nuxt.config.ts"))) {
27160
+ pkg.dependencies ??= {};
27161
+ pkg.devDependencies ??= {};
27162
+ pkg.dependencies["pinia"] = dependencies.pinia;
27163
+ pkg.devDependencies["@pinia/nuxt"] = dependencies["@pinia/nuxt"];
27164
+ const configPath = join(cwd$1, "nuxt.config.ts");
27165
+ const mod = await loadFile(configPath);
27166
+ const options$1 = getDefaultExportOptions(mod);
27167
+ if (options$1) {
27168
+ options$1.modules ||= [];
27169
+ options$1.modules.push("@pinia/nuxt");
27170
+ }
27171
+ await writeFile(configPath, mod.generate().code);
27172
+ const appPath = existsSync(join(cwd$1, "app")) ? "app" : ".";
27173
+ if (!existsSync(join(cwd$1, appPath, "stores"))) mkdirSync(join(cwd$1, appPath, "stores"), { recursive: true });
27174
+ await writeFile(join(cwd$1, appPath, `stores/app.${ext}`), getStoreContent(isTypescript));
27175
+ } else {
27176
+ pkg.dependencies ??= {};
27177
+ pkg.dependencies["pinia"] = dependencies.pinia;
27178
+ if (!existsSync(join(cwd$1, "src/stores"))) mkdirSync(join(cwd$1, "src/stores"), { recursive: true });
27179
+ await writeFile(join(cwd$1, `src/stores/app.${ext}`), getStoreContent(isTypescript));
27180
+ const pluginsPath = join(cwd$1, `src/plugins/index.${ext}`);
27181
+ const mod = await loadFile(pluginsPath);
27182
+ mod.imports.$prepend({
27183
+ from: "pinia",
27184
+ imported: "createPinia"
27185
+ });
27186
+ const registerPlugins = mod.exports.registerPlugins;
27187
+ if (registerPlugins && registerPlugins.$type === "function") registerPlugins.$body.push("app.use(createPinia())");
27188
+ await writeFile(pluginsPath, mod.generate().code);
27062
27189
  }
27063
- await writeFile(configPath, mod.generate().code);
27064
27190
  }
27065
27191
  };
27192
+ function getStoreContent(_ts) {
27193
+ return `// Utilities
27194
+ import { defineStore } from 'pinia'
27066
27195
 
27067
- //#endregion
27068
- //#region ../../node_modules/.pnpm/kolorist@1.8.0/node_modules/kolorist/dist/esm/index.mjs
27069
- let enabled = true;
27070
- const globalVar = typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
27071
- /**
27072
- * Detect how much colors the current terminal supports
27073
- */
27074
- let supportLevel = 0;
27075
- if (globalVar.process && globalVar.process.env && globalVar.process.stdout) {
27076
- const { FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, COLORTERM } = globalVar.process.env;
27077
- if (NODE_DISABLE_COLORS || NO_COLOR || FORCE_COLOR === "0") enabled = false;
27078
- else if (FORCE_COLOR === "1" || FORCE_COLOR === "2" || FORCE_COLOR === "3") enabled = true;
27079
- else if (TERM === "dumb") enabled = false;
27080
- else if ("CI" in globalVar.process.env && [
27081
- "TRAVIS",
27082
- "CIRCLECI",
27083
- "APPVEYOR",
27084
- "GITLAB_CI",
27085
- "GITHUB_ACTIONS",
27086
- "BUILDKITE",
27087
- "DRONE"
27088
- ].some((vendor) => vendor in globalVar.process.env)) enabled = true;
27089
- else enabled = process.stdout.isTTY;
27090
- if (enabled) if (process.platform === "win32") supportLevel = 3;
27091
- else if (COLORTERM && (COLORTERM === "truecolor" || COLORTERM === "24bit")) supportLevel = 3;
27092
- else if (TERM && (TERM.endsWith("-256color") || TERM.endsWith("256"))) supportLevel = 2;
27093
- else supportLevel = 1;
27094
- }
27095
- let options = {
27096
- enabled,
27097
- supportLevel
27098
- };
27099
- function kolorist(start, end, level = 1) {
27100
- const open = `\x1b[${start}m`;
27101
- const close = `\x1b[${end}m`;
27102
- const regex$1 = new RegExp(`\\x1b\\[${end}m`, "g");
27103
- return (str) => {
27104
- return options.enabled && options.supportLevel >= level ? open + ("" + str).replace(regex$1, open) + close : "" + str;
27105
- };
27106
- }
27107
- function stripColors(str) {
27108
- return ("" + str).replace(/\x1b\[[0-9;]+m/g, "").replace(/\x1b\]8;;.*?\x07(.*?)\x1b\]8;;\x07/g, (_$3, group) => group);
27109
- }
27110
- const reset = kolorist(0, 0);
27111
- const bold = kolorist(1, 22);
27112
- const dim = kolorist(2, 22);
27113
- const italic = kolorist(3, 23);
27114
- const underline = kolorist(4, 24);
27115
- const inverse = kolorist(7, 27);
27116
- const hidden = kolorist(8, 28);
27117
- const strikethrough = kolorist(9, 29);
27118
- const black = kolorist(30, 39);
27119
- const red = kolorist(31, 39);
27120
- const green = kolorist(32, 39);
27121
- const yellow = kolorist(33, 39);
27122
- const blue$1 = kolorist(34, 39);
27123
- const magenta = kolorist(35, 39);
27124
- const cyan = kolorist(36, 39);
27125
- const white = kolorist(97, 39);
27126
- const gray = kolorist(90, 39);
27127
- const lightGray = kolorist(37, 39);
27128
- const lightRed = kolorist(91, 39);
27129
- const lightGreen = kolorist(92, 39);
27130
- const lightYellow = kolorist(93, 39);
27131
- const lightBlue = kolorist(94, 39);
27132
- const lightMagenta = kolorist(95, 39);
27133
- const lightCyan = kolorist(96, 39);
27134
- const bgBlack = kolorist(40, 49);
27135
- const bgRed = kolorist(41, 49);
27136
- const bgGreen = kolorist(42, 49);
27137
- const bgYellow = kolorist(43, 49);
27138
- const bgBlue = kolorist(44, 49);
27139
- const bgMagenta = kolorist(45, 49);
27140
- const bgCyan = kolorist(46, 49);
27141
- const bgWhite = kolorist(107, 49);
27142
- const bgGray = kolorist(100, 49);
27143
- const bgLightRed = kolorist(101, 49);
27144
- const bgLightGreen = kolorist(102, 49);
27145
- const bgLightYellow = kolorist(103, 49);
27146
- const bgLightBlue = kolorist(104, 49);
27147
- const bgLightMagenta = kolorist(105, 49);
27148
- const bgLightCyan = kolorist(106, 49);
27149
- const bgLightGray = kolorist(47, 49);
27150
- const ansi256 = (n$5) => kolorist("38;5;" + n$5, 0, 2);
27151
- const OSC = "\x1B]";
27152
- const BEL = "\x07";
27153
- function link(text, url) {
27154
- return options.enabled ? OSC + "8;;" + url + BEL + text + OSC + "8;;\x07" : `${text} (\u200B${url}\u200B)`;
27196
+ export const useAppStore = defineStore('app', {
27197
+ state: () => ({
27198
+ //
27199
+ }),
27200
+ })
27201
+ `;
27155
27202
  }
27156
27203
 
27157
27204
  //#endregion
27158
- //#region ../shared/src/prompts.ts
27159
- async function prompt(args$2, cwd$1 = process.cwd()) {
27160
- const options$1 = await Rt({
27161
- name: () => {
27162
- if (args$2.name) return Promise.resolve(args$2.name);
27163
- if (!args$2.interactive) return Promise.resolve("vuetify-project");
27164
- return Qt({
27165
- message: i18n.t("prompts.project.name"),
27166
- initialValue: "vuetify-project",
27167
- validate: (value) => {
27168
- const { validForNewPackages, errors: errors$1, warnings } = validate(value ? value.trim() : "");
27169
- if (!validForNewPackages) return i18n.t("prompts.project.invalid", { error: (errors$1 || warnings)?.[0] });
27170
- }
27171
- });
27172
- },
27173
- force: ({ results }) => {
27174
- const projectRoot = join(cwd$1, results.name || args$2.name);
27175
- if (existsSync(projectRoot) && readdirSync(projectRoot).length > 0) {
27176
- if (args$2.force) return Promise.resolve(true);
27177
- if (!args$2.interactive) return Promise.resolve(false);
27178
- return Mt({
27179
- message: i18n.t("prompts.project.overwrite", { path: projectRoot }),
27180
- initialValue: false
27181
- });
27182
- }
27183
- return Promise.resolve(args$2.force || false);
27184
- },
27185
- platform: () => {
27186
- if (args$2.platform) return Promise.resolve(args$2.platform);
27187
- if (!args$2.interactive) return Promise.resolve("vue");
27188
- return qt({
27189
- message: i18n.t("prompts.framework.select"),
27190
- initialValue: "vue",
27191
- options: [{
27192
- label: i18n.t("prompts.framework.vue"),
27193
- value: "vue"
27194
- }, {
27195
- label: i18n.t("prompts.framework.nuxt"),
27196
- value: "nuxt"
27197
- }]
27198
- });
27199
- },
27200
- type: () => {
27201
- if (args$2.type) return Promise.resolve(args$2.type);
27202
- if (!args$2.interactive) return Promise.resolve("vuetify");
27203
- return qt({
27204
- message: "Which version of Vuetify?",
27205
- initialValue: "vuetify",
27206
- options: [{
27207
- label: "Vuetify",
27208
- value: "vuetify",
27209
- hint: "Standard Material Design Component Framework"
27210
- }, {
27211
- label: "Vuetify 0 (alpha)",
27212
- value: "vuetify0",
27213
- hint: "Headless Component Library"
27214
- }]
27215
- });
27216
- },
27217
- typescript: ({ results }) => {
27218
- if ((results.platform || args$2.platform) === "vue" && args$2.typescript === void 0) return Mt({
27219
- message: i18n.t("prompts.typescript.use"),
27220
- initialValue: true
27221
- });
27222
- return Promise.resolve(args$2.typescript ?? true);
27223
- },
27224
- router: ({ results }) => {
27225
- if (args$2.features) {
27226
- if (args$2.features.includes("router") && args$2.features.includes("file-router")) {
27227
- console.error(i18n.t("prompts.router.conflict"));
27228
- process.exit(1);
27229
- }
27230
- if (args$2.features.includes("router")) return Promise.resolve("router");
27231
- if (args$2.features.includes("file-router")) return Promise.resolve("file-router");
27232
- return Promise.resolve("none");
27233
- }
27234
- if ((results.platform || args$2.platform) !== "vue") return Promise.resolve("none");
27235
- return qt({
27236
- message: i18n.t("prompts.router.select"),
27237
- initialValue: "router",
27238
- options: [
27239
- {
27240
- label: i18n.t("prompts.router.none"),
27241
- value: "none"
27242
- },
27243
- {
27244
- label: i18n.t("prompts.router.standard.label"),
27245
- value: "router",
27246
- hint: i18n.t("prompts.router.standard.hint")
27247
- },
27248
- {
27249
- label: i18n.t("prompts.router.file.label"),
27250
- value: "file-router",
27251
- hint: i18n.t("prompts.router.file.hint")
27252
- }
27253
- ]
27254
- });
27255
- },
27256
- features: ({ results }) => {
27257
- if (args$2.features) return Promise.resolve(args$2.features.filter((f$7) => f$7 !== "router" && f$7 !== "file-router"));
27258
- if (!args$2.interactive) return Promise.resolve([]);
27259
- return (results.platform || args$2.platform) === "vue" ? Lt({
27260
- message: i18n.t("prompts.features.select", { hint: dim("↑/↓ to navigate, space to select, a to toggle all, enter to confirm") }),
27261
- options: [
27262
- {
27263
- label: i18n.t("prompts.features.eslint.label"),
27264
- value: "eslint",
27265
- hint: i18n.t("prompts.features.eslint.hint")
27266
- },
27267
- {
27268
- label: i18n.t("prompts.features.mcp.label"),
27269
- value: "mcp",
27270
- hint: i18n.t("prompts.features.mcp.hint")
27271
- },
27272
- {
27273
- label: i18n.t("prompts.features.pinia.label"),
27274
- value: "pinia",
27275
- hint: i18n.t("prompts.features.pinia.hint")
27276
- },
27277
- {
27278
- label: i18n.t("prompts.features.i18n.label"),
27279
- value: "i18n",
27280
- hint: i18n.t("prompts.features.i18n.hint")
27281
- }
27282
- ],
27283
- initialValues: ["eslint", "mcp"],
27284
- required: false
27285
- }) : Lt({
27286
- message: i18n.t("prompts.features.select", { hint: dim("↑/↓ to navigate, space to select, a to toggle all, enter to confirm") }),
27287
- options: [
27288
- {
27289
- label: i18n.t("prompts.features.eslint.label"),
27290
- value: "eslint",
27291
- hint: i18n.t("prompts.features.eslint.hint")
27292
- },
27293
- {
27294
- label: i18n.t("prompts.features.vuetify_nuxt_module.label"),
27295
- value: "vuetify-nuxt-module",
27296
- hint: i18n.t("prompts.features.vuetify_nuxt_module.hint")
27297
- },
27298
- {
27299
- label: i18n.t("prompts.features.mcp.label"),
27300
- value: "mcp",
27301
- hint: i18n.t("prompts.features.mcp.hint")
27302
- },
27303
- {
27304
- label: i18n.t("prompts.features.pinia.label"),
27305
- value: "pinia",
27306
- hint: i18n.t("prompts.features.pinia.hint")
27307
- },
27308
- {
27309
- label: i18n.t("prompts.features.i18n.label"),
27310
- value: "i18n",
27311
- hint: i18n.t("prompts.features.i18n.hint")
27312
- }
27313
- ],
27314
- initialValues: [
27315
- "eslint",
27316
- "vuetify-nuxt-module",
27317
- "mcp"
27318
- ],
27319
- required: false
27320
- });
27321
- },
27322
- clientHints: ({ results }) => {
27323
- if (args$2.clientHints !== void 0) return Promise.resolve(args$2.clientHints);
27324
- if (!args$2.interactive) return Promise.resolve(false);
27325
- const platform$1 = results.platform || args$2.platform;
27326
- const features$2 = results.features || args$2.features || [];
27327
- if (platform$1 === "nuxt" && features$2.includes("vuetify-nuxt-module")) return Mt({
27328
- message: i18n.t("prompts.client_hints.enable"),
27329
- initialValue: false
27330
- });
27331
- return Promise.resolve(false);
27332
- },
27333
- packageManager: () => {
27334
- if (args$2.packageManager) return Promise.resolve(args$2.packageManager);
27335
- if (args$2.install === false) return Promise.resolve("none");
27336
- if (!args$2.interactive) return Promise.resolve(getUserAgent() ?? "npm");
27337
- return qt({
27338
- message: i18n.t("prompts.package_manager.select"),
27339
- initialValue: getUserAgent() ?? "npm",
27340
- options: [
27341
- {
27342
- label: "npm",
27343
- value: "npm"
27344
- },
27345
- {
27346
- label: "pnpm",
27347
- value: "pnpm"
27348
- },
27349
- {
27350
- label: "yarn",
27351
- value: "yarn"
27352
- },
27353
- {
27354
- label: "deno",
27355
- value: "deno"
27356
- },
27357
- {
27358
- label: "bun",
27359
- value: "bun"
27360
- },
27361
- {
27362
- label: "none",
27363
- value: "none"
27364
- }
27365
- ]
27205
+ //#region ../shared/src/utils/installFeature.ts
27206
+ async function installFeature(feature, cwd$1) {
27207
+ const templateName = `vue/${feature}`;
27208
+ if (process.env.VUETIFY_CLI_TEMPLATES_PATH) {
27209
+ const templatePath = join(process.env.VUETIFY_CLI_TEMPLATES_PATH, templateName);
27210
+ if (existsSync(templatePath)) cpSync(templatePath, cwd$1, { recursive: true });
27211
+ } else {
27212
+ const tmp = mkdtempSync(join(tmpdir(), "vuetify-feature-"));
27213
+ try {
27214
+ await downloadTemplate(`gh:vuetifyjs/templates/${templateName}`, { dir: tmp });
27215
+ cpSync(tmp, cwd$1, { recursive: true });
27216
+ } finally {
27217
+ rmSync(tmp, {
27218
+ recursive: true,
27219
+ force: true
27366
27220
  });
27367
- },
27368
- install: ({ results }) => {
27369
- if (args$2.install !== void 0) return Promise.resolve(args$2.install);
27370
- if (!args$2.interactive) return Promise.resolve(false);
27371
- if ((results.packageManager || args$2.packageManager) === "none") return Promise.resolve(false);
27372
- return Mt({
27373
- message: i18n.t("prompts.install"),
27374
- initialValue: true
27221
+ }
27222
+ }
27223
+ }
27224
+
27225
+ //#endregion
27226
+ //#region ../shared/src/features/router.ts
27227
+ const router = {
27228
+ name: "router",
27229
+ apply: async ({ cwd: cwd$1, pkg, isTypescript }) => {
27230
+ await installFeature("router", cwd$1);
27231
+ const ext = isTypescript ? "ts" : "js";
27232
+ pkg.dependencies = pkg.dependencies || {};
27233
+ pkg.dependencies["vue-router"] = dependencies["vue-router"];
27234
+ const routerContent = getRouterContent(isTypescript);
27235
+ if (!existsSync(join(cwd$1, "src/router"))) mkdirSync(join(cwd$1, "src/router"), { recursive: true });
27236
+ await writeFile(join(cwd$1, `src/router/index.${ext}`), routerContent);
27237
+ const pluginsPath = join(cwd$1, `src/plugins/index.${ext}`);
27238
+ const mod = await loadFile(pluginsPath);
27239
+ mod.imports.$prepend({
27240
+ from: "../router",
27241
+ imported: "default",
27242
+ local: "router"
27243
+ });
27244
+ const registerPlugins = mod.exports.registerPlugins;
27245
+ if (registerPlugins && registerPlugins.$type === "function") registerPlugins.$body.push("app.use(router)");
27246
+ await writeFile(pluginsPath, mod.generate().code);
27247
+ }
27248
+ };
27249
+ const fileRouter = {
27250
+ name: "file-router",
27251
+ apply: async ({ cwd: cwd$1, pkg, isTypescript }) => {
27252
+ await installFeature("file-router", cwd$1);
27253
+ const ext = isTypescript ? "ts" : "js";
27254
+ pkg.dependencies = pkg.dependencies || {};
27255
+ pkg.dependencies["vue-router"] = dependencies["vue-router"];
27256
+ pkg.devDependencies = pkg.devDependencies || {};
27257
+ pkg.devDependencies["unplugin-vue-router"] = dependencies["unplugin-vue-router"];
27258
+ const routerContent = getFileRouterContent(isTypescript);
27259
+ if (!existsSync(join(cwd$1, "src/router"))) mkdirSync(join(cwd$1, "src/router"), { recursive: true });
27260
+ await writeFile(join(cwd$1, `src/router/index.${ext}`), routerContent);
27261
+ const pluginsPath = join(cwd$1, `src/plugins/index.${ext}`);
27262
+ const mod = await loadFile(pluginsPath);
27263
+ mod.imports.$prepend({
27264
+ from: "../router",
27265
+ imported: "default",
27266
+ local: "router"
27267
+ });
27268
+ const registerPlugins = mod.exports.registerPlugins;
27269
+ if (registerPlugins && registerPlugins.$type === "function") registerPlugins.$body.push("app.use(router)");
27270
+ await writeFile(pluginsPath, mod.generate().code);
27271
+ const viteConfigPath = join(cwd$1, `vite.config.m${ext}`);
27272
+ if (existsSync(viteConfigPath)) {
27273
+ const viteMod = await loadFile(viteConfigPath);
27274
+ viteMod.imports.$prepend({
27275
+ from: "unplugin-vue-router/vite",
27276
+ imported: "default",
27277
+ local: "VueRouter"
27375
27278
  });
27279
+ const plugins = viteMod.exports.default.plugins || viteMod.exports.default.$args?.[0]?.plugins;
27280
+ if (plugins && Array.isArray(plugins)) plugins.unshift(builders.raw("VueRouter()"));
27281
+ await writeFile(viteConfigPath, viteMod.generate().code);
27376
27282
  }
27377
- }, { onCancel: () => {
27378
- Pt(i18n.t("prompts.cancel"));
27379
- process.exit(0);
27380
- } });
27381
- const features$1 = [...options$1.features, options$1.router].filter((f$7) => f$7 && f$7 !== "none");
27382
- return {
27383
- ...options$1,
27384
- features: features$1
27385
- };
27283
+ }
27284
+ };
27285
+ function getRouterContent(ts) {
27286
+ return `/**
27287
+ * router/index.${ts ? "ts" : "js"}
27288
+ *
27289
+ * Manual routes for ./src/pages/*.vue
27290
+ */
27291
+
27292
+ // Composables
27293
+ import { createRouter, createWebHistory } from 'vue-router'
27294
+ import Index from '@/pages/index.vue'
27295
+
27296
+ const router = createRouter({
27297
+ history: createWebHistory(process.env.BASE_URL),
27298
+ routes: [
27299
+ {
27300
+ path: '/',
27301
+ component: Index,
27302
+ },
27303
+ ],
27304
+ })
27305
+
27306
+ export default router
27307
+ `;
27308
+ }
27309
+ function getFileRouterContent(ts) {
27310
+ return `/**
27311
+ * router/index.${ts ? "ts" : "js"}
27312
+ *
27313
+ * Automatic routes for ./src/pages/*.vue
27314
+ */
27315
+
27316
+ // Composables
27317
+ import { createRouter, createWebHistory } from 'vue-router/auto'
27318
+
27319
+ const router = createRouter({
27320
+ history: createWebHistory(process.env.BASE_URL),
27321
+ })
27322
+
27323
+ export default router
27324
+ `;
27386
27325
  }
27387
27326
 
27388
27327
  //#endregion
27389
- //#region ../shared/src/utils/banner.ts
27390
- const colorfulBanner = `  \`$$$$$$$$$ii$$$\`  .;T$$$$$$$$$:\`
27391
-    T$$$$$$i$$$$\`  .$$$l$$$$$$$: 
27392
-     T$$$$ii$$$\`  .$$$$ll$$$$$:  
27393
-      \`$$$l$$F\`  :$$$$$$i$$$$\`   
27394
-        T$i$F   :$$$$$$$l$$F     
27395
-         \`:F   :$$$$$$$$i$:      
27396
-          \`   :$$$$$$$$l$\`       
27397
-             :$$$$$$$$j$\`        
27398
-             \`$$$$$$$j$\`         
27399
-               T$$$$l$\`          
27400
-                \`$$i$\`           
27401
-                 \`T:             
27402
- `;
27403
- const unstyledBanner = stripColors(colorfulBanner);
27404
- const coloredBanner = blue$1(unstyledBanner);
27405
- function createBanner() {
27406
- if (!options.enabled) return unstyledBanner;
27407
- else if (options.supportLevel < 2) return coloredBanner;
27408
- return colorfulBanner;
27328
+ //#region ../shared/src/features/vuetify-nuxt-module.ts
27329
+ const vuetifyNuxtModule = {
27330
+ name: "vuetify-nuxt-module",
27331
+ apply: async ({ cwd: cwd$1, pkg, clientHints }) => {
27332
+ if (!existsSync(join(cwd$1, "nuxt.config.ts"))) return;
27333
+ pkg.dependencies = pkg.dependencies || {};
27334
+ pkg.dependencies["vuetify-nuxt-module"] = dependencies["vuetify-nuxt-module"];
27335
+ const configPath = join(cwd$1, "nuxt.config.ts");
27336
+ const mod = await loadFile(configPath);
27337
+ const manualModulePath = join(cwd$1, "modules/vuetify.ts");
27338
+ if (existsSync(manualModulePath)) unlinkSync(manualModulePath);
27339
+ const options$1 = getDefaultExportOptions(mod);
27340
+ if (options$1) {
27341
+ options$1.modules ||= [];
27342
+ options$1.modules.push("vuetify-nuxt-module");
27343
+ options$1.vuetify = {
27344
+ moduleOptions: {},
27345
+ vuetifyOptions: {}
27346
+ };
27347
+ if (clientHints) options$1.vuetify.moduleOptions.ssrClientHints = {
27348
+ reloadOnFirstRequest: false,
27349
+ viewportSize: true,
27350
+ prefersColorScheme: true,
27351
+ prefersReducedMotion: true,
27352
+ prefersColorSchemeOptions: { useBrowserThemeOnly: false }
27353
+ };
27354
+ }
27355
+ await writeFile(configPath, mod.generate().code);
27356
+ }
27357
+ };
27358
+
27359
+ //#endregion
27360
+ //#region ../shared/src/features/index.ts
27361
+ const features = {
27362
+ router,
27363
+ "file-router": fileRouter,
27364
+ pinia,
27365
+ i18n: i18n$1,
27366
+ eslint,
27367
+ mcp,
27368
+ "vuetify-nuxt-module": vuetifyNuxtModule
27369
+ };
27370
+ async function applyFeatures(cwd$1, featureNames, pkg, isTypescript, clientHints) {
27371
+ for (const name of featureNames) {
27372
+ const feature = features[name];
27373
+ if (feature) await feature.apply({
27374
+ cwd: cwd$1,
27375
+ pkg,
27376
+ isTypescript,
27377
+ clientHints
27378
+ });
27379
+ }
27409
27380
  }
27410
- const banner = createBanner();
27381
+
27382
+ //#endregion
27383
+ //#region ../shared/src/features/vuetify-nuxt-manual.ts
27384
+ const vuetifyNuxtManual = {
27385
+ name: "vuetify-nuxt-manual",
27386
+ apply: async ({ cwd: cwd$1, pkg }) => {
27387
+ const configPath = join(cwd$1, "nuxt.config.ts");
27388
+ if (!existsSync(configPath)) return;
27389
+ pkg.devDependencies = pkg.devDependencies || {};
27390
+ pkg.devDependencies["vite-plugin-vuetify"] = dependencies["vite-plugin-vuetify"];
27391
+ pkg.devDependencies["@vuetify/loader-shared"] = dependencies["@vuetify/loader-shared"];
27392
+ pkg.devDependencies["pathe"] = dependencies.pathe;
27393
+ const mod = await loadFile(configPath);
27394
+ mod.imports.$prepend({
27395
+ from: "vite-plugin-vuetify",
27396
+ imported: "transformAssetUrls"
27397
+ });
27398
+ const options$1 = getDefaultExportOptions(mod);
27399
+ if (options$1) {
27400
+ options$1.build ||= {};
27401
+ options$1.build.transpile ||= [];
27402
+ if (!options$1.build.transpile.includes("vuetify")) options$1.build.transpile.push("vuetify");
27403
+ options$1.vite ||= {};
27404
+ options$1.vite.vue ||= {};
27405
+ options$1.vite.vue.template ||= {};
27406
+ options$1.vite.vue.template.transformAssetUrls = builders.raw("transformAssetUrls");
27407
+ }
27408
+ await writeFile(configPath, mod.generate().code);
27409
+ }
27410
+ };
27411
27411
 
27412
27412
  //#endregion
27413
27413
  //#region ../shared/src/utils/convertProjectToJS.ts
@@ -27531,35 +27531,18 @@ async function installDependencies(root$3 = process.cwd(), manager = packageMana
27531
27531
  }
27532
27532
 
27533
27533
  //#endregion
27534
- //#region ../shared/src/functions/create.ts
27535
- async function createVuetify(options$1) {
27536
- const { version: version$1, ...args$2 } = options$1;
27537
- const cwd$1 = args$2.cwd || process.cwd();
27538
- const debug$1 = (...msg) => args$2.debug && console.log("DEBUG:", ...msg);
27539
- debug$1("run args=", JSON.stringify(args$2, null, 2));
27540
- debug$1("VUETIFY_CLI_TEMPLATES_PATH=", process.env.VUETIFY_CLI_TEMPLATES_PATH);
27541
- console.log(createBanner());
27542
- Nt(i18n.t("messages.create.intro", { version: version$1 }));
27543
- const features$1 = typeof args$2.features === "string" ? args$2.features.split(",").filter(Boolean) : args$2.features;
27544
- const rawArgs = args$2;
27545
- const packageManager$1 = rawArgs.packageManager || rawArgs["package-manager"];
27546
- const context = await prompt({
27547
- ...args$2,
27548
- features: features$1,
27549
- packageManager: packageManager$1,
27550
- platform: rawArgs.platform,
27551
- type: rawArgs.type
27552
- }, cwd$1);
27553
- debug$1("context=", JSON.stringify(context, null, 2));
27554
- const projectRoot = join(cwd$1, context.name);
27534
+ //#region ../shared/src/functions/scaffold.ts
27535
+ async function scaffold(options$1, callbacks = {}) {
27536
+ const { cwd: cwd$1, name, platform: platform$1, features: features$1, typescript, packageManager: packageManager$1, install, force, clientHints, debug: debugFlag } = options$1;
27537
+ const debug$1 = (...msg) => debugFlag && console.log("DEBUG:", ...msg);
27538
+ const projectRoot = join(cwd$1, name);
27555
27539
  debug$1("projectRoot=", projectRoot);
27556
- if (context.force && existsSync(projectRoot)) rmSync(projectRoot, {
27540
+ if (force && existsSync(projectRoot)) rmSync(projectRoot, {
27557
27541
  recursive: true,
27558
27542
  force: true
27559
27543
  });
27560
- const templateName = context.platform === "vue" ? `vue/base` : `nuxt/base`;
27561
- const s$9 = Se();
27562
- s$9.start(i18n.t("spinners.template.downloading", { template: templateName }));
27544
+ const templateName = platform$1 === "vue" ? `vue/base` : `nuxt/base`;
27545
+ callbacks.onDownloadStart?.(templateName);
27563
27546
  if (process.env.VUETIFY_CLI_TEMPLATES_PATH) {
27564
27547
  const templatePath = join(process.env.VUETIFY_CLI_TEMPLATES_PATH, templateName);
27565
27548
  debug$1(`Copying template from ${templatePath}...`);
@@ -27572,52 +27555,116 @@ async function createVuetify(options$1) {
27572
27555
  }
27573
27556
  });
27574
27557
  debug$1(`Copy complete.`);
27575
- try {
27576
- debug$1("files in projectRoot:", fs.readdirSync(projectRoot));
27577
- } catch (error) {
27578
- debug$1("Failed to list files in projectRoot:", error);
27579
- }
27580
27558
  } else debug$1(`templatePath does not exist: ${templatePath}`);
27581
- s$9.stop(i18n.t("spinners.template.copied"));
27582
27559
  } else {
27583
27560
  const templateSource = `gh:vuetifyjs/templates/${templateName}`;
27584
27561
  try {
27585
27562
  await downloadTemplate(templateSource, {
27586
27563
  dir: projectRoot,
27587
- force: context.force
27564
+ force
27588
27565
  });
27589
- s$9.stop(i18n.t("spinners.template.downloaded"));
27590
27566
  } catch (error) {
27591
- s$9.stop(i18n.t("spinners.template.failed"));
27592
27567
  console.error(`Failed to download template: ${error}`);
27593
27568
  throw error;
27594
27569
  }
27595
27570
  }
27571
+ callbacks.onDownloadEnd?.();
27596
27572
  let pkg;
27597
27573
  pkg = await readPackageJSON(join(projectRoot, "package.json"));
27598
- s$9.start(i18n.t("spinners.config.applying"));
27599
- if (context.features && context.features.length > 0) await applyFeatures(projectRoot, context.features, pkg, !!context.typescript, context.clientHints);
27600
- if (context.platform === "nuxt" && (!context.features || !context.features.includes("vuetify-nuxt-module"))) await vuetifyNuxtManual.apply({
27574
+ callbacks.onConfigStart?.();
27575
+ if (features$1 && features$1.length > 0) await applyFeatures(projectRoot, features$1, pkg, !!typescript, clientHints);
27576
+ if (platform$1 === "nuxt" && (!features$1 || !features$1.includes("vuetify-nuxt-module"))) await vuetifyNuxtManual.apply({
27601
27577
  cwd: projectRoot,
27602
27578
  pkg,
27603
- isTypescript: !!context.typescript
27579
+ isTypescript: !!typescript
27604
27580
  });
27605
- s$9.stop(i18n.t("spinners.config.applied"));
27581
+ callbacks.onConfigEnd?.();
27606
27582
  const pkgPath = join(projectRoot, "package.json");
27607
27583
  if (existsSync(pkgPath)) {
27608
27584
  if (!pkg) pkg = await readPackageJSON(pkgPath);
27609
- pkg.name = context.name;
27585
+ pkg.name = name;
27610
27586
  await writePackageJSON(pkgPath, pkg);
27611
27587
  }
27612
- if (context.platform === "vue" && !context.typescript) {
27613
- s$9.start(i18n.t("spinners.convert.js"));
27588
+ if (platform$1 === "vue" && !typescript) {
27589
+ callbacks.onConvertStart?.();
27614
27590
  await convertProjectToJS(projectRoot);
27615
- s$9.stop(i18n.t("spinners.convert.done"));
27591
+ callbacks.onConvertEnd?.();
27592
+ }
27593
+ if (install && packageManager$1) {
27594
+ callbacks.onInstallStart?.(packageManager$1);
27595
+ await installDependencies(projectRoot, packageManager$1);
27596
+ callbacks.onInstallEnd?.();
27616
27597
  }
27617
- if (context.install && context.packageManager) {
27618
- s$9.start(i18n.t("spinners.dependencies.installing_with", { pm: context.packageManager }));
27619
- await installDependencies(projectRoot, context.packageManager);
27620
- s$9.stop(i18n.t("spinners.dependencies.installed"));
27598
+ }
27599
+
27600
+ //#endregion
27601
+ //#region ../shared/src/functions/create.ts
27602
+ async function createVuetify(options$1) {
27603
+ const { version: version$1, ...args$2 } = options$1;
27604
+ const cwd$1 = args$2.cwd || process.cwd();
27605
+ const debug$1 = (...msg) => args$2.debug && console.log("DEBUG:", ...msg);
27606
+ debug$1("run args=", JSON.stringify(args$2, null, 2));
27607
+ debug$1("VUETIFY_CLI_TEMPLATES_PATH=", process.env.VUETIFY_CLI_TEMPLATES_PATH);
27608
+ console.log(createBanner());
27609
+ Nt(i18n.t("messages.create.intro", { version: version$1 }));
27610
+ const features$1 = typeof args$2.features === "string" ? args$2.features.split(",").filter(Boolean) : args$2.features;
27611
+ const rawArgs = args$2;
27612
+ const packageManager$1 = rawArgs.packageManager || rawArgs["package-manager"];
27613
+ const context = await prompt({
27614
+ ...args$2,
27615
+ features: features$1,
27616
+ packageManager: packageManager$1,
27617
+ platform: rawArgs.platform,
27618
+ type: rawArgs.type
27619
+ }, cwd$1);
27620
+ debug$1("context=", JSON.stringify(context, null, 2));
27621
+ const projectRoot = join(cwd$1, context.name);
27622
+ debug$1("projectRoot=", projectRoot);
27623
+ const s$9 = Se();
27624
+ try {
27625
+ await scaffold({
27626
+ cwd: cwd$1,
27627
+ name: context.name,
27628
+ platform: context.platform,
27629
+ type: context.type,
27630
+ features: context.features,
27631
+ typescript: !!context.typescript,
27632
+ packageManager: context.packageManager,
27633
+ install: context.install,
27634
+ force: context.force,
27635
+ clientHints: context.clientHints,
27636
+ debug: args$2.debug
27637
+ }, {
27638
+ onDownloadStart: (templateName) => {
27639
+ s$9.start(i18n.t("spinners.template.downloading", { template: templateName }));
27640
+ },
27641
+ onDownloadEnd: () => {
27642
+ if (process.env.VUETIFY_CLI_TEMPLATES_PATH) s$9.stop(i18n.t("spinners.template.copied"));
27643
+ else s$9.stop(i18n.t("spinners.template.downloaded"));
27644
+ },
27645
+ onConfigStart: () => {
27646
+ s$9.start(i18n.t("spinners.config.applying"));
27647
+ },
27648
+ onConfigEnd: () => {
27649
+ s$9.stop(i18n.t("spinners.config.applied"));
27650
+ },
27651
+ onConvertStart: () => {
27652
+ s$9.start(i18n.t("spinners.convert.js"));
27653
+ },
27654
+ onConvertEnd: () => {
27655
+ s$9.stop(i18n.t("spinners.convert.done"));
27656
+ },
27657
+ onInstallStart: (pm) => {
27658
+ s$9.start(i18n.t("spinners.dependencies.installing_with", { pm }));
27659
+ },
27660
+ onInstallEnd: () => {
27661
+ s$9.stop(i18n.t("spinners.dependencies.installed"));
27662
+ }
27663
+ });
27664
+ } catch (error) {
27665
+ s$9.stop(i18n.t("spinners.template.failed"));
27666
+ console.error(`Failed to create project: ${error}`);
27667
+ throw error;
27621
27668
  }
27622
27669
  Wt(i18n.t("messages.create.generated", {
27623
27670
  name: context.name,
@@ -28050,19 +28097,19 @@ const encodedSeparatorRegEx = /%2f|%5c/i;
28050
28097
  const emittedPackageWarnings = /* @__PURE__ */ new Set();
28051
28098
  const doubleSlashRegEx = /[/\\]{2}/;
28052
28099
  function emitInvalidSegmentDeprecation(target, request$2, match, packageJsonUrl, internal, base, isTarget) {
28053
- if (g$1.noDeprecation) return;
28100
+ if (process$1.noDeprecation) return;
28054
28101
  const pjsonPath = fileURLToPath(packageJsonUrl);
28055
28102
  const double = doubleSlashRegEx.exec(isTarget ? target : request$2) !== null;
28056
- g$1.emitWarning(`Use of deprecated ${double ? "double slash" : "leading or trailing slash matching"} resolving "${target}" for module request "${request$2}" ${request$2 === match ? "" : `matched to "${match}" `}in the "${internal ? "imports" : "exports"}" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` : ""}.`, "DeprecationWarning", "DEP0166");
28103
+ process$1.emitWarning(`Use of deprecated ${double ? "double slash" : "leading or trailing slash matching"} resolving "${target}" for module request "${request$2}" ${request$2 === match ? "" : `matched to "${match}" `}in the "${internal ? "imports" : "exports"}" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` : ""}.`, "DeprecationWarning", "DEP0166");
28057
28104
  }
28058
28105
  function emitLegacyIndexDeprecation(url, packageJsonUrl, base, main$1) {
28059
- if (g$1.noDeprecation) return;
28106
+ if (process$1.noDeprecation) return;
28060
28107
  if (defaultGetFormatWithoutErrors(url, { parentURL: base.href }) !== "module") return;
28061
28108
  const urlPath = fileURLToPath(url.href);
28062
28109
  const packagePath = fileURLToPath(new URL$1(".", packageJsonUrl));
28063
28110
  const basePath = fileURLToPath(base);
28064
- if (!main$1) g$1.emitWarning(`No "main" or "exports" field defined in the package.json for ${packagePath} resolving the main entry point "${urlPath.slice(packagePath.length)}", imported from ${basePath}.\nDefault "index" lookups for the main are deprecated for ES modules.`, "DeprecationWarning", "DEP0151");
28065
- else if (path.resolve(packagePath, main$1) !== urlPath) g$1.emitWarning(`Package ${packagePath} has a "main" field set to "${main$1}", excluding the full filename and extension to the resolved file at "${urlPath.slice(packagePath.length)}", imported from ${basePath}.\n Automatic extension resolution of the "main" field is deprecated for ES modules.`, "DeprecationWarning", "DEP0151");
28111
+ if (!main$1) process$1.emitWarning(`No "main" or "exports" field defined in the package.json for ${packagePath} resolving the main entry point "${urlPath.slice(packagePath.length)}", imported from ${basePath}.\nDefault "index" lookups for the main are deprecated for ES modules.`, "DeprecationWarning", "DEP0151");
28112
+ else if (path.resolve(packagePath, main$1) !== urlPath) process$1.emitWarning(`Package ${packagePath} has a "main" field set to "${main$1}", excluding the full filename and extension to the resolved file at "${urlPath.slice(packagePath.length)}", imported from ${basePath}.\n Automatic extension resolution of the "main" field is deprecated for ES modules.`, "DeprecationWarning", "DEP0151");
28066
28113
  }
28067
28114
  function tryStatSync(path$1) {
28068
28115
  try {
@@ -28270,11 +28317,11 @@ function isConditionalExportsMainSugar(exports$1, packageJsonUrl, base) {
28270
28317
  return isConditionalSugar;
28271
28318
  }
28272
28319
  function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) {
28273
- if (g$1.noDeprecation) return;
28320
+ if (process$1.noDeprecation) return;
28274
28321
  const pjsonPath = fileURLToPath(pjsonUrl);
28275
28322
  if (emittedPackageWarnings.has(pjsonPath + "|" + match)) return;
28276
28323
  emittedPackageWarnings.add(pjsonPath + "|" + match);
28277
- g$1.emitWarning(`Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, "DeprecationWarning", "DEP0155");
28324
+ process$1.emitWarning(`Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, "DeprecationWarning", "DEP0155");
28278
28325
  }
28279
28326
  function packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions) {
28280
28327
  let exports$1 = packageConfig.exports;
@@ -28937,51 +28984,51 @@ var require_ini = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/ini@4.1
28937
28984
  //#endregion
28938
28985
  //#region ../../node_modules/.pnpm/global-directory@4.0.1/node_modules/global-directory/index.js
28939
28986
  var import_ini = /* @__PURE__ */ __toESM(require_ini(), 1);
28940
- const isWindows = g$1.platform === "win32";
28987
+ const isWindows = process$1.platform === "win32";
28941
28988
  const readRc = (filePath) => {
28942
28989
  try {
28943
28990
  return import_ini.default.parse(fs.readFileSync(filePath, "utf8")).prefix;
28944
28991
  } catch {}
28945
28992
  };
28946
- const getEnvNpmPrefix = () => Object.keys(g$1.env).reduce((prefix, name) => /^npm_config_prefix$/i.test(name) ? g$1.env[name] : prefix, void 0);
28993
+ const getEnvNpmPrefix = () => Object.keys(process$1.env).reduce((prefix, name) => /^npm_config_prefix$/i.test(name) ? process$1.env[name] : prefix, void 0);
28947
28994
  const getGlobalNpmrc = () => {
28948
- if (isWindows && g$1.env.APPDATA) return path.join(g$1.env.APPDATA, "/npm/etc/npmrc");
28949
- if (g$1.execPath.includes("/Cellar/node")) {
28950
- const homebrewPrefix = g$1.execPath.slice(0, g$1.execPath.indexOf("/Cellar/node"));
28995
+ if (isWindows && process$1.env.APPDATA) return path.join(process$1.env.APPDATA, "/npm/etc/npmrc");
28996
+ if (process$1.execPath.includes("/Cellar/node")) {
28997
+ const homebrewPrefix = process$1.execPath.slice(0, process$1.execPath.indexOf("/Cellar/node"));
28951
28998
  return path.join(homebrewPrefix, "/lib/node_modules/npm/npmrc");
28952
28999
  }
28953
- if (g$1.execPath.endsWith("/bin/node")) {
28954
- const installDir = path.dirname(path.dirname(g$1.execPath));
29000
+ if (process$1.execPath.endsWith("/bin/node")) {
29001
+ const installDir = path.dirname(path.dirname(process$1.execPath));
28955
29002
  return path.join(installDir, "/etc/npmrc");
28956
29003
  }
28957
29004
  };
28958
29005
  const getDefaultNpmPrefix = () => {
28959
29006
  if (isWindows) {
28960
- const { APPDATA } = g$1.env;
28961
- return APPDATA ? path.join(APPDATA, "npm") : path.dirname(g$1.execPath);
29007
+ const { APPDATA } = process$1.env;
29008
+ return APPDATA ? path.join(APPDATA, "npm") : path.dirname(process$1.execPath);
28962
29009
  }
28963
- return path.dirname(path.dirname(g$1.execPath));
29010
+ return path.dirname(path.dirname(process$1.execPath));
28964
29011
  };
28965
29012
  const getNpmPrefix = () => {
28966
29013
  const envPrefix = getEnvNpmPrefix();
28967
29014
  if (envPrefix) return envPrefix;
28968
29015
  const homePrefix = readRc(path.join(os.homedir(), ".npmrc"));
28969
29016
  if (homePrefix) return homePrefix;
28970
- if (g$1.env.PREFIX) return g$1.env.PREFIX;
29017
+ if (process$1.env.PREFIX) return process$1.env.PREFIX;
28971
29018
  const globalPrefix = readRc(getGlobalNpmrc());
28972
29019
  if (globalPrefix) return globalPrefix;
28973
29020
  return getDefaultNpmPrefix();
28974
29021
  };
28975
29022
  const npmPrefix = path.resolve(getNpmPrefix());
28976
29023
  const getYarnWindowsDirectory = () => {
28977
- if (isWindows && g$1.env.LOCALAPPDATA) {
28978
- const dir = path.join(g$1.env.LOCALAPPDATA, "Yarn");
29024
+ if (isWindows && process$1.env.LOCALAPPDATA) {
29025
+ const dir = path.join(process$1.env.LOCALAPPDATA, "Yarn");
28979
29026
  if (fs.existsSync(dir)) return dir;
28980
29027
  }
28981
29028
  return false;
28982
29029
  };
28983
29030
  const getYarnPrefix = () => {
28984
- if (g$1.env.PREFIX) return g$1.env.PREFIX;
29031
+ if (process$1.env.PREFIX) return process$1.env.PREFIX;
28985
29032
  const windowsPrefix = getYarnWindowsDirectory();
28986
29033
  if (windowsPrefix) return windowsPrefix;
28987
29034
  const configPrefix = path.join(os.homedir(), ".config/yarn");
@@ -29231,7 +29278,7 @@ function commandUpgradeFabric(pkgName) {
29231
29278
 
29232
29279
  //#endregion
29233
29280
  //#region package.json
29234
- var version = "0.0.6-beta.7";
29281
+ var version = "0.0.7";
29235
29282
 
29236
29283
  //#endregion
29237
29284
  //#region src/commands/upgrade.ts