@storybook/addon-vitest 0.0.0-pr-31819-sha-323d0e88 → 0.0.0-pr-31987-sha-64db30c4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/chunk-55WZLVGN.mjs +11 -0
  2. package/dist/chunk-JKRQGT2U.mjs +10 -0
  3. package/dist/index.js +6 -9
  4. package/dist/index.mjs +5 -0
  5. package/dist/manager.js +8 -5571
  6. package/dist/node/coverage-reporter.d.ts +184 -0
  7. package/dist/node/coverage-reporter.js +4 -1395
  8. package/dist/node/coverage-reporter.mjs +12 -0
  9. package/dist/node/vitest.d.ts +2 -0
  10. package/dist/node/vitest.js +17 -564
  11. package/dist/node/vitest.mjs +19 -0
  12. package/dist/postinstall.js +93 -1163
  13. package/dist/preset.js +32 -268
  14. package/dist/vitest-plugin/global-setup.d.ts +6 -0
  15. package/dist/vitest-plugin/global-setup.js +6 -146
  16. package/dist/vitest-plugin/global-setup.mjs +13 -0
  17. package/dist/vitest-plugin/index.js +43 -2589
  18. package/dist/vitest-plugin/index.mjs +28 -0
  19. package/dist/vitest-plugin/setup-file.d.ts +14 -0
  20. package/dist/vitest-plugin/setup-file.js +9 -28
  21. package/dist/vitest-plugin/setup-file.mjs +9 -0
  22. package/dist/vitest-plugin/test-utils.d.ts +20 -0
  23. package/dist/vitest-plugin/test-utils.js +8 -68
  24. package/dist/vitest-plugin/test-utils.mjs +8 -0
  25. package/manager.js +1 -0
  26. package/manager.mjs +1 -0
  27. package/package.json +89 -17
  28. package/postinstall.js +1 -0
  29. package/postinstall.mjs +1 -0
  30. package/preset.js +1 -0
  31. package/preset.mjs +1 -0
  32. package/dist/_browser-chunks/chunk-A47P2DCZ.js +0 -11
  33. package/dist/_browser-chunks/chunk-VMSW5DPM.js +0 -60
  34. package/dist/_node-chunks/chunk-C4NXJJA3.js +0 -324
  35. package/dist/_node-chunks/chunk-CIKGVIS6.js +0 -223
  36. package/dist/_node-chunks/chunk-FMQIQP6D.js +0 -96
  37. package/dist/_node-chunks/chunk-KVKHJ5OL.js +0 -46
  38. package/dist/_node-chunks/chunk-N3OFRDD3.js +0 -80
  39. package/dist/_node-chunks/chunk-VFT2PRGV.js +0 -5002
  40. package/dist/_node-chunks/chunk-W26ZMSD3.js +0 -143
  41. package/dist/_node-chunks/chunk-XWQZZ2C3.js +0 -1586
  42. package/static/coverage-reporter.cjs +0 -10
@@ -1,1221 +1,151 @@
1
- import CJS_COMPAT_NODE_URL from 'node:url';
2
- import CJS_COMPAT_NODE_PATH from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE from "node:module";
4
-
5
- const __filename = CJS_COMPAT_NODE_URL.fileURLToPath(import.meta.url);
6
- const __dirname = CJS_COMPAT_NODE_PATH.dirname(__filename);
7
- const require = CJS_COMPAT_NODE_MODULE.createRequire(import.meta.url);
8
- // ------------------------------------------------------------
9
- // end of CJS compatibility banner, injected by Storybook's esbuild configuration
10
- // ------------------------------------------------------------
11
- import {
12
- a as _e
13
- } from "./_node-chunks/chunk-XWQZZ2C3.js";
14
- import {
15
- a as Ye,
16
- c as Be
17
- } from "./_node-chunks/chunk-CIKGVIS6.js";
18
- import {
19
- c as O,
20
- e as We,
21
- m as Ge
22
- } from "./_node-chunks/chunk-FMQIQP6D.js";
23
- import {
24
- c as L,
25
- d as W,
26
- e as _,
27
- f as G
28
- } from "./_node-chunks/chunk-W26ZMSD3.js";
29
- import {
30
- a as He,
31
- b as Ue,
32
- c as ee,
33
- d as Je,
34
- e as Yr,
35
- f as b,
36
- g as S,
37
- h as ge
38
- } from "./_node-chunks/chunk-C4NXJJA3.js";
39
- import {
40
- a as i,
41
- c as h,
42
- e as Gr
43
- } from "./_node-chunks/chunk-KVKHJ5OL.js";
44
-
45
- // ../../node_modules/semver/functions/parse.js
46
- var V = h((Nn, Ke) => {
47
- "use strict";
48
- var Xe = b(), Br = /* @__PURE__ */ i((r, e, t = !1) => {
49
- if (r instanceof Xe)
50
- return r;
51
- try {
52
- return new Xe(r, e);
53
- } catch (s) {
54
- if (!t)
55
- return null;
56
- throw s;
57
- }
58
- }, "parse");
59
- Ke.exports = Br;
60
- });
61
-
62
- // ../../node_modules/semver/functions/valid.js
63
- var Qe = h((Dn, ze) => {
64
- "use strict";
65
- var Hr = V(), Ur = /* @__PURE__ */ i((r, e) => {
66
- let t = Hr(r, e);
67
- return t ? t.version : null;
68
- }, "valid");
69
- ze.exports = Ur;
70
- });
71
-
72
- // ../../node_modules/semver/functions/clean.js
73
- var Me = h((Ln, Ze) => {
74
- "use strict";
75
- var Jr = V(), Xr = /* @__PURE__ */ i((r, e) => {
76
- let t = Jr(r.trim().replace(/^[=v]+/, ""), e);
77
- return t ? t.version : null;
78
- }, "clean");
79
- Ze.exports = Xr;
80
- });
81
-
82
- // ../../node_modules/semver/functions/inc.js
83
- var rt = h((_n, tt) => {
84
- "use strict";
85
- var et = b(), Kr = /* @__PURE__ */ i((r, e, t, s, o) => {
86
- typeof t == "string" && (o = s, s = t, t = void 0);
87
- try {
88
- return new et(
89
- r instanceof et ? r.version : r,
90
- t
91
- ).inc(e, s, o).version;
92
- } catch {
93
- return null;
94
- }
95
- }, "inc");
96
- tt.exports = Kr;
97
- });
98
-
99
- // ../../node_modules/semver/functions/diff.js
100
- var nt = h((Yn, ot) => {
101
- "use strict";
102
- var st = V(), zr = /* @__PURE__ */ i((r, e) => {
103
- let t = st(r, null, !0), s = st(e, null, !0), o = t.compare(s);
104
- if (o === 0)
105
- return null;
106
- let n = o > 0, a = n ? t : s, l = n ? s : t, c = !!a.prerelease.length;
107
- if (!!l.prerelease.length && !c) {
108
- if (!l.patch && !l.minor)
109
- return "major";
110
- if (l.compareMain(a) === 0)
111
- return l.minor && !l.patch ? "minor" : "patch";
112
- }
113
- let d = c ? "pre" : "";
114
- return t.major !== s.major ? d + "major" : t.minor !== s.minor ? d + "minor" : t.patch !== s.patch ? d + "patch" : "prerelease";
115
- }, "diff");
116
- ot.exports = zr;
117
- });
118
-
119
- // ../../node_modules/semver/functions/major.js
120
- var at = h((Hn, it) => {
121
- "use strict";
122
- var Qr = b(), Zr = /* @__PURE__ */ i((r, e) => new Qr(r, e).major, "major");
123
- it.exports = Zr;
124
- });
125
-
126
- // ../../node_modules/semver/functions/minor.js
127
- var ct = h((Jn, lt) => {
128
- "use strict";
129
- var Mr = b(), es = /* @__PURE__ */ i((r, e) => new Mr(r, e).minor, "minor");
130
- lt.exports = es;
131
- });
132
-
133
- // ../../node_modules/semver/functions/patch.js
134
- var pt = h((Kn, ut) => {
135
- "use strict";
136
- var ts = b(), rs = /* @__PURE__ */ i((r, e) => new ts(r, e).patch, "patch");
137
- ut.exports = rs;
138
- });
139
-
140
- // ../../node_modules/semver/functions/prerelease.js
141
- var mt = h((Qn, ft) => {
142
- "use strict";
143
- var ss = V(), os = /* @__PURE__ */ i((r, e) => {
144
- let t = ss(r, e);
145
- return t && t.prerelease.length ? t.prerelease : null;
146
- }, "prerelease");
147
- ft.exports = os;
148
- });
149
-
150
- // ../../node_modules/semver/functions/rcompare.js
151
- var ht = h((Mn, dt) => {
152
- "use strict";
153
- var ns = S(), is = /* @__PURE__ */ i((r, e, t) => ns(e, r, t), "rcompare");
154
- dt.exports = is;
155
- });
156
-
157
- // ../../node_modules/semver/functions/compare-loose.js
158
- var yt = h((ti, gt) => {
159
- "use strict";
160
- var as = S(), ls = /* @__PURE__ */ i((r, e) => as(r, e, !0), "compareLoose");
161
- gt.exports = ls;
162
- });
163
-
164
- // ../../node_modules/semver/functions/compare-build.js
165
- var te = h((si, vt) => {
166
- "use strict";
167
- var wt = b(), cs = /* @__PURE__ */ i((r, e, t) => {
168
- let s = new wt(r, t), o = new wt(e, t);
169
- return s.compare(o) || s.compareBuild(o);
170
- }, "compareBuild");
171
- vt.exports = cs;
172
- });
173
-
174
- // ../../node_modules/semver/functions/sort.js
175
- var $t = h((ni, xt) => {
176
- "use strict";
177
- var us = te(), ps = /* @__PURE__ */ i((r, e) => r.sort((t, s) => us(t, s, e)), "sort");
178
- xt.exports = ps;
179
- });
180
-
181
- // ../../node_modules/semver/functions/rsort.js
182
- var bt = h((ai, kt) => {
183
- "use strict";
184
- var fs = te(), ms = /* @__PURE__ */ i((r, e) => r.sort((t, s) => fs(s, t, e)), "rsort");
185
- kt.exports = ms;
186
- });
187
-
188
- // ../../node_modules/semver/functions/gt.js
189
- var Y = h((ci, qt) => {
190
- "use strict";
191
- var ds = S(), hs = /* @__PURE__ */ i((r, e, t) => ds(r, e, t) > 0, "gt");
192
- qt.exports = hs;
193
- });
194
-
195
- // ../../node_modules/semver/functions/lt.js
196
- var re = h((pi, Et) => {
197
- "use strict";
198
- var gs = S(), ys = /* @__PURE__ */ i((r, e, t) => gs(r, e, t) < 0, "lt");
199
- Et.exports = ys;
200
- });
201
-
202
- // ../../node_modules/semver/functions/eq.js
203
- var ye = h((mi, jt) => {
204
- "use strict";
205
- var ws = S(), vs = /* @__PURE__ */ i((r, e, t) => ws(r, e, t) === 0, "eq");
206
- jt.exports = vs;
207
- });
208
-
209
- // ../../node_modules/semver/functions/neq.js
210
- var we = h((hi, St) => {
211
- "use strict";
212
- var xs = S(), $s = /* @__PURE__ */ i((r, e, t) => xs(r, e, t) !== 0, "neq");
213
- St.exports = $s;
214
- });
215
-
216
- // ../../node_modules/semver/functions/lte.js
217
- var se = h((yi, Pt) => {
218
- "use strict";
219
- var ks = S(), bs = /* @__PURE__ */ i((r, e, t) => ks(r, e, t) <= 0, "lte");
220
- Pt.exports = bs;
221
- });
222
-
223
- // ../../node_modules/semver/functions/cmp.js
224
- var ve = h((vi, Rt) => {
225
- "use strict";
226
- var qs = ye(), Es = we(), js = Y(), Ss = ge(), Ps = re(), Rs = se(), Os = /* @__PURE__ */ i((r, e, t, s) => {
227
- switch (e) {
228
- case "===":
229
- return typeof r == "object" && (r = r.version), typeof t == "object" && (t = t.version), r === t;
230
- case "!==":
231
- return typeof r == "object" && (r = r.version), typeof t == "object" && (t = t.version), r !== t;
232
- case "":
233
- case "=":
234
- case "==":
235
- return qs(r, t, s);
236
- case "!=":
237
- return Es(r, t, s);
238
- case ">":
239
- return js(r, t, s);
240
- case ">=":
241
- return Ss(r, t, s);
242
- case "<":
243
- return Ps(r, t, s);
244
- case "<=":
245
- return Rs(r, t, s);
246
- default:
247
- throw new TypeError(`Invalid operator: ${e}`);
248
- }
249
- }, "cmp");
250
- Rt.exports = Os;
251
- });
252
-
253
- // ../../node_modules/semver/functions/coerce.js
254
- var Ct = h(($i, Ot) => {
255
- "use strict";
256
- var Cs = b(), Is = V(), { safeRe: oe, t: ne } = ee(), Ts = /* @__PURE__ */ i((r, e) => {
257
- if (r instanceof Cs)
258
- return r;
259
- if (typeof r == "number" && (r = String(r)), typeof r != "string")
260
- return null;
261
- e = e || {};
262
- let t = null;
263
- if (!e.rtl)
264
- t = r.match(e.includePrerelease ? oe[ne.COERCEFULL] : oe[ne.COERCE]);
265
- else {
266
- let c = e.includePrerelease ? oe[ne.COERCERTLFULL] : oe[ne.COERCERTL], m;
267
- for (; (m = c.exec(r)) && (!t || t.index + t[0].length !== r.length); )
268
- (!t || m.index + m[0].length !== t.index + t[0].length) && (t = m), c.lastIndex = m.index + m[1].length + m[2].length;
269
- c.lastIndex = -1;
270
- }
271
- if (t === null)
272
- return null;
273
- let s = t[2], o = t[3] || "0", n = t[4] || "0", a = e.includePrerelease && t[5] ? `-${t[5]}` : "", l = e.includePrerelease && t[6] ? `+${t[6]}` : "";
274
- return Is(`${s}.${o}.${n}${a}${l}`, e);
275
- }, "coerce");
276
- Ot.exports = Ts;
277
- });
278
-
279
- // ../../node_modules/semver/internal/lrucache.js
280
- var Tt = h((bi, It) => {
281
- "use strict";
282
- var xe = class {
283
- static {
284
- i(this, "LRUCache");
285
- }
286
- constructor() {
287
- this.max = 1e3, this.map = /* @__PURE__ */ new Map();
288
- }
289
- get(e) {
290
- let t = this.map.get(e);
291
- if (t !== void 0)
292
- return this.map.delete(e), this.map.set(e, t), t;
293
- }
294
- delete(e) {
295
- return this.map.delete(e);
296
- }
297
- set(e, t) {
298
- if (!this.delete(e) && t !== void 0) {
299
- if (this.map.size >= this.max) {
300
- let o = this.map.keys().next().value;
301
- this.delete(o);
302
- }
303
- this.map.set(e, t);
304
- }
305
- return this;
306
- }
307
- };
308
- It.exports = xe;
309
- });
310
-
311
- // ../../node_modules/semver/classes/range.js
312
- var j = h((Ei, Dt) => {
313
- "use strict";
314
- var Vs = /\s+/g, $e = class r {
315
- static {
316
- i(this, "Range");
317
- }
318
- constructor(e, t) {
319
- if (t = As(t), e instanceof r)
320
- return e.loose === !!t.loose && e.includePrerelease === !!t.includePrerelease ? e : new r(e.raw, t);
321
- if (e instanceof ke)
322
- return this.raw = e.value, this.set = [[e]], this.formatted = void 0, this;
323
- if (this.options = t, this.loose = !!t.loose, this.includePrerelease = !!t.includePrerelease, this.raw = e.trim().replace(Vs, " "), this.set = this.raw.split("||").map((s) => this.parseRange(s.trim())).filter((s) => s.length), !this.set.length)
324
- throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
325
- if (this.set.length > 1) {
326
- let s = this.set[0];
327
- if (this.set = this.set.filter((o) => !Nt(o[0])), this.set.length === 0)
328
- this.set = [s];
329
- else if (this.set.length > 1) {
330
- for (let o of this.set)
331
- if (o.length === 1 && Ys(o[0])) {
332
- this.set = [o];
333
- break;
334
- }
335
- }
336
- }
337
- this.formatted = void 0;
338
- }
339
- get range() {
340
- if (this.formatted === void 0) {
341
- this.formatted = "";
342
- for (let e = 0; e < this.set.length; e++) {
343
- e > 0 && (this.formatted += "||");
344
- let t = this.set[e];
345
- for (let s = 0; s < t.length; s++)
346
- s > 0 && (this.formatted += " "), this.formatted += t[s].toString().trim();
347
- }
1
+ 'use strict';
2
+
3
+ var fs = require('fs');
4
+ var fs4 = require('fs/promises');
5
+ var babel = require('storybook/internal/babel');
6
+ var common = require('storybook/internal/common');
7
+ var csfTools = require('storybook/internal/csf-tools');
8
+ var nodeLogger = require('storybook/internal/node-logger');
9
+ var buffer = require('buffer');
10
+ var path = require('path');
11
+ var childProcess = require('child_process');
12
+ var process2 = require('process');
13
+ var url = require('url');
14
+ var os = require('os');
15
+ var promises = require('timers/promises');
16
+ var util = require('util');
17
+ var prompts = require('prompts');
18
+ var tsDedent = require('ts-dedent');
19
+
20
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
21
+
22
+ function _interopNamespace(e) {
23
+ if (e && e.__esModule) return e;
24
+ var n = Object.create(null);
25
+ if (e) {
26
+ Object.keys(e).forEach(function (k) {
27
+ if (k !== 'default') {
28
+ var d = Object.getOwnPropertyDescriptor(e, k);
29
+ Object.defineProperty(n, k, d.get ? d : {
30
+ enumerable: true,
31
+ get: function () { return e[k]; }
32
+ });
348
33
  }
349
- return this.formatted;
350
- }
351
- format() {
352
- return this.range;
353
- }
354
- toString() {
355
- return this.range;
356
- }
357
- parseRange(e) {
358
- let s = ((this.options.includePrerelease && _s) | (this.options.loose && Gs)) + ":" + e, o = Vt.get(s);
359
- if (o)
360
- return o;
361
- let n = this.options.loose, a = n ? q[x.HYPHENRANGELOOSE] : q[x.HYPHENRANGE];
362
- e = e.replace(a, Ms(this.options.includePrerelease)), y("hyphen replace", e), e = e.replace(q[x.COMPARATORTRIM], Fs), y("comparator trim", e), e = e.replace(q[x.TILDETRIM], Ls), y("tilde trim", e), e = e.replace(q[x.CARETTRIM], Ws), y("caret trim", e);
363
- let l = e.split(" ").map((u) => Bs(u, this.options)).join(" ").split(/\s+/).map((u) => Zs(u, this.options));
364
- n && (l = l.filter((u) => (y("loose invalid filter", u, this.options), !!u.match(q[x.COMPARATORLOOSE])))), y("range list", l);
365
- let c = /* @__PURE__ */ new Map(), m = l.map((u) => new ke(u, this.options));
366
- for (let u of m) {
367
- if (Nt(u))
368
- return [u];
369
- c.set(u.value, u);
370
- }
371
- c.size > 1 && c.has("") && c.delete("");
372
- let d = [...c.values()];
373
- return Vt.set(s, d), d;
374
- }
375
- intersects(e, t) {
376
- if (!(e instanceof r))
377
- throw new TypeError("a Range is required");
378
- return this.set.some((s) => At(s, t) && e.set.some((o) => At(o, t) && s.every((n) => o.every((a) => n.intersects(a, t)))));
379
- }
380
- // if ANY of the sets match ALL of its comparators, then pass
381
- test(e) {
382
- if (!e)
383
- return !1;
384
- if (typeof e == "string")
385
- try {
386
- e = new Ds(e, this.options);
387
- } catch {
388
- return !1;
389
- }
390
- for (let t = 0; t < this.set.length; t++)
391
- if (eo(this.set[t], e, this.options))
392
- return !0;
393
- return !1;
394
- }
395
- };
396
- Dt.exports = $e;
397
- var Ns = Tt(), Vt = new Ns(), As = Je(), ke = B(), y = Ue(), Ds = b(), {
398
- safeRe: q,
399
- t: x,
400
- comparatorTrimReplace: Fs,
401
- tildeTrimReplace: Ls,
402
- caretTrimReplace: Ws
403
- } = ee(), { FLAG_INCLUDE_PRERELEASE: _s, FLAG_LOOSE: Gs } = He(), Nt = /* @__PURE__ */ i((r) => r.value === "<0.0.0-0", "isNullSet"), Ys = /* @__PURE__ */ i((r) => r.value === "", "isAny"), At = /* @__PURE__ */ i((r, e) => {
404
- let t = !0, s = r.slice(), o = s.pop();
405
- for (; t && s.length; )
406
- t = s.every((n) => o.intersects(n, e)), o = s.pop();
407
- return t;
408
- }, "isSatisfiable"), Bs = /* @__PURE__ */ i((r, e) => (y("comp", r, e), r = Js(r, e), y("caret", r), r = Hs(r, e), y("tildes", r), r = Ks(r, e), y("xrange", r), r = Qs(r, e), y("stars", r), r), "parseComparator"), $ = /* @__PURE__ */ i((r) => !r || r.toLowerCase() === "x" || r === "*", "isX"), Hs = /* @__PURE__ */ i((r, e) => r.trim().split(/\s+/).map((t) => Us(t, e)).join(" "), "replaceTildes"), Us = /* @__PURE__ */ i((r, e) => {
409
- let t = e.loose ? q[x.TILDELOOSE] : q[x.TILDE];
410
- return r.replace(t, (s, o, n, a, l) => {
411
- y("tilde", r, s, o, n, a, l);
412
- let c;
413
- return $(o) ? c = "" : $(n) ? c = `>=${o}.0.0 <${+o + 1}.0.0-0` : $(a) ? c = `>=${o}.${n}.0 <${o}.${+n + 1}.0-0` : l ? (y("replaceTilde pr", l), c = `>=${o}.${n}.${a}-${l} <${o}.${+n + 1}.0-0`) : c = `>=${o}.${n}.${a} <${o}.${+n + 1}.0-0`, y("tilde return", c), c;
414
- });
415
- }, "replaceTilde"), Js = /* @__PURE__ */ i((r, e) => r.trim().split(/\s+/).map((t) => Xs(t, e)).join(" "), "replaceCarets"), Xs = /* @__PURE__ */ i((r, e) => {
416
- y("caret", r, e);
417
- let t = e.loose ? q[x.CARETLOOSE] : q[x.CARET], s = e.includePrerelease ? "-0" : "";
418
- return r.replace(t, (o, n, a, l, c) => {
419
- y("caret", r, o, n, a, l, c);
420
- let m;
421
- return $(n) ? m = "" : $(a) ? m = `>=${n}.0.0${s} <${+n + 1}.0.0-0` : $(l) ? n === "0" ? m = `>=${n}.${a}.0${s} <${n}.${+a + 1}.0-0` : m = `>=${n}.${a}.0${s} <${+n + 1}.0.0-0` : c ? (y("replaceCaret pr", c), n === "0" ? a === "0" ? m = `>=${n}.${a}.${l}-${c} <${n}.${a}.${+l + 1}-0` : m = `>=${n}.${a}.${l}-${c} <${n}.${+a + 1}.0-0` : m = `>=${n}.${a}.${l}-${c} <${+n + 1}.0.0-0`) : (y("no pr"), n === "0" ? a === "0" ? m = `>=${n}.${a}.${l}${s} <${n}.${a}.${+l + 1}-0` : m = `>=${n}.${a}.${l}${s} <${n}.${+a + 1}.0-0` : m = `>=${n}.${a}.${l} <${+n + 1}.0.0-0`), y("caret return", m), m;
422
34
  });
423
- }, "replaceCaret"), Ks = /* @__PURE__ */ i((r, e) => (y("replaceXRanges", r, e), r.split(/\s+/).map((t) => zs(t, e)).join(" ")), "replaceXRanges"), zs = /* @__PURE__ */ i((r, e) => {
424
- r = r.trim();
425
- let t = e.loose ? q[x.XRANGELOOSE] : q[x.XRANGE];
426
- return r.replace(t, (s, o, n, a, l, c) => {
427
- y("xRange", r, s, o, n, a, l, c);
428
- let m = $(n), d = m || $(a), u = d || $(l), g = u;
429
- return o === "=" && g && (o = ""), c = e.includePrerelease ? "-0" : "", m ? o === ">" || o === "<" ? s = "<0.0.0-0" : s = "*" : o && g ? (d && (a = 0), l = 0, o === ">" ? (o = ">=", d ? (n = +n + 1, a = 0, l = 0) : (a = +a + 1, l = 0)) : o === "<=" && (o = "<", d ? n = +n + 1 : a = +a + 1), o === "<" && (c = "-0"), s = `${o + n}.${a}.${l}${c}`) : d ? s = `>=${n}.0.0${c} <${+n + 1}.0.0-0` : u && (s = `>=${n}.${a}.0${c} <${n}.${+a + 1}.0-0`), y("xRange return", s), s;
430
- });
431
- }, "replaceXRange"), Qs = /* @__PURE__ */ i((r, e) => (y("replaceStars", r, e), r.trim().replace(q[x.STAR], "")), "replaceStars"), Zs = /* @__PURE__ */ i((r, e) => (y("replaceGTE0", r, e), r.trim().replace(q[e.includePrerelease ? x.GTE0PRE : x.GTE0], "")), "replaceGTE0"), Ms = /* @__PURE__ */ i((r) => (e, t, s, o, n, a, l, c, m, d, u, g) => ($(s) ? t = "" : $(o) ? t = `>=${s}.0.0${r ? "-0" : ""}` : $(n) ? t = `>=${s}.${o}.0${r ? "-0" : ""}` : a ? t = `>=${t}` : t = `>=${t}${r ? "-0" : ""}`, $(m) ? c = "" : $(d) ? c = `<${+m + 1}.0.0-0` : $(u) ? c = `<${m}.${+d + 1}.0-0` : g ? c = `<=${m}.${d}.${u}-${g}` : r ? c = `<${m}.${d}.${+u + 1}-0` : c = `<=${c}`, `${t} ${c}`.trim()), "hyphenReplace"), eo = /* @__PURE__ */ i((r, e, t) => {
432
- for (let s = 0; s < r.length; s++)
433
- if (!r[s].test(e))
434
- return !1;
435
- if (e.prerelease.length && !t.includePrerelease) {
436
- for (let s = 0; s < r.length; s++)
437
- if (y(r[s].semver), r[s].semver !== ke.ANY && r[s].semver.prerelease.length > 0) {
438
- let o = r[s].semver;
439
- if (o.major === e.major && o.minor === e.minor && o.patch === e.patch)
440
- return !0;
441
- }
442
- return !1;
443
- }
444
- return !0;
445
- }, "testSet");
446
- });
447
-
448
- // ../../node_modules/semver/classes/comparator.js
449
- var B = h((Si, Yt) => {
450
- "use strict";
451
- var H = Symbol("SemVer ANY"), Ee = class r {
452
- static {
453
- i(this, "Comparator");
454
- }
455
- static get ANY() {
456
- return H;
457
- }
458
- constructor(e, t) {
459
- if (t = Ft(t), e instanceof r) {
460
- if (e.loose === !!t.loose)
461
- return e;
462
- e = e.value;
463
- }
464
- e = e.trim().split(/\s+/).join(" "), qe("comparator", e, t), this.options = t, this.loose = !!t.loose, this.parse(e), this.semver === H ? this.value = "" : this.value = this.operator + this.semver.version, qe("comp", this);
465
- }
466
- parse(e) {
467
- let t = this.options.loose ? Lt[Wt.COMPARATORLOOSE] : Lt[Wt.COMPARATOR], s = e.match(t);
468
- if (!s)
469
- throw new TypeError(`Invalid comparator: ${e}`);
470
- this.operator = s[1] !== void 0 ? s[1] : "", this.operator === "=" && (this.operator = ""), s[2] ? this.semver = new _t(s[2], this.options.loose) : this.semver = H;
471
- }
472
- toString() {
473
- return this.value;
474
- }
475
- test(e) {
476
- if (qe("Comparator.test", e, this.options.loose), this.semver === H || e === H)
477
- return !0;
478
- if (typeof e == "string")
479
- try {
480
- e = new _t(e, this.options);
481
- } catch {
482
- return !1;
483
- }
484
- return be(e, this.operator, this.semver, this.options);
485
- }
486
- intersects(e, t) {
487
- if (!(e instanceof r))
488
- throw new TypeError("a Comparator is required");
489
- return this.operator === "" ? this.value === "" ? !0 : new Gt(e.value, t).test(this.value) : e.operator === "" ? e.value === "" ? !0 : new Gt(this.value, t).test(e.semver) : (t = Ft(t), t.includePrerelease && (this.value === "<0.0.0-0" || e.value === "<0.0.0-0") || !t.includePrerelease && (this.value.startsWith("<0.0.0") || e.value.startsWith("<0.0.0")) ? !1 : !!(this.operator.startsWith(">") && e.operator.startsWith(">") || this.operator.startsWith("<") && e.operator.startsWith("<") || this.semver.version === e.semver.version && this.operator.includes("=") && e.operator.includes("=") || be(this.semver, "<", e.semver, t) && this.operator.startsWith(">") && e.operator.startsWith("<") || be(this.semver, ">", e.semver, t) && this.operator.startsWith("<") && e.operator.startsWith(">")));
490
- }
491
- };
492
- Yt.exports = Ee;
493
- var Ft = Je(), { safeRe: Lt, t: Wt } = ee(), be = ve(), qe = Ue(), _t = b(), Gt = j();
494
- });
495
-
496
- // ../../node_modules/semver/functions/satisfies.js
497
- var U = h((Ri, Bt) => {
498
- "use strict";
499
- var to = j(), ro = /* @__PURE__ */ i((r, e, t) => {
500
- try {
501
- e = new to(e, t);
502
- } catch {
503
- return !1;
504
- }
505
- return e.test(r);
506
- }, "satisfies");
507
- Bt.exports = ro;
508
- });
509
-
510
- // ../../node_modules/semver/ranges/to-comparators.js
511
- var Ut = h((Ci, Ht) => {
512
- "use strict";
513
- var so = j(), oo = /* @__PURE__ */ i((r, e) => new so(r, e).set.map((t) => t.map((s) => s.value).join(" ").trim().split(" ")), "toComparators");
514
- Ht.exports = oo;
515
- });
516
-
517
- // ../../node_modules/semver/ranges/max-satisfying.js
518
- var Xt = h((Ti, Jt) => {
519
- "use strict";
520
- var no = b(), io = j(), ao = /* @__PURE__ */ i((r, e, t) => {
521
- let s = null, o = null, n = null;
522
- try {
523
- n = new io(e, t);
524
- } catch {
525
- return null;
526
- }
527
- return r.forEach((a) => {
528
- n.test(a) && (!s || o.compare(a) === -1) && (s = a, o = new no(s, t));
529
- }), s;
530
- }, "maxSatisfying");
531
- Jt.exports = ao;
532
- });
533
-
534
- // ../../node_modules/semver/ranges/min-satisfying.js
535
- var zt = h((Ni, Kt) => {
536
- "use strict";
537
- var lo = b(), co = j(), uo = /* @__PURE__ */ i((r, e, t) => {
538
- let s = null, o = null, n = null;
539
- try {
540
- n = new co(e, t);
541
- } catch {
542
- return null;
543
- }
544
- return r.forEach((a) => {
545
- n.test(a) && (!s || o.compare(a) === 1) && (s = a, o = new lo(s, t));
546
- }), s;
547
- }, "minSatisfying");
548
- Kt.exports = uo;
549
- });
550
-
551
- // ../../node_modules/semver/ranges/min-version.js
552
- var Mt = h((Di, Zt) => {
553
- "use strict";
554
- var je = b(), po = j(), Qt = Y(), fo = /* @__PURE__ */ i((r, e) => {
555
- r = new po(r, e);
556
- let t = new je("0.0.0");
557
- if (r.test(t) || (t = new je("0.0.0-0"), r.test(t)))
558
- return t;
559
- t = null;
560
- for (let s = 0; s < r.set.length; ++s) {
561
- let o = r.set[s], n = null;
562
- o.forEach((a) => {
563
- let l = new je(a.semver.version);
564
- switch (a.operator) {
565
- case ">":
566
- l.prerelease.length === 0 ? l.patch++ : l.prerelease.push(0), l.raw = l.format();
567
- /* fallthrough */
568
- case "":
569
- case ">=":
570
- (!n || Qt(l, n)) && (n = l);
571
- break;
572
- case "<":
573
- case "<=":
574
- break;
575
- /* istanbul ignore next */
576
- default:
577
- throw new Error(`Unexpected operation: ${a.operator}`);
578
- }
579
- }), n && (!t || Qt(t, n)) && (t = n);
580
- }
581
- return t && r.test(t) ? t : null;
582
- }, "minVersion");
583
- Zt.exports = fo;
584
- });
585
-
586
- // ../../node_modules/semver/ranges/valid.js
587
- var tr = h((Li, er) => {
588
- "use strict";
589
- var mo = j(), ho = /* @__PURE__ */ i((r, e) => {
590
- try {
591
- return new mo(r, e).range || "*";
592
- } catch {
593
- return null;
594
- }
595
- }, "validRange");
596
- er.exports = ho;
597
- });
598
-
599
- // ../../node_modules/semver/ranges/outside.js
600
- var ie = h((_i, nr) => {
601
- "use strict";
602
- var go = b(), or = B(), { ANY: yo } = or, wo = j(), vo = U(), rr = Y(), sr = re(), xo = se(), $o = ge(), ko = /* @__PURE__ */ i((r, e, t, s) => {
603
- r = new go(r, s), e = new wo(e, s);
604
- let o, n, a, l, c;
605
- switch (t) {
606
- case ">":
607
- o = rr, n = xo, a = sr, l = ">", c = ">=";
608
- break;
609
- case "<":
610
- o = sr, n = $o, a = rr, l = "<", c = "<=";
611
- break;
612
- default:
613
- throw new TypeError('Must provide a hilo val of "<" or ">"');
614
- }
615
- if (vo(r, e, s))
616
- return !1;
617
- for (let m = 0; m < e.set.length; ++m) {
618
- let d = e.set[m], u = null, g = null;
619
- if (d.forEach((p) => {
620
- p.semver === yo && (p = new or(">=0.0.0")), u = u || p, g = g || p, o(p.semver, u.semver, s) ? u = p : a(p.semver, g.semver, s) && (g = p);
621
- }), u.operator === l || u.operator === c || (!g.operator || g.operator === l) && n(r, g.semver))
622
- return !1;
623
- if (g.operator === c && a(r, g.semver))
624
- return !1;
625
- }
626
- return !0;
627
- }, "outside");
628
- nr.exports = ko;
629
- });
630
-
631
- // ../../node_modules/semver/ranges/gtr.js
632
- var ar = h((Yi, ir) => {
633
- "use strict";
634
- var bo = ie(), qo = /* @__PURE__ */ i((r, e, t) => bo(r, e, ">", t), "gtr");
635
- ir.exports = qo;
636
- });
637
-
638
- // ../../node_modules/semver/ranges/ltr.js
639
- var cr = h((Hi, lr) => {
640
- "use strict";
641
- var Eo = ie(), jo = /* @__PURE__ */ i((r, e, t) => Eo(r, e, "<", t), "ltr");
642
- lr.exports = jo;
643
- });
644
-
645
- // ../../node_modules/semver/ranges/intersects.js
646
- var fr = h((Ji, pr) => {
647
- "use strict";
648
- var ur = j(), So = /* @__PURE__ */ i((r, e, t) => (r = new ur(r, t), e = new ur(e, t), r.intersects(e, t)), "intersects");
649
- pr.exports = So;
650
- });
651
-
652
- // ../../node_modules/semver/ranges/simplify.js
653
- var dr = h((Ki, mr) => {
654
- "use strict";
655
- var Po = U(), Ro = S();
656
- mr.exports = (r, e, t) => {
657
- let s = [], o = null, n = null, a = r.sort((d, u) => Ro(d, u, t));
658
- for (let d of a)
659
- Po(d, e, t) ? (n = d, o || (o = d)) : (n && s.push([o, n]), n = null, o = null);
660
- o && s.push([o, null]);
661
- let l = [];
662
- for (let [d, u] of s)
663
- d === u ? l.push(d) : !u && d === a[0] ? l.push("*") : u ? d === a[0] ? l.push(`<=${u}`) : l.push(`${d} - ${u}`) : l.push(`>=${d}`);
664
- let c = l.join(" || "), m = typeof e.raw == "string" ? e.raw : String(e);
665
- return c.length < m.length ? c : e;
666
- };
667
- });
668
-
669
- // ../../node_modules/semver/ranges/subset.js
670
- var xr = h((zi, vr) => {
671
- "use strict";
672
- var hr = j(), Pe = B(), { ANY: Se } = Pe, J = U(), Re = S(), Oo = /* @__PURE__ */ i((r, e, t = {}) => {
673
- if (r === e)
674
- return !0;
675
- r = new hr(r, t), e = new hr(e, t);
676
- let s = !1;
677
- e: for (let o of r.set) {
678
- for (let n of e.set) {
679
- let a = Io(o, n, t);
680
- if (s = s || a !== null, a)
681
- continue e;
682
- }
683
- if (s)
684
- return !1;
685
- }
686
- return !0;
687
- }, "subset"), Co = [new Pe(">=0.0.0-0")], gr = [new Pe(">=0.0.0")], Io = /* @__PURE__ */ i((r, e, t) => {
688
- if (r === e)
689
- return !0;
690
- if (r.length === 1 && r[0].semver === Se) {
691
- if (e.length === 1 && e[0].semver === Se)
692
- return !0;
693
- t.includePrerelease ? r = Co : r = gr;
694
- }
695
- if (e.length === 1 && e[0].semver === Se) {
696
- if (t.includePrerelease)
697
- return !0;
698
- e = gr;
699
- }
700
- let s = /* @__PURE__ */ new Set(), o, n;
701
- for (let p of r)
702
- p.operator === ">" || p.operator === ">=" ? o = yr(o, p, t) : p.operator === "<" || p.operator === "<=" ? n = wr(n, p, t) : s.add(p.semver);
703
- if (s.size > 1)
704
- return null;
705
- let a;
706
- if (o && n) {
707
- if (a = Re(o.semver, n.semver, t), a > 0)
708
- return null;
709
- if (a === 0 && (o.operator !== ">=" || n.operator !== "<="))
710
- return null;
711
- }
712
- for (let p of s) {
713
- if (o && !J(p, String(o), t) || n && !J(p, String(n), t))
714
- return null;
715
- for (let F of e)
716
- if (!J(p, String(F), t))
717
- return !1;
718
- return !0;
719
- }
720
- let l, c, m, d, u = n && !t.includePrerelease && n.semver.prerelease.length ? n.semver : !1, g = o && !t.includePrerelease && o.semver.prerelease.length ? o.semver : !1;
721
- u && u.prerelease.length === 1 && n.operator === "<" && u.prerelease[0] === 0 && (u = !1);
722
- for (let p of e) {
723
- if (d = d || p.operator === ">" || p.operator === ">=", m = m || p.operator === "<" || p.operator === "<=", o) {
724
- if (g && p.semver.prerelease && p.semver.prerelease.length && p.semver.major === g.major && p.semver.minor === g.minor && p.semver.patch === g.patch && (g = !1), p.operator === ">" || p.operator === ">=") {
725
- if (l = yr(o, p, t), l === p && l !== o)
726
- return !1;
727
- } else if (o.operator === ">=" && !J(o.semver, String(p), t))
728
- return !1;
729
- }
730
- if (n) {
731
- if (u && p.semver.prerelease && p.semver.prerelease.length && p.semver.major === u.major && p.semver.minor === u.minor && p.semver.patch === u.patch && (u = !1), p.operator === "<" || p.operator === "<=") {
732
- if (c = wr(n, p, t), c === p && c !== n)
733
- return !1;
734
- } else if (n.operator === "<=" && !J(n.semver, String(p), t))
735
- return !1;
736
- }
737
- if (!p.operator && (n || o) && a !== 0)
738
- return !1;
739
- }
740
- return !(o && m && !n && a !== 0 || n && d && !o && a !== 0 || g || u);
741
- }, "simpleSubset"), yr = /* @__PURE__ */ i((r, e, t) => {
742
- if (!r)
743
- return e;
744
- let s = Re(r.semver, e.semver, t);
745
- return s > 0 ? r : s < 0 || e.operator === ">" && r.operator === ">=" ? e : r;
746
- }, "higherGT"), wr = /* @__PURE__ */ i((r, e, t) => {
747
- if (!r)
748
- return e;
749
- let s = Re(r.semver, e.semver, t);
750
- return s < 0 ? r : s > 0 || e.operator === "<" && r.operator === "<=" ? e : r;
751
- }, "lowerLT");
752
- vr.exports = Oo;
753
- });
754
-
755
- // ../../node_modules/semver/index.js
756
- var qr = h((Zi, br) => {
757
- "use strict";
758
- var Oe = ee(), $r = He(), To = b(), kr = Yr(), Vo = V(), No = Qe(), Ao = Me(), Do = rt(), Fo = nt(), Lo = at(), Wo = ct(), _o = pt(), Go = mt(), Yo = S(), Bo = ht(), Ho = yt(), Uo = te(), Jo = $t(), Xo = bt(), Ko = Y(), zo = re(), Qo = ye(), Zo = we(), Mo = ge(), en = se(), tn = ve(), rn = Ct(), sn = B(), on = j(), nn = U(), an = Ut(), ln = Xt(), cn = zt(), un = Mt(), pn = tr(), fn = ie(), mn = ar(), dn = cr(), hn = fr(), gn = dr(), yn = xr();
759
- br.exports = {
760
- parse: Vo,
761
- valid: No,
762
- clean: Ao,
763
- inc: Do,
764
- diff: Fo,
765
- major: Lo,
766
- minor: Wo,
767
- patch: _o,
768
- prerelease: Go,
769
- compare: Yo,
770
- rcompare: Bo,
771
- compareLoose: Ho,
772
- compareBuild: Uo,
773
- sort: Jo,
774
- rsort: Xo,
775
- gt: Ko,
776
- lt: zo,
777
- eq: Qo,
778
- neq: Zo,
779
- gte: Mo,
780
- lte: en,
781
- cmp: tn,
782
- coerce: rn,
783
- Comparator: sn,
784
- Range: on,
785
- satisfies: nn,
786
- toComparators: an,
787
- maxSatisfying: ln,
788
- minSatisfying: cn,
789
- minVersion: un,
790
- validRange: pn,
791
- outside: fn,
792
- gtr: mn,
793
- ltr: dn,
794
- intersects: hn,
795
- simplifyRange: gn,
796
- subset: yn,
797
- SemVer: To,
798
- re: Oe.re,
799
- src: Oe.src,
800
- tokens: Oe.t,
801
- SEMVER_SPEC_VERSION: $r.SEMVER_SPEC_VERSION,
802
- RELEASE_TYPES: $r.RELEASE_TYPES,
803
- compareIdentifiers: kr.compareIdentifiers,
804
- rcompareIdentifiers: kr.rcompareIdentifiers
805
- };
806
- });
807
-
808
- // src/postinstall.ts
809
- import { existsSync as Cr } from "node:fs";
810
- import * as Q from "node:fs/promises";
811
- import { writeFile as K } from "node:fs/promises";
812
- import { fileURLToPath as Ir } from "node:url";
813
- import { babelParse as ue, generate as Tr, traverse as vn } from "storybook/internal/babel";
814
- import {
815
- JsPackageManagerFactory as Nr,
816
- extractProperFrameworkName as xn,
817
- formatFileContent as Ve,
818
- getInterpretedFile as $n,
819
- getProjectRoot as kn,
820
- loadMainConfig as bn,
821
- scanAndTransformFiles as qn,
822
- transformImportFiles as En,
823
- validateFrameworkName as jn
824
- } from "storybook/internal/common";
825
- import { experimental_loadStorybook as Sn } from "storybook/internal/core-server";
826
- import { readConfig as Pn, writeConfig as Rn } from "storybook/internal/csf-tools";
827
- import { logger as w } from "storybook/internal/node-logger";
828
- var N = Gr(qr(), 1);
829
- import On from "prompts";
830
- import { dedent as v } from "ts-dedent";
831
-
832
- // src/postinstall-logger.ts
833
- import { colors as X, logger as Er } from "storybook/internal/node-logger";
834
- var ae = process.platform !== "win32" || process.env.CI || process.env.TERM === "xterm-256color", C = X.gray("\u203A"), ea = X.blue(ae ? "\u2139" : "i"), ta = X.green(ae ? "\u2714" : "\u221A"), ra = X.orange(ae ? "\u26A0" : "\u203C"), sa = X.red(ae ? "\u2716" : "\xD7"), wn = {
835
- borderStyle: "round",
836
- padding: 1
837
- }, le = /* @__PURE__ */ i((r, e) => {
838
- Er.line(1), Er.logBox(r, { ...wn, ...e });
839
- }, "print"), Ce = /* @__PURE__ */ i((r, e, t) => le(e, { borderColor: "blue", title: r, ...t }), "printInfo"), jr = /* @__PURE__ */ i((r, e, t) => le(e, { borderColor: "yellow", title: r, ...t }), "printWarning"), Sr = /* @__PURE__ */ i((r, e, t) => le(e, { borderColor: "red", title: r, ...t }), "printError"), Ie = /* @__PURE__ */ i((r, e, t) => le(e, { borderColor: "green", title: r, ...t }), "printSuccess");
840
-
841
- // src/updateVitestFile.ts
842
- import * as Pr from "node:fs/promises";
843
- var ce = /* @__PURE__ */ i(async (r, e) => {
844
- let t = await Pr.readFile(
845
- L(Ge("@storybook/addon-vitest"), "templates", r),
846
- "utf8"
847
- );
848
- return Object.entries(e).forEach(([s, o]) => t = t.replace(s, o)), t;
849
- }, "loadTemplate"), Te = /* @__PURE__ */ i((r, e) => {
850
- for (let t of r)
851
- if (t.type === "ObjectProperty") {
852
- let s = e.find(
853
- (o) => t.key.type === "Identifier" && o.type === "ObjectProperty" && o.key.type === "Identifier" && o.key.name === t.key.name
854
- );
855
- s && s.type === "ObjectProperty" ? t.value.type === "ObjectExpression" && s.value.type === "ObjectExpression" ? Te(t.value.properties, s.value.properties) : t.value.type === "ArrayExpression" && s.value.type === "ArrayExpression" ? s.value.elements.push(...t.value.elements) : s.value = t.value : e.push(t);
856
- }
857
- }, "mergeProperties"), Rr = /* @__PURE__ */ i((r, e) => {
858
- let t = !1;
859
- for (let s of r.program.body)
860
- if (s.type === "ImportDeclaration") {
861
- if (!e.program.body.some(
862
- (o) => o.type === s.type && o.specifiers.some((n) => n.local.name === s.specifiers[0].local.name)
863
- )) {
864
- let o = e.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
865
- e.program.body.splice(o + 1, 0, s);
866
- }
867
- } else if (s.type === "VariableDeclaration") {
868
- if (!e.program.body.some(
869
- (o) => o.type === s.type && o.declarations.some(
870
- (n) => "name" in n.id && "name" in s.declarations[0].id && n.id.name === s.declarations[0].id.name
871
- )
872
- )) {
873
- let o = e.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
874
- e.program.body.splice(o + 1, 0, s);
875
- }
876
- } else if (s.type === "ExportDefaultDeclaration") {
877
- let o = e.program.body.find((n) => n.type === "ExportDefaultDeclaration");
878
- if (o && s.declaration.type === "CallExpression" && s.declaration.arguments.length > 0 && s.declaration.arguments[0].type === "ObjectExpression") {
879
- let { properties: n } = s.declaration.arguments[0];
880
- o.declaration.type === "ObjectExpression" ? (Te(n, o.declaration.properties), t = !0) : o.declaration.type === "CallExpression" && o.declaration.callee.type === "Identifier" && o.declaration.callee.name === "defineConfig" && o.declaration.arguments[0]?.type === "ObjectExpression" && (Te(n, o.declaration.arguments[0].properties), t = !0);
881
- }
882
- }
883
- return t;
884
- }, "updateConfigFile"), Or = /* @__PURE__ */ i((r, e) => {
885
- let t = !1;
886
- for (let s of r.program.body)
887
- if (s.type === "ImportDeclaration") {
888
- if (!e.program.body.some(
889
- (o) => o.type === s.type && o.source.value === s.source.value && o.specifiers.some((n) => n.local.name === s.specifiers[0].local.name)
890
- )) {
891
- let o = e.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
892
- e.program.body.splice(o + 1, 0, s);
893
- }
894
- } else if (s.type === "VariableDeclaration") {
895
- if (!e.program.body.some(
896
- (o) => o.type === s.type && o.declarations.some(
897
- (n) => "name" in n.id && "name" in s.declarations[0].id && n.id.name === s.declarations[0].id.name
898
- )
899
- )) {
900
- let o = e.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
901
- e.program.body.splice(o + 1, 0, s);
902
- }
903
- } else if (s.type === "ExportDefaultDeclaration") {
904
- let o = e.program.body.find((n) => n.type === "ExportDefaultDeclaration");
905
- if (o && s.declaration.type === "CallExpression" && s.declaration.arguments.length > 0 && s.declaration.arguments[0].type === "ArrayExpression" && s.declaration.arguments[0].elements.length > 0) {
906
- let { elements: n } = s.declaration.arguments[0];
907
- o.declaration.type === "ArrayExpression" ? (o.declaration.elements.push(...n), t = !0) : o.declaration.type === "CallExpression" && o.declaration.callee.type === "Identifier" && o.declaration.callee.name === "defineWorkspace" && o.declaration.arguments[0]?.type === "ArrayExpression" && (o.declaration.arguments[0].elements.push(...n), t = !0);
908
- }
909
- }
910
- return t;
911
- }, "updateWorkspaceFile");
35
+ }
36
+ n.default = e;
37
+ return Object.freeze(n);
38
+ }
912
39
 
913
- // src/postinstall.ts
914
- var Vr = "@storybook/addon-vitest", Ae = [".ts", ".tsx", ".js", ".jsx", ".cts", ".mts", ".cjs", ".mjs"], Ne = "@storybook/addon-a11y", Ar = !1, z = /* @__PURE__ */ i((...r) => {
915
- Ar = !0, Sr(...r);
916
- }, "logErrors"), D = /* @__PURE__ */ i(async (r, e = Ae) => Be(
917
- e.map((t) => r + t),
918
- { stopAt: kn() }
919
- ), "findFile");
920
- async function Cn(r) {
921
- Ie(
922
- "\u{1F44B} Howdy!",
923
- v`
924
- I'm the installation helper for ${Vr}
40
+ var fs4__namespace = /*#__PURE__*/_interopNamespace(fs4);
41
+ var path__default = /*#__PURE__*/_interopDefault(path);
42
+ var childProcess__default = /*#__PURE__*/_interopDefault(childProcess);
43
+ var process2__default = /*#__PURE__*/_interopDefault(process2);
44
+ var os__default = /*#__PURE__*/_interopDefault(os);
45
+ var prompts__default = /*#__PURE__*/_interopDefault(prompts);
46
+
47
+ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_windows=__commonJS({"../../node_modules/isexe/windows.js"(exports,module){module.exports=isexe;isexe.sync=sync;var fs5=__require("fs");function checkPathExt(path6,options){var pathext=options.pathExt!==void 0?options.pathExt:process.env.PATHEXT;if(!pathext||(pathext=pathext.split(";"),pathext.indexOf("")!==-1))return !0;for(var i=0;i<pathext.length;i++){var p=pathext[i].toLowerCase();if(p&&path6.substr(-p.length).toLowerCase()===p)return !0}return !1}function checkStat(stat,path6,options){return !stat.isSymbolicLink()&&!stat.isFile()?!1:checkPathExt(path6,options)}function isexe(path6,options,cb){fs5.stat(path6,function(er,stat){cb(er,er?!1:checkStat(stat,path6,options));});}function sync(path6,options){return checkStat(fs5.statSync(path6),path6,options)}}});var require_mode=__commonJS({"../../node_modules/isexe/mode.js"(exports,module){module.exports=isexe;isexe.sync=sync;var fs5=__require("fs");function isexe(path6,options,cb){fs5.stat(path6,function(er,stat){cb(er,er?!1:checkStat(stat,options));});}function sync(path6,options){return checkStat(fs5.statSync(path6),options)}function checkStat(stat,options){return stat.isFile()&&checkMode(stat,options)}function checkMode(stat,options){var mod=stat.mode,uid=stat.uid,gid=stat.gid,myUid=options.uid!==void 0?options.uid:process.getuid&&process.getuid(),myGid=options.gid!==void 0?options.gid:process.getgid&&process.getgid(),u=parseInt("100",8),g=parseInt("010",8),o=parseInt("001",8),ug=u|g,ret=mod&o||mod&g&&gid===myGid||mod&u&&uid===myUid||mod&ug&&myUid===0;return ret}}});var require_isexe=__commonJS({"../../node_modules/isexe/index.js"(exports,module){__require("fs");var core;process.platform==="win32"||global.TESTING_WINDOWS?core=require_windows():core=require_mode();module.exports=isexe;isexe.sync=sync;function isexe(path6,options,cb){if(typeof options=="function"&&(cb=options,options={}),!cb){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(resolve2,reject){isexe(path6,options||{},function(er,is){er?reject(er):resolve2(is);});})}core(path6,options||{},function(er,is){er&&(er.code==="EACCES"||options&&options.ignoreErrors)&&(er=null,is=!1),cb(er,is);});}function sync(path6,options){try{return core.sync(path6,options||{})}catch(er){if(options&&options.ignoreErrors||er.code==="EACCES")return !1;throw er}}}});var require_which=__commonJS({"../../node_modules/which/which.js"(exports,module){var isWindows=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",path6=__require("path"),COLON=isWindows?";":":",isexe=require_isexe(),getNotFoundError=cmd=>Object.assign(new Error(`not found: ${cmd}`),{code:"ENOENT"}),getPathInfo=(cmd,opt)=>{let colon=opt.colon||COLON,pathEnv=cmd.match(/\//)||isWindows&&cmd.match(/\\/)?[""]:[...isWindows?[process.cwd()]:[],...(opt.path||process.env.PATH||"").split(colon)],pathExtExe=isWindows?opt.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",pathExt=isWindows?pathExtExe.split(colon):[""];return isWindows&&cmd.indexOf(".")!==-1&&pathExt[0]!==""&&pathExt.unshift(""),{pathEnv,pathExt,pathExtExe}},which=(cmd,opt,cb)=>{typeof opt=="function"&&(cb=opt,opt={}),opt||(opt={});let{pathEnv,pathExt,pathExtExe}=getPathInfo(cmd,opt),found=[],step2=i=>new Promise((resolve2,reject)=>{if(i===pathEnv.length)return opt.all&&found.length?resolve2(found):reject(getNotFoundError(cmd));let ppRaw=pathEnv[i],pathPart=/^".*"$/.test(ppRaw)?ppRaw.slice(1,-1):ppRaw,pCmd=path6.join(pathPart,cmd),p=!pathPart&&/^\.[\\\/]/.test(cmd)?cmd.slice(0,2)+pCmd:pCmd;resolve2(subStep(p,i,0));}),subStep=(p,i,ii)=>new Promise((resolve2,reject)=>{if(ii===pathExt.length)return resolve2(step2(i+1));let ext=pathExt[ii];isexe(p+ext,{pathExt:pathExtExe},(er,is)=>{if(!er&&is)if(opt.all)found.push(p+ext);else return resolve2(p+ext);return resolve2(subStep(p,i,ii+1))});});return cb?step2(0).then(res=>cb(null,res),cb):step2(0)},whichSync=(cmd,opt)=>{opt=opt||{};let{pathEnv,pathExt,pathExtExe}=getPathInfo(cmd,opt),found=[];for(let i=0;i<pathEnv.length;i++){let ppRaw=pathEnv[i],pathPart=/^".*"$/.test(ppRaw)?ppRaw.slice(1,-1):ppRaw,pCmd=path6.join(pathPart,cmd),p=!pathPart&&/^\.[\\\/]/.test(cmd)?cmd.slice(0,2)+pCmd:pCmd;for(let j=0;j<pathExt.length;j++){let cur=p+pathExt[j];try{if(isexe.sync(cur,{pathExt:pathExtExe}))if(opt.all)found.push(cur);else return cur}catch{}}}if(opt.all&&found.length)return found;if(opt.nothrow)return null;throw getNotFoundError(cmd)};module.exports=which;which.sync=whichSync;}});var require_path_key=__commonJS({"../../node_modules/path-key/index.js"(exports,module){var pathKey2=(options={})=>{let environment=options.env||process.env;return (options.platform||process.platform)!=="win32"?"PATH":Object.keys(environment).reverse().find(key=>key.toUpperCase()==="PATH")||"Path"};module.exports=pathKey2;module.exports.default=pathKey2;}});var require_resolveCommand=__commonJS({"../../node_modules/cross-spawn/lib/util/resolveCommand.js"(exports,module){var path6=__require("path"),which=require_which(),getPathKey=require_path_key();function resolveCommandAttempt(parsed,withoutPathExt){let env=parsed.options.env||process.env,cwd2=process.cwd(),hasCustomCwd=parsed.options.cwd!=null,shouldSwitchCwd=hasCustomCwd&&process.chdir!==void 0&&!process.chdir.disabled;if(shouldSwitchCwd)try{process.chdir(parsed.options.cwd);}catch{}let resolved;try{resolved=which.sync(parsed.command,{path:env[getPathKey({env})],pathExt:withoutPathExt?path6.delimiter:void 0});}catch{}finally{shouldSwitchCwd&&process.chdir(cwd2);}return resolved&&(resolved=path6.resolve(hasCustomCwd?parsed.options.cwd:"",resolved)),resolved}function resolveCommand(parsed){return resolveCommandAttempt(parsed)||resolveCommandAttempt(parsed,!0)}module.exports=resolveCommand;}});var require_escape=__commonJS({"../../node_modules/cross-spawn/lib/util/escape.js"(exports,module){var metaCharsRegExp=/([()\][%!^"`<>&|;, *?])/g;function escapeCommand(arg){return arg=arg.replace(metaCharsRegExp,"^$1"),arg}function escapeArgument(arg,doubleEscapeMetaChars){return arg=`${arg}`,arg=arg.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),arg=arg.replace(/(?=(\\+?)?)\1$/,"$1$1"),arg=`"${arg}"`,arg=arg.replace(metaCharsRegExp,"^$1"),doubleEscapeMetaChars&&(arg=arg.replace(metaCharsRegExp,"^$1")),arg}module.exports.command=escapeCommand;module.exports.argument=escapeArgument;}});var require_shebang_regex=__commonJS({"../../node_modules/shebang-regex/index.js"(exports,module){module.exports=/^#!(.*)/;}});var require_shebang_command=__commonJS({"../../node_modules/shebang-command/index.js"(exports,module){var shebangRegex=require_shebang_regex();module.exports=(string="")=>{let match=string.match(shebangRegex);if(!match)return null;let[path6,argument]=match[0].replace(/#! ?/,"").split(" "),binary=path6.split("/").pop();return binary==="env"?argument:argument?`${binary} ${argument}`:binary};}});var require_readShebang=__commonJS({"../../node_modules/cross-spawn/lib/util/readShebang.js"(exports,module){var fs5=__require("fs"),shebangCommand=require_shebang_command();function readShebang(command){let buffer=Buffer.alloc(150),fd;try{fd=fs5.openSync(command,"r"),fs5.readSync(fd,buffer,0,150,0),fs5.closeSync(fd);}catch{}return shebangCommand(buffer.toString())}module.exports=readShebang;}});var require_parse=__commonJS({"../../node_modules/cross-spawn/lib/parse.js"(exports,module){var path6=__require("path"),resolveCommand=require_resolveCommand(),escape=require_escape(),readShebang=require_readShebang(),isWin=process.platform==="win32",isExecutableRegExp=/\.(?:com|exe)$/i,isCmdShimRegExp=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function detectShebang(parsed){parsed.file=resolveCommand(parsed);let shebang=parsed.file&&readShebang(parsed.file);return shebang?(parsed.args.unshift(parsed.file),parsed.command=shebang,resolveCommand(parsed)):parsed.file}function parseNonShell(parsed){if(!isWin)return parsed;let commandFile=detectShebang(parsed),needsShell=!isExecutableRegExp.test(commandFile);if(parsed.options.forceShell||needsShell){let needsDoubleEscapeMetaChars=isCmdShimRegExp.test(commandFile);parsed.command=path6.normalize(parsed.command),parsed.command=escape.command(parsed.command),parsed.args=parsed.args.map(arg=>escape.argument(arg,needsDoubleEscapeMetaChars));let shellCommand=[parsed.command].concat(parsed.args).join(" ");parsed.args=["/d","/s","/c",`"${shellCommand}"`],parsed.command=process.env.comspec||"cmd.exe",parsed.options.windowsVerbatimArguments=!0;}return parsed}function parse2(command,args,options){args&&!Array.isArray(args)&&(options=args,args=null),args=args?args.slice(0):[],options=Object.assign({},options);let parsed={command,args,options,file:void 0,original:{command,args}};return options.shell?parsed:parseNonShell(parsed)}module.exports=parse2;}});var require_enoent=__commonJS({"../../node_modules/cross-spawn/lib/enoent.js"(exports,module){var isWin=process.platform==="win32";function notFoundError(original,syscall){return Object.assign(new Error(`${syscall} ${original.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${syscall} ${original.command}`,path:original.command,spawnargs:original.args})}function hookChildProcess(cp,parsed){if(!isWin)return;let originalEmit=cp.emit;cp.emit=function(name,arg1){if(name==="exit"){let err=verifyENOENT(arg1,parsed);if(err)return originalEmit.call(cp,"error",err)}return originalEmit.apply(cp,arguments)};}function verifyENOENT(status,parsed){return isWin&&status===1&&!parsed.file?notFoundError(parsed.original,"spawn"):null}function verifyENOENTSync(status,parsed){return isWin&&status===1&&!parsed.file?notFoundError(parsed.original,"spawnSync"):null}module.exports={hookChildProcess,verifyENOENT,verifyENOENTSync,notFoundError};}});var require_cross_spawn=__commonJS({"../../node_modules/cross-spawn/index.js"(exports,module){var cp=__require("child_process"),parse2=require_parse(),enoent=require_enoent();function spawn(command,args,options){let parsed=parse2(command,args,options),spawned=cp.spawn(parsed.command,parsed.args,parsed.options);return enoent.hookChildProcess(spawned,parsed),spawned}function spawnSync(command,args,options){let parsed=parse2(command,args,options),result=cp.spawnSync(parsed.command,parsed.args,parsed.options);return result.error=result.error||enoent.verifyENOENTSync(result.status,parsed),result}module.exports=spawn;module.exports.spawn=spawn;module.exports.sync=spawnSync;module.exports._parse=parse2;module.exports._enoent=enoent;}});var require_merge_stream=__commonJS({"../../node_modules/merge-stream/index.js"(exports,module){var{PassThrough}=__require("stream");module.exports=function(){var sources=[],output=new PassThrough({objectMode:!0});return output.setMaxListeners(0),output.add=add,output.isEmpty=isEmpty,output.on("unpipe",remove),Array.prototype.slice.call(arguments).forEach(add),output;function add(source){return Array.isArray(source)?(source.forEach(add),this):(sources.push(source),source.once("end",remove.bind(null,source)),source.once("error",output.emit.bind(output,"error")),source.pipe(output,{end:!1}),this)}function isEmpty(){return sources.length==0}function remove(source){sources=sources.filter(function(it){return it!==source}),!sources.length&&output.readable&&output.end();}};}});var require_constants=__commonJS({"../../node_modules/semver/internal/constants.js"(exports,module){var SEMVER_SPEC_VERSION="2.0.0",MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH=16,MAX_SAFE_BUILD_LENGTH=250,RELEASE_TYPES=["major","premajor","minor","preminor","patch","prepatch","prerelease"];module.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_SAFE_INTEGER,RELEASE_TYPES,SEMVER_SPEC_VERSION,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2};}});var require_debug=__commonJS({"../../node_modules/semver/internal/debug.js"(exports,module){var debug=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...args)=>console.error("SEMVER",...args):()=>{};module.exports=debug;}});var require_re=__commonJS({"../../node_modules/semver/internal/re.js"(exports,module){var{MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_LENGTH}=require_constants(),debug=require_debug();exports=module.exports={};var re=exports.re=[],safeRe=exports.safeRe=[],src=exports.src=[],safeSrc=exports.safeSrc=[],t=exports.t={},R=0,LETTERDASHNUMBER="[a-zA-Z0-9-]",safeRegexReplacements=[["\\s",1],["\\d",MAX_LENGTH],[LETTERDASHNUMBER,MAX_SAFE_BUILD_LENGTH]],makeSafeRegex=value=>{for(let[token,max]of safeRegexReplacements)value=value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);return value},createToken=(name,value,isGlobal)=>{let safe=makeSafeRegex(value),index=R++;debug(name,index,value),t[name]=index,src[index]=value,safeSrc[index]=safe,re[index]=new RegExp(value,isGlobal?"g":void 0),safeRe[index]=new RegExp(safe,isGlobal?"g":void 0);};createToken("NUMERICIDENTIFIER","0|[1-9]\\d*");createToken("NUMERICIDENTIFIERLOOSE","\\d+");createToken("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);createToken("MAINVERSION",`(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);createToken("MAINVERSIONLOOSE",`(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASEIDENTIFIER",`(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);createToken("PRERELEASEIDENTIFIERLOOSE",`(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASE",`(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);createToken("PRERELEASELOOSE",`(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);createToken("BUILDIDENTIFIER",`${LETTERDASHNUMBER}+`);createToken("BUILD",`(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);createToken("FULLPLAIN",`v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);createToken("FULL",`^${src[t.FULLPLAIN]}$`);createToken("LOOSEPLAIN",`[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);createToken("LOOSE",`^${src[t.LOOSEPLAIN]}$`);createToken("GTLT","((?:<|>)?=?)");createToken("XRANGEIDENTIFIERLOOSE",`${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);createToken("XRANGEIDENTIFIER",`${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);createToken("XRANGEPLAIN",`[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);createToken("XRANGEPLAINLOOSE",`[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);createToken("XRANGE",`^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);createToken("XRANGELOOSE",`^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);createToken("COERCEPLAIN",`(^|[^\\d])(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);createToken("COERCE",`${src[t.COERCEPLAIN]}(?:$|[^\\d])`);createToken("COERCEFULL",src[t.COERCEPLAIN]+`(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);createToken("COERCERTL",src[t.COERCE],!0);createToken("COERCERTLFULL",src[t.COERCEFULL],!0);createToken("LONETILDE","(?:~>?)");createToken("TILDETRIM",`(\\s*)${src[t.LONETILDE]}\\s+`,!0);exports.tildeTrimReplace="$1~";createToken("TILDE",`^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);createToken("TILDELOOSE",`^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);createToken("LONECARET","(?:\\^)");createToken("CARETTRIM",`(\\s*)${src[t.LONECARET]}\\s+`,!0);exports.caretTrimReplace="$1^";createToken("CARET",`^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);createToken("CARETLOOSE",`^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);createToken("COMPARATORLOOSE",`^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);createToken("COMPARATOR",`^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);createToken("COMPARATORTRIM",`(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`,!0);exports.comparatorTrimReplace="$1$2$3";createToken("HYPHENRANGE",`^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);createToken("HYPHENRANGELOOSE",`^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);createToken("STAR","(<|>)?=?\\s*\\*");createToken("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");createToken("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$");}});var require_parse_options=__commonJS({"../../node_modules/semver/internal/parse-options.js"(exports,module){var looseOption=Object.freeze({loose:!0}),emptyOpts=Object.freeze({}),parseOptions=options=>options?typeof options!="object"?looseOption:options:emptyOpts;module.exports=parseOptions;}});var require_identifiers=__commonJS({"../../node_modules/semver/internal/identifiers.js"(exports,module){var numeric=/^[0-9]+$/,compareIdentifiers=(a,b)=>{let anum=numeric.test(a),bnum=numeric.test(b);return anum&&bnum&&(a=+a,b=+b),a===b?0:anum&&!bnum?-1:bnum&&!anum?1:a<b?-1:1},rcompareIdentifiers=(a,b)=>compareIdentifiers(b,a);module.exports={compareIdentifiers,rcompareIdentifiers};}});var require_semver=__commonJS({"../../node_modules/semver/classes/semver.js"(exports,module){var debug=require_debug(),{MAX_LENGTH,MAX_SAFE_INTEGER}=require_constants(),{safeRe:re,t}=require_re(),parseOptions=require_parse_options(),{compareIdentifiers}=require_identifiers(),SemVer=class _SemVer{constructor(version,options){if(options=parseOptions(options),version instanceof _SemVer){if(version.loose===!!options.loose&&version.includePrerelease===!!options.includePrerelease)return version;version=version.version;}else if(typeof version!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);if(version.length>MAX_LENGTH)throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);debug("SemVer",version,options),this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease;let m=version.trim().match(options.loose?re[t.LOOSE]:re[t.FULL]);if(!m)throw new TypeError(`Invalid Version: ${version}`);if(this.raw=version,this.major=+m[1],this.minor=+m[2],this.patch=+m[3],this.major>MAX_SAFE_INTEGER||this.major<0)throw new TypeError("Invalid major version");if(this.minor>MAX_SAFE_INTEGER||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>MAX_SAFE_INTEGER||this.patch<0)throw new TypeError("Invalid patch version");m[4]?this.prerelease=m[4].split(".").map(id=>{if(/^[0-9]+$/.test(id)){let num=+id;if(num>=0&&num<MAX_SAFE_INTEGER)return num}return id}):this.prerelease=[],this.build=m[5]?m[5].split("."):[],this.format();}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(other){if(debug("SemVer.compare",this.version,this.options,other),!(other instanceof _SemVer)){if(typeof other=="string"&&other===this.version)return 0;other=new _SemVer(other,this.options);}return other.version===this.version?0:this.compareMain(other)||this.comparePre(other)}compareMain(other){return other instanceof _SemVer||(other=new _SemVer(other,this.options)),compareIdentifiers(this.major,other.major)||compareIdentifiers(this.minor,other.minor)||compareIdentifiers(this.patch,other.patch)}comparePre(other){if(other instanceof _SemVer||(other=new _SemVer(other,this.options)),this.prerelease.length&&!other.prerelease.length)return -1;if(!this.prerelease.length&&other.prerelease.length)return 1;if(!this.prerelease.length&&!other.prerelease.length)return 0;let i=0;do{let a=this.prerelease[i],b=other.prerelease[i];if(debug("prerelease compare",i,a,b),a===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a===void 0)return -1;if(a===b)continue;return compareIdentifiers(a,b)}while(++i)}compareBuild(other){other instanceof _SemVer||(other=new _SemVer(other,this.options));let i=0;do{let a=this.build[i],b=other.build[i];if(debug("build compare",i,a,b),a===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a===void 0)return -1;if(a===b)continue;return compareIdentifiers(a,b)}while(++i)}inc(release,identifier,identifierBase){if(release.startsWith("pre")){if(!identifier&&identifierBase===!1)throw new Error("invalid increment argument: identifier is empty");if(identifier){let match=`-${identifier}`.match(this.options.loose?re[t.PRERELEASELOOSE]:re[t.PRERELEASE]);if(!match||match[1]!==identifier)throw new Error(`invalid identifier: ${identifier}`)}}switch(release){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",identifier,identifierBase);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",identifier,identifierBase);break;case"prepatch":this.prerelease.length=0,this.inc("patch",identifier,identifierBase),this.inc("pre",identifier,identifierBase);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",identifier,identifierBase),this.inc("pre",identifier,identifierBase);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let base=Number(identifierBase)?1:0;if(this.prerelease.length===0)this.prerelease=[base];else {let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(identifier===this.prerelease.join(".")&&identifierBase===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(base);}}if(identifier){let prerelease=[identifier,base];identifierBase===!1&&(prerelease=[identifier]),compareIdentifiers(this.prerelease[0],identifier)===0?isNaN(this.prerelease[1])&&(this.prerelease=prerelease):this.prerelease=prerelease;}break}default:throw new Error(`invalid increment argument: ${release}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};module.exports=SemVer;}});var require_parse2=__commonJS({"../../node_modules/semver/functions/parse.js"(exports,module){var SemVer=require_semver(),parse2=(version,options,throwErrors=!1)=>{if(version instanceof SemVer)return version;try{return new SemVer(version,options)}catch(er){if(!throwErrors)return null;throw er}};module.exports=parse2;}});var require_valid=__commonJS({"../../node_modules/semver/functions/valid.js"(exports,module){var parse2=require_parse2(),valid=(version,options)=>{let v=parse2(version,options);return v?v.version:null};module.exports=valid;}});var require_clean=__commonJS({"../../node_modules/semver/functions/clean.js"(exports,module){var parse2=require_parse2(),clean=(version,options)=>{let s=parse2(version.trim().replace(/^[=v]+/,""),options);return s?s.version:null};module.exports=clean;}});var require_inc=__commonJS({"../../node_modules/semver/functions/inc.js"(exports,module){var SemVer=require_semver(),inc=(version,release,options,identifier,identifierBase)=>{typeof options=="string"&&(identifierBase=identifier,identifier=options,options=void 0);try{return new SemVer(version instanceof SemVer?version.version:version,options).inc(release,identifier,identifierBase).version}catch{return null}};module.exports=inc;}});var require_diff=__commonJS({"../../node_modules/semver/functions/diff.js"(exports,module){var parse2=require_parse2(),diff=(version1,version2)=>{let v1=parse2(version1,null,!0),v2=parse2(version2,null,!0),comparison=v1.compare(v2);if(comparison===0)return null;let v1Higher=comparison>0,highVersion=v1Higher?v1:v2,lowVersion=v1Higher?v2:v1,highHasPre=!!highVersion.prerelease.length;if(!!lowVersion.prerelease.length&&!highHasPre){if(!lowVersion.patch&&!lowVersion.minor)return "major";if(lowVersion.compareMain(highVersion)===0)return lowVersion.minor&&!lowVersion.patch?"minor":"patch"}let prefix=highHasPre?"pre":"";return v1.major!==v2.major?prefix+"major":v1.minor!==v2.minor?prefix+"minor":v1.patch!==v2.patch?prefix+"patch":"prerelease"};module.exports=diff;}});var require_major=__commonJS({"../../node_modules/semver/functions/major.js"(exports,module){var SemVer=require_semver(),major=(a,loose)=>new SemVer(a,loose).major;module.exports=major;}});var require_minor=__commonJS({"../../node_modules/semver/functions/minor.js"(exports,module){var SemVer=require_semver(),minor=(a,loose)=>new SemVer(a,loose).minor;module.exports=minor;}});var require_patch=__commonJS({"../../node_modules/semver/functions/patch.js"(exports,module){var SemVer=require_semver(),patch=(a,loose)=>new SemVer(a,loose).patch;module.exports=patch;}});var require_prerelease=__commonJS({"../../node_modules/semver/functions/prerelease.js"(exports,module){var parse2=require_parse2(),prerelease=(version,options)=>{let parsed=parse2(version,options);return parsed&&parsed.prerelease.length?parsed.prerelease:null};module.exports=prerelease;}});var require_compare=__commonJS({"../../node_modules/semver/functions/compare.js"(exports,module){var SemVer=require_semver(),compare=(a,b,loose)=>new SemVer(a,loose).compare(new SemVer(b,loose));module.exports=compare;}});var require_rcompare=__commonJS({"../../node_modules/semver/functions/rcompare.js"(exports,module){var compare=require_compare(),rcompare=(a,b,loose)=>compare(b,a,loose);module.exports=rcompare;}});var require_compare_loose=__commonJS({"../../node_modules/semver/functions/compare-loose.js"(exports,module){var compare=require_compare(),compareLoose=(a,b)=>compare(a,b,!0);module.exports=compareLoose;}});var require_compare_build=__commonJS({"../../node_modules/semver/functions/compare-build.js"(exports,module){var SemVer=require_semver(),compareBuild=(a,b,loose)=>{let versionA=new SemVer(a,loose),versionB=new SemVer(b,loose);return versionA.compare(versionB)||versionA.compareBuild(versionB)};module.exports=compareBuild;}});var require_sort=__commonJS({"../../node_modules/semver/functions/sort.js"(exports,module){var compareBuild=require_compare_build(),sort=(list,loose)=>list.sort((a,b)=>compareBuild(a,b,loose));module.exports=sort;}});var require_rsort=__commonJS({"../../node_modules/semver/functions/rsort.js"(exports,module){var compareBuild=require_compare_build(),rsort=(list,loose)=>list.sort((a,b)=>compareBuild(b,a,loose));module.exports=rsort;}});var require_gt=__commonJS({"../../node_modules/semver/functions/gt.js"(exports,module){var compare=require_compare(),gt=(a,b,loose)=>compare(a,b,loose)>0;module.exports=gt;}});var require_lt=__commonJS({"../../node_modules/semver/functions/lt.js"(exports,module){var compare=require_compare(),lt=(a,b,loose)=>compare(a,b,loose)<0;module.exports=lt;}});var require_eq=__commonJS({"../../node_modules/semver/functions/eq.js"(exports,module){var compare=require_compare(),eq=(a,b,loose)=>compare(a,b,loose)===0;module.exports=eq;}});var require_neq=__commonJS({"../../node_modules/semver/functions/neq.js"(exports,module){var compare=require_compare(),neq=(a,b,loose)=>compare(a,b,loose)!==0;module.exports=neq;}});var require_gte=__commonJS({"../../node_modules/semver/functions/gte.js"(exports,module){var compare=require_compare(),gte=(a,b,loose)=>compare(a,b,loose)>=0;module.exports=gte;}});var require_lte=__commonJS({"../../node_modules/semver/functions/lte.js"(exports,module){var compare=require_compare(),lte=(a,b,loose)=>compare(a,b,loose)<=0;module.exports=lte;}});var require_cmp=__commonJS({"../../node_modules/semver/functions/cmp.js"(exports,module){var eq=require_eq(),neq=require_neq(),gt=require_gt(),gte=require_gte(),lt=require_lt(),lte=require_lte(),cmp=(a,op,b,loose)=>{switch(op){case"===":return typeof a=="object"&&(a=a.version),typeof b=="object"&&(b=b.version),a===b;case"!==":return typeof a=="object"&&(a=a.version),typeof b=="object"&&(b=b.version),a!==b;case"":case"=":case"==":return eq(a,b,loose);case"!=":return neq(a,b,loose);case">":return gt(a,b,loose);case">=":return gte(a,b,loose);case"<":return lt(a,b,loose);case"<=":return lte(a,b,loose);default:throw new TypeError(`Invalid operator: ${op}`)}};module.exports=cmp;}});var require_coerce=__commonJS({"../../node_modules/semver/functions/coerce.js"(exports,module){var SemVer=require_semver(),parse2=require_parse2(),{safeRe:re,t}=require_re(),coerce2=(version,options)=>{if(version instanceof SemVer)return version;if(typeof version=="number"&&(version=String(version)),typeof version!="string")return null;options=options||{};let match=null;if(!options.rtl)match=version.match(options.includePrerelease?re[t.COERCEFULL]:re[t.COERCE]);else {let coerceRtlRegex=options.includePrerelease?re[t.COERCERTLFULL]:re[t.COERCERTL],next;for(;(next=coerceRtlRegex.exec(version))&&(!match||match.index+match[0].length!==version.length);)(!match||next.index+next[0].length!==match.index+match[0].length)&&(match=next),coerceRtlRegex.lastIndex=next.index+next[1].length+next[2].length;coerceRtlRegex.lastIndex=-1;}if(match===null)return null;let major=match[2],minor=match[3]||"0",patch=match[4]||"0",prerelease=options.includePrerelease&&match[5]?`-${match[5]}`:"",build=options.includePrerelease&&match[6]?`+${match[6]}`:"";return parse2(`${major}.${minor}.${patch}${prerelease}${build}`,options)};module.exports=coerce2;}});var require_lrucache=__commonJS({"../../node_modules/semver/internal/lrucache.js"(exports,module){var LRUCache=class{constructor(){this.max=1e3,this.map=new Map;}get(key){let value=this.map.get(key);if(value!==void 0)return this.map.delete(key),this.map.set(key,value),value}delete(key){return this.map.delete(key)}set(key,value){if(!this.delete(key)&&value!==void 0){if(this.map.size>=this.max){let firstKey=this.map.keys().next().value;this.delete(firstKey);}this.map.set(key,value);}return this}};module.exports=LRUCache;}});var require_range=__commonJS({"../../node_modules/semver/classes/range.js"(exports,module){var SPACE_CHARACTERS=/\s+/g,Range=class _Range{constructor(range,options){if(options=parseOptions(options),range instanceof _Range)return range.loose===!!options.loose&&range.includePrerelease===!!options.includePrerelease?range:new _Range(range.raw,options);if(range instanceof Comparator)return this.raw=range.value,this.set=[[range]],this.formatted=void 0,this;if(this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease,this.raw=range.trim().replace(SPACE_CHARACTERS," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(c=>c.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let first=this.set[0];if(this.set=this.set.filter(c=>!isNullSet(c[0])),this.set.length===0)this.set=[first];else if(this.set.length>1){for(let c of this.set)if(c.length===1&&isAny(c[0])){this.set=[c];break}}}this.formatted=void 0;}get range(){if(this.formatted===void 0){this.formatted="";for(let i=0;i<this.set.length;i++){i>0&&(this.formatted+="||");let comps=this.set[i];for(let k=0;k<comps.length;k++)k>0&&(this.formatted+=" "),this.formatted+=comps[k].toString().trim();}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(range){let memoKey=((this.options.includePrerelease&&FLAG_INCLUDE_PRERELEASE)|(this.options.loose&&FLAG_LOOSE))+":"+range,cached=cache.get(memoKey);if(cached)return cached;let loose=this.options.loose,hr=loose?re[t.HYPHENRANGELOOSE]:re[t.HYPHENRANGE];range=range.replace(hr,hyphenReplace(this.options.includePrerelease)),debug("hyphen replace",range),range=range.replace(re[t.COMPARATORTRIM],comparatorTrimReplace),debug("comparator trim",range),range=range.replace(re[t.TILDETRIM],tildeTrimReplace),debug("tilde trim",range),range=range.replace(re[t.CARETTRIM],caretTrimReplace),debug("caret trim",range);let rangeList=range.split(" ").map(comp=>parseComparator(comp,this.options)).join(" ").split(/\s+/).map(comp=>replaceGTE0(comp,this.options));loose&&(rangeList=rangeList.filter(comp=>(debug("loose invalid filter",comp,this.options),!!comp.match(re[t.COMPARATORLOOSE])))),debug("range list",rangeList);let rangeMap=new Map,comparators=rangeList.map(comp=>new Comparator(comp,this.options));for(let comp of comparators){if(isNullSet(comp))return [comp];rangeMap.set(comp.value,comp);}rangeMap.size>1&&rangeMap.has("")&&rangeMap.delete("");let result=[...rangeMap.values()];return cache.set(memoKey,result),result}intersects(range,options){if(!(range instanceof _Range))throw new TypeError("a Range is required");return this.set.some(thisComparators=>isSatisfiable(thisComparators,options)&&range.set.some(rangeComparators=>isSatisfiable(rangeComparators,options)&&thisComparators.every(thisComparator=>rangeComparators.every(rangeComparator=>thisComparator.intersects(rangeComparator,options)))))}test(version){if(!version)return !1;if(typeof version=="string")try{version=new SemVer(version,this.options);}catch{return !1}for(let i=0;i<this.set.length;i++)if(testSet(this.set[i],version,this.options))return !0;return !1}};module.exports=Range;var LRU=require_lrucache(),cache=new LRU,parseOptions=require_parse_options(),Comparator=require_comparator(),debug=require_debug(),SemVer=require_semver(),{safeRe:re,t,comparatorTrimReplace,tildeTrimReplace,caretTrimReplace}=require_re(),{FLAG_INCLUDE_PRERELEASE,FLAG_LOOSE}=require_constants(),isNullSet=c=>c.value==="<0.0.0-0",isAny=c=>c.value==="",isSatisfiable=(comparators,options)=>{let result=!0,remainingComparators=comparators.slice(),testComparator=remainingComparators.pop();for(;result&&remainingComparators.length;)result=remainingComparators.every(otherComparator=>testComparator.intersects(otherComparator,options)),testComparator=remainingComparators.pop();return result},parseComparator=(comp,options)=>(debug("comp",comp,options),comp=replaceCarets(comp,options),debug("caret",comp),comp=replaceTildes(comp,options),debug("tildes",comp),comp=replaceXRanges(comp,options),debug("xrange",comp),comp=replaceStars(comp,options),debug("stars",comp),comp),isX=id=>!id||id.toLowerCase()==="x"||id==="*",replaceTildes=(comp,options)=>comp.trim().split(/\s+/).map(c=>replaceTilde(c,options)).join(" "),replaceTilde=(comp,options)=>{let r=options.loose?re[t.TILDELOOSE]:re[t.TILDE];return comp.replace(r,(_,M,m,p,pr)=>{debug("tilde",comp,_,M,m,p,pr);let ret;return isX(M)?ret="":isX(m)?ret=`>=${M}.0.0 <${+M+1}.0.0-0`:isX(p)?ret=`>=${M}.${m}.0 <${M}.${+m+1}.0-0`:pr?(debug("replaceTilde pr",pr),ret=`>=${M}.${m}.${p}-${pr} <${M}.${+m+1}.0-0`):ret=`>=${M}.${m}.${p} <${M}.${+m+1}.0-0`,debug("tilde return",ret),ret})},replaceCarets=(comp,options)=>comp.trim().split(/\s+/).map(c=>replaceCaret(c,options)).join(" "),replaceCaret=(comp,options)=>{debug("caret",comp,options);let r=options.loose?re[t.CARETLOOSE]:re[t.CARET],z=options.includePrerelease?"-0":"";return comp.replace(r,(_,M,m,p,pr)=>{debug("caret",comp,_,M,m,p,pr);let ret;return isX(M)?ret="":isX(m)?ret=`>=${M}.0.0${z} <${+M+1}.0.0-0`:isX(p)?M==="0"?ret=`>=${M}.${m}.0${z} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.0${z} <${+M+1}.0.0-0`:pr?(debug("replaceCaret pr",pr),M==="0"?m==="0"?ret=`>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p+1}-0`:ret=`>=${M}.${m}.${p}-${pr} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.${p}-${pr} <${+M+1}.0.0-0`):(debug("no pr"),M==="0"?m==="0"?ret=`>=${M}.${m}.${p}${z} <${M}.${m}.${+p+1}-0`:ret=`>=${M}.${m}.${p}${z} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.${p} <${+M+1}.0.0-0`),debug("caret return",ret),ret})},replaceXRanges=(comp,options)=>(debug("replaceXRanges",comp,options),comp.split(/\s+/).map(c=>replaceXRange(c,options)).join(" ")),replaceXRange=(comp,options)=>{comp=comp.trim();let r=options.loose?re[t.XRANGELOOSE]:re[t.XRANGE];return comp.replace(r,(ret,gtlt,M,m,p,pr)=>{debug("xRange",comp,ret,gtlt,M,m,p,pr);let xM=isX(M),xm=xM||isX(m),xp=xm||isX(p),anyX=xp;return gtlt==="="&&anyX&&(gtlt=""),pr=options.includePrerelease?"-0":"",xM?gtlt===">"||gtlt==="<"?ret="<0.0.0-0":ret="*":gtlt&&anyX?(xm&&(m=0),p=0,gtlt===">"?(gtlt=">=",xm?(M=+M+1,m=0,p=0):(m=+m+1,p=0)):gtlt==="<="&&(gtlt="<",xm?M=+M+1:m=+m+1),gtlt==="<"&&(pr="-0"),ret=`${gtlt+M}.${m}.${p}${pr}`):xm?ret=`>=${M}.0.0${pr} <${+M+1}.0.0-0`:xp&&(ret=`>=${M}.${m}.0${pr} <${M}.${+m+1}.0-0`),debug("xRange return",ret),ret})},replaceStars=(comp,options)=>(debug("replaceStars",comp,options),comp.trim().replace(re[t.STAR],"")),replaceGTE0=(comp,options)=>(debug("replaceGTE0",comp,options),comp.trim().replace(re[options.includePrerelease?t.GTE0PRE:t.GTE0],"")),hyphenReplace=incPr=>($0,from,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr)=>(isX(fM)?from="":isX(fm)?from=`>=${fM}.0.0${incPr?"-0":""}`:isX(fp)?from=`>=${fM}.${fm}.0${incPr?"-0":""}`:fpr?from=`>=${from}`:from=`>=${from}${incPr?"-0":""}`,isX(tM)?to="":isX(tm)?to=`<${+tM+1}.0.0-0`:isX(tp)?to=`<${tM}.${+tm+1}.0-0`:tpr?to=`<=${tM}.${tm}.${tp}-${tpr}`:incPr?to=`<${tM}.${tm}.${+tp+1}-0`:to=`<=${to}`,`${from} ${to}`.trim()),testSet=(set,version,options)=>{for(let i=0;i<set.length;i++)if(!set[i].test(version))return !1;if(version.prerelease.length&&!options.includePrerelease){for(let i=0;i<set.length;i++)if(debug(set[i].semver),set[i].semver!==Comparator.ANY&&set[i].semver.prerelease.length>0){let allowed=set[i].semver;if(allowed.major===version.major&&allowed.minor===version.minor&&allowed.patch===version.patch)return !0}return !1}return !0};}});var require_comparator=__commonJS({"../../node_modules/semver/classes/comparator.js"(exports,module){var ANY=Symbol("SemVer ANY"),Comparator=class _Comparator{static get ANY(){return ANY}constructor(comp,options){if(options=parseOptions(options),comp instanceof _Comparator){if(comp.loose===!!options.loose)return comp;comp=comp.value;}comp=comp.trim().split(/\s+/).join(" "),debug("comparator",comp,options),this.options=options,this.loose=!!options.loose,this.parse(comp),this.semver===ANY?this.value="":this.value=this.operator+this.semver.version,debug("comp",this);}parse(comp){let r=this.options.loose?re[t.COMPARATORLOOSE]:re[t.COMPARATOR],m=comp.match(r);if(!m)throw new TypeError(`Invalid comparator: ${comp}`);this.operator=m[1]!==void 0?m[1]:"",this.operator==="="&&(this.operator=""),m[2]?this.semver=new SemVer(m[2],this.options.loose):this.semver=ANY;}toString(){return this.value}test(version){if(debug("Comparator.test",version,this.options.loose),this.semver===ANY||version===ANY)return !0;if(typeof version=="string")try{version=new SemVer(version,this.options);}catch{return !1}return cmp(version,this.operator,this.semver,this.options)}intersects(comp,options){if(!(comp instanceof _Comparator))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Range(comp.value,options).test(this.value):comp.operator===""?comp.value===""?!0:new Range(this.value,options).test(comp.semver):(options=parseOptions(options),options.includePrerelease&&(this.value==="<0.0.0-0"||comp.value==="<0.0.0-0")||!options.includePrerelease&&(this.value.startsWith("<0.0.0")||comp.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&comp.operator.startsWith(">")||this.operator.startsWith("<")&&comp.operator.startsWith("<")||this.semver.version===comp.semver.version&&this.operator.includes("=")&&comp.operator.includes("=")||cmp(this.semver,"<",comp.semver,options)&&this.operator.startsWith(">")&&comp.operator.startsWith("<")||cmp(this.semver,">",comp.semver,options)&&this.operator.startsWith("<")&&comp.operator.startsWith(">")))}};module.exports=Comparator;var parseOptions=require_parse_options(),{safeRe:re,t}=require_re(),cmp=require_cmp(),debug=require_debug(),SemVer=require_semver(),Range=require_range();}});var require_satisfies=__commonJS({"../../node_modules/semver/functions/satisfies.js"(exports,module){var Range=require_range(),satisfies2=(version,range,options)=>{try{range=new Range(range,options);}catch{return !1}return range.test(version)};module.exports=satisfies2;}});var require_to_comparators=__commonJS({"../../node_modules/semver/ranges/to-comparators.js"(exports,module){var Range=require_range(),toComparators=(range,options)=>new Range(range,options).set.map(comp=>comp.map(c=>c.value).join(" ").trim().split(" "));module.exports=toComparators;}});var require_max_satisfying=__commonJS({"../../node_modules/semver/ranges/max-satisfying.js"(exports,module){var SemVer=require_semver(),Range=require_range(),maxSatisfying=(versions,range,options)=>{let max=null,maxSV=null,rangeObj=null;try{rangeObj=new Range(range,options);}catch{return null}return versions.forEach(v=>{rangeObj.test(v)&&(!max||maxSV.compare(v)===-1)&&(max=v,maxSV=new SemVer(max,options));}),max};module.exports=maxSatisfying;}});var require_min_satisfying=__commonJS({"../../node_modules/semver/ranges/min-satisfying.js"(exports,module){var SemVer=require_semver(),Range=require_range(),minSatisfying=(versions,range,options)=>{let min=null,minSV=null,rangeObj=null;try{rangeObj=new Range(range,options);}catch{return null}return versions.forEach(v=>{rangeObj.test(v)&&(!min||minSV.compare(v)===1)&&(min=v,minSV=new SemVer(min,options));}),min};module.exports=minSatisfying;}});var require_min_version=__commonJS({"../../node_modules/semver/ranges/min-version.js"(exports,module){var SemVer=require_semver(),Range=require_range(),gt=require_gt(),minVersion=(range,loose)=>{range=new Range(range,loose);let minver=new SemVer("0.0.0");if(range.test(minver)||(minver=new SemVer("0.0.0-0"),range.test(minver)))return minver;minver=null;for(let i=0;i<range.set.length;++i){let comparators=range.set[i],setMin=null;comparators.forEach(comparator=>{let compver=new SemVer(comparator.semver.version);switch(comparator.operator){case">":compver.prerelease.length===0?compver.patch++:compver.prerelease.push(0),compver.raw=compver.format();case"":case">=":(!setMin||gt(compver,setMin))&&(setMin=compver);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${comparator.operator}`)}}),setMin&&(!minver||gt(minver,setMin))&&(minver=setMin);}return minver&&range.test(minver)?minver:null};module.exports=minVersion;}});var require_valid2=__commonJS({"../../node_modules/semver/ranges/valid.js"(exports,module){var Range=require_range(),validRange=(range,options)=>{try{return new Range(range,options).range||"*"}catch{return null}};module.exports=validRange;}});var require_outside=__commonJS({"../../node_modules/semver/ranges/outside.js"(exports,module){var SemVer=require_semver(),Comparator=require_comparator(),{ANY}=Comparator,Range=require_range(),satisfies2=require_satisfies(),gt=require_gt(),lt=require_lt(),lte=require_lte(),gte=require_gte(),outside=(version,range,hilo,options)=>{version=new SemVer(version,options),range=new Range(range,options);let gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case">":gtfn=gt,ltefn=lte,ltfn=lt,comp=">",ecomp=">=";break;case"<":gtfn=lt,ltefn=gte,ltfn=gt,comp="<",ecomp="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies2(version,range,options))return !1;for(let i=0;i<range.set.length;++i){let comparators=range.set[i],high=null,low=null;if(comparators.forEach(comparator=>{comparator.semver===ANY&&(comparator=new Comparator(">=0.0.0")),high=high||comparator,low=low||comparator,gtfn(comparator.semver,high.semver,options)?high=comparator:ltfn(comparator.semver,low.semver,options)&&(low=comparator);}),high.operator===comp||high.operator===ecomp||(!low.operator||low.operator===comp)&&ltefn(version,low.semver))return !1;if(low.operator===ecomp&&ltfn(version,low.semver))return !1}return !0};module.exports=outside;}});var require_gtr=__commonJS({"../../node_modules/semver/ranges/gtr.js"(exports,module){var outside=require_outside(),gtr=(version,range,options)=>outside(version,range,">",options);module.exports=gtr;}});var require_ltr=__commonJS({"../../node_modules/semver/ranges/ltr.js"(exports,module){var outside=require_outside(),ltr=(version,range,options)=>outside(version,range,"<",options);module.exports=ltr;}});var require_intersects=__commonJS({"../../node_modules/semver/ranges/intersects.js"(exports,module){var Range=require_range(),intersects=(r1,r2,options)=>(r1=new Range(r1,options),r2=new Range(r2,options),r1.intersects(r2,options));module.exports=intersects;}});var require_simplify=__commonJS({"../../node_modules/semver/ranges/simplify.js"(exports,module){var satisfies2=require_satisfies(),compare=require_compare();module.exports=(versions,range,options)=>{let set=[],first=null,prev=null,v=versions.sort((a,b)=>compare(a,b,options));for(let version of v)satisfies2(version,range,options)?(prev=version,first||(first=version)):(prev&&set.push([first,prev]),prev=null,first=null);first&&set.push([first,null]);let ranges=[];for(let[min,max]of set)min===max?ranges.push(min):!max&&min===v[0]?ranges.push("*"):max?min===v[0]?ranges.push(`<=${max}`):ranges.push(`${min} - ${max}`):ranges.push(`>=${min}`);let simplified=ranges.join(" || "),original=typeof range.raw=="string"?range.raw:String(range);return simplified.length<original.length?simplified:range};}});var require_subset=__commonJS({"../../node_modules/semver/ranges/subset.js"(exports,module){var Range=require_range(),Comparator=require_comparator(),{ANY}=Comparator,satisfies2=require_satisfies(),compare=require_compare(),subset=(sub,dom,options={})=>{if(sub===dom)return !0;sub=new Range(sub,options),dom=new Range(dom,options);let sawNonNull=!1;OUTER:for(let simpleSub of sub.set){for(let simpleDom of dom.set){let isSub=simpleSubset(simpleSub,simpleDom,options);if(sawNonNull=sawNonNull||isSub!==null,isSub)continue OUTER}if(sawNonNull)return !1}return !0},minimumVersionWithPreRelease=[new Comparator(">=0.0.0-0")],minimumVersion=[new Comparator(">=0.0.0")],simpleSubset=(sub,dom,options)=>{if(sub===dom)return !0;if(sub.length===1&&sub[0].semver===ANY){if(dom.length===1&&dom[0].semver===ANY)return !0;options.includePrerelease?sub=minimumVersionWithPreRelease:sub=minimumVersion;}if(dom.length===1&&dom[0].semver===ANY){if(options.includePrerelease)return !0;dom=minimumVersion;}let eqSet=new Set,gt,lt;for(let c of sub)c.operator===">"||c.operator===">="?gt=higherGT(gt,c,options):c.operator==="<"||c.operator==="<="?lt=lowerLT(lt,c,options):eqSet.add(c.semver);if(eqSet.size>1)return null;let gtltComp;if(gt&&lt){if(gtltComp=compare(gt.semver,lt.semver,options),gtltComp>0)return null;if(gtltComp===0&&(gt.operator!==">="||lt.operator!=="<="))return null}for(let eq of eqSet){if(gt&&!satisfies2(eq,String(gt),options)||lt&&!satisfies2(eq,String(lt),options))return null;for(let c of dom)if(!satisfies2(eq,String(c),options))return !1;return !0}let higher,lower,hasDomLT,hasDomGT,needDomLTPre=lt&&!options.includePrerelease&&lt.semver.prerelease.length?lt.semver:!1,needDomGTPre=gt&&!options.includePrerelease&&gt.semver.prerelease.length?gt.semver:!1;needDomLTPre&&needDomLTPre.prerelease.length===1&&lt.operator==="<"&&needDomLTPre.prerelease[0]===0&&(needDomLTPre=!1);for(let c of dom){if(hasDomGT=hasDomGT||c.operator===">"||c.operator===">=",hasDomLT=hasDomLT||c.operator==="<"||c.operator==="<=",gt){if(needDomGTPre&&c.semver.prerelease&&c.semver.prerelease.length&&c.semver.major===needDomGTPre.major&&c.semver.minor===needDomGTPre.minor&&c.semver.patch===needDomGTPre.patch&&(needDomGTPre=!1),c.operator===">"||c.operator===">="){if(higher=higherGT(gt,c,options),higher===c&&higher!==gt)return !1}else if(gt.operator===">="&&!satisfies2(gt.semver,String(c),options))return !1}if(lt){if(needDomLTPre&&c.semver.prerelease&&c.semver.prerelease.length&&c.semver.major===needDomLTPre.major&&c.semver.minor===needDomLTPre.minor&&c.semver.patch===needDomLTPre.patch&&(needDomLTPre=!1),c.operator==="<"||c.operator==="<="){if(lower=lowerLT(lt,c,options),lower===c&&lower!==lt)return !1}else if(lt.operator==="<="&&!satisfies2(lt.semver,String(c),options))return !1}if(!c.operator&&(lt||gt)&&gtltComp!==0)return !1}return !(gt&&hasDomLT&&!lt&&gtltComp!==0||lt&&hasDomGT&&!gt&&gtltComp!==0||needDomGTPre||needDomLTPre)},higherGT=(a,b,options)=>{if(!a)return b;let comp=compare(a.semver,b.semver,options);return comp>0?a:comp<0||b.operator===">"&&a.operator===">="?b:a},lowerLT=(a,b,options)=>{if(!a)return b;let comp=compare(a.semver,b.semver,options);return comp<0?a:comp>0||b.operator==="<"&&a.operator==="<="?b:a};module.exports=subset;}});var require_semver2=__commonJS({"../../node_modules/semver/index.js"(exports,module){var internalRe=require_re(),constants3=require_constants(),SemVer=require_semver(),identifiers=require_identifiers(),parse2=require_parse2(),valid=require_valid(),clean=require_clean(),inc=require_inc(),diff=require_diff(),major=require_major(),minor=require_minor(),patch=require_patch(),prerelease=require_prerelease(),compare=require_compare(),rcompare=require_rcompare(),compareLoose=require_compare_loose(),compareBuild=require_compare_build(),sort=require_sort(),rsort=require_rsort(),gt=require_gt(),lt=require_lt(),eq=require_eq(),neq=require_neq(),gte=require_gte(),lte=require_lte(),cmp=require_cmp(),coerce2=require_coerce(),Comparator=require_comparator(),Range=require_range(),satisfies2=require_satisfies(),toComparators=require_to_comparators(),maxSatisfying=require_max_satisfying(),minSatisfying=require_min_satisfying(),minVersion=require_min_version(),validRange=require_valid2(),outside=require_outside(),gtr=require_gtr(),ltr=require_ltr(),intersects=require_intersects(),simplifyRange=require_simplify(),subset=require_subset();module.exports={parse:parse2,valid,clean,inc,diff,major,minor,patch,prerelease,compare,rcompare,compareLoose,compareBuild,sort,rsort,gt,lt,eq,neq,gte,lte,cmp,coerce:coerce2,Comparator,Range,satisfies:satisfies2,toComparators,maxSatisfying,minSatisfying,minVersion,validRange,outside,gtr,ltr,intersects,simplifyRange,subset,SemVer,re:internalRe.re,src:internalRe.src,tokens:internalRe.t,SEMVER_SPEC_VERSION:constants3.SEMVER_SPEC_VERSION,RELEASE_TYPES:constants3.RELEASE_TYPES,compareIdentifiers:identifiers.compareIdentifiers,rcompareIdentifiers:identifiers.rcompareIdentifiers};}});var import_cross_spawn=__toESM(require_cross_spawn(),1);function stripFinalNewline(input){let LF=typeof input=="string"?`
48
+ `:10,CR=typeof input=="string"?"\r":13;return input[input.length-1]===LF&&(input=input.slice(0,-1)),input[input.length-1]===CR&&(input=input.slice(0,-1)),input}function pathKey(options={}){let{env=process.env,platform=process.platform}=options;return platform!=="win32"?"PATH":Object.keys(env).reverse().find(key=>key.toUpperCase()==="PATH")||"Path"}var npmRunPath=({cwd:cwd2=process2__default.default.cwd(),path:pathOption=process2__default.default.env[pathKey()],preferLocal=!0,execPath=process2__default.default.execPath,addExecPath=!0}={})=>{let cwdString=cwd2 instanceof URL?url.fileURLToPath(cwd2):cwd2,cwdPath=path__default.default.resolve(cwdString),result=[];return preferLocal&&applyPreferLocal(result,cwdPath),addExecPath&&applyExecPath(result,execPath,cwdPath),[...result,pathOption].join(path__default.default.delimiter)},applyPreferLocal=(result,cwdPath)=>{let previous;for(;previous!==cwdPath;)result.push(path__default.default.join(cwdPath,"node_modules/.bin")),previous=cwdPath,cwdPath=path__default.default.resolve(cwdPath,"..");},applyExecPath=(result,execPath,cwdPath)=>{let execPathString=execPath instanceof URL?url.fileURLToPath(execPath):execPath;result.push(path__default.default.resolve(cwdPath,execPathString,".."));},npmRunPathEnv=({env=process2__default.default.env,...options}={})=>{env={...env};let pathName=pathKey({env});return options.path=env[pathName],env[pathName]=npmRunPath(options),env};var copyProperty=(to,from,property,ignoreNonConfigurable)=>{if(property==="length"||property==="prototype"||property==="arguments"||property==="caller")return;let toDescriptor=Object.getOwnPropertyDescriptor(to,property),fromDescriptor=Object.getOwnPropertyDescriptor(from,property);!canCopyProperty(toDescriptor,fromDescriptor)&&ignoreNonConfigurable||Object.defineProperty(to,property,fromDescriptor);},canCopyProperty=function(toDescriptor,fromDescriptor){return toDescriptor===void 0||toDescriptor.configurable||toDescriptor.writable===fromDescriptor.writable&&toDescriptor.enumerable===fromDescriptor.enumerable&&toDescriptor.configurable===fromDescriptor.configurable&&(toDescriptor.writable||toDescriptor.value===fromDescriptor.value)},changePrototype=(to,from)=>{let fromPrototype=Object.getPrototypeOf(from);fromPrototype!==Object.getPrototypeOf(to)&&Object.setPrototypeOf(to,fromPrototype);},wrappedToString=(withName,fromBody)=>`/* Wrapped ${withName}*/
49
+ ${fromBody}`,toStringDescriptor=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),toStringName=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),changeToString=(to,from,name)=>{let withName=name===""?"":`with ${name.trim()}() `,newToString=wrappedToString.bind(null,withName,from.toString());Object.defineProperty(newToString,"name",toStringName),Object.defineProperty(to,"toString",{...toStringDescriptor,value:newToString});};function mimicFunction(to,from,{ignoreNonConfigurable=!1}={}){let{name}=to;for(let property of Reflect.ownKeys(from))copyProperty(to,from,property,ignoreNonConfigurable);return changePrototype(to,from),changeToString(to,from,name),to}var calledFunctions=new WeakMap,onetime=(function_,options={})=>{if(typeof function_!="function")throw new TypeError("Expected a function");let returnValue,callCount=0,functionName=function_.displayName||function_.name||"<anonymous>",onetime2=function(...arguments_){if(calledFunctions.set(onetime2,++callCount),callCount===1)returnValue=function_.apply(this,arguments_),function_=null;else if(options.throw===!0)throw new Error(`Function \`${functionName}\` can only be called once`);return returnValue};return mimicFunction(onetime2,function_),calledFunctions.set(onetime2,callCount),onetime2};onetime.callCount=function_=>{if(!calledFunctions.has(function_))throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`);return calledFunctions.get(function_)};var onetime_default=onetime;var getRealtimeSignals=()=>{let length=SIGRTMAX-SIGRTMIN+1;return Array.from({length},getRealtimeSignal)},getRealtimeSignal=(value,index)=>({name:`SIGRT${index+1}`,number:SIGRTMIN+index,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),SIGRTMIN=34,SIGRTMAX=64;var SIGNALS=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];var getSignals=()=>{let realtimeSignals=getRealtimeSignals();return [...SIGNALS,...realtimeSignals].map(normalizeSignal)},normalizeSignal=({name,number:defaultNumber,description,action,forced=!1,standard})=>{let{signals:{[name]:constantSignal}}=os.constants,supported=constantSignal!==void 0;return {name,number:supported?constantSignal:defaultNumber,description,supported,action,forced,standard}};var getSignalsByName=()=>{let signals2=getSignals();return Object.fromEntries(signals2.map(getSignalByName))},getSignalByName=({name,number,description,supported,action,forced,standard})=>[name,{name,number,description,supported,action,forced,standard}],signalsByName=getSignalsByName(),getSignalsByNumber=()=>{let signals2=getSignals(),length=65,signalsA=Array.from({length},(value,number)=>getSignalByNumber(number,signals2));return Object.assign({},...signalsA)},getSignalByNumber=(number,signals2)=>{let signal=findSignalByNumber(number,signals2);if(signal===void 0)return {};let{name,description,supported,action,forced,standard}=signal;return {[number]:{name,number,description,supported,action,forced,standard}}},findSignalByNumber=(number,signals2)=>{let signal=signals2.find(({name})=>os.constants.signals[name]===number);return signal!==void 0?signal:signals2.find(signalA=>signalA.number===number)};getSignalsByNumber();var getErrorPrefix=({timedOut,timeout,errorCode,signal,signalDescription,exitCode,isCanceled})=>timedOut?`timed out after ${timeout} milliseconds`:isCanceled?"was canceled":errorCode!==void 0?`failed with ${errorCode}`:signal!==void 0?`was killed with ${signal} (${signalDescription})`:exitCode!==void 0?`failed with exit code ${exitCode}`:"failed",makeError=({stdout,stderr,all,error:error2,signal,exitCode,command,escapedCommand,timedOut,isCanceled,killed,parsed:{options:{timeout,cwd:cwd2=process2__default.default.cwd()}}})=>{exitCode=exitCode===null?void 0:exitCode,signal=signal===null?void 0:signal;let signalDescription=signal===void 0?void 0:signalsByName[signal].description,errorCode=error2&&error2.code,execaMessage=`Command ${getErrorPrefix({timedOut,timeout,errorCode,signal,signalDescription,exitCode,isCanceled})}: ${command}`,isError=Object.prototype.toString.call(error2)==="[object Error]",shortMessage=isError?`${execaMessage}
50
+ ${error2.message}`:execaMessage,message=[shortMessage,stderr,stdout].filter(Boolean).join(`
51
+ `);return isError?(error2.originalMessage=error2.message,error2.message=message):error2=new Error(message),error2.shortMessage=shortMessage,error2.command=command,error2.escapedCommand=escapedCommand,error2.exitCode=exitCode,error2.signal=signal,error2.signalDescription=signalDescription,error2.stdout=stdout,error2.stderr=stderr,error2.cwd=cwd2,all!==void 0&&(error2.all=all),"bufferedData"in error2&&delete error2.bufferedData,error2.failed=!0,error2.timedOut=!!timedOut,error2.isCanceled=isCanceled,error2.killed=killed&&!timedOut,error2};var aliases=["stdin","stdout","stderr"],hasAlias=options=>aliases.some(alias=>options[alias]!==void 0),normalizeStdio=options=>{if(!options)return;let{stdio}=options;if(stdio===void 0)return aliases.map(alias=>options[alias]);if(hasAlias(options))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${aliases.map(alias=>`\`${alias}\``).join(", ")}`);if(typeof stdio=="string")return stdio;if(!Array.isArray(stdio))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``);let length=Math.max(stdio.length,aliases.length);return Array.from({length},(value,index)=>stdio[index])};var signals=[];signals.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var processOk=process8=>!!process8&&typeof process8=="object"&&typeof process8.removeListener=="function"&&typeof process8.emit=="function"&&typeof process8.reallyExit=="function"&&typeof process8.listeners=="function"&&typeof process8.kill=="function"&&typeof process8.pid=="number"&&typeof process8.on=="function",kExitEmitter=Symbol.for("signal-exit emitter"),global2=globalThis,ObjectDefineProperty=Object.defineProperty.bind(Object),Emitter=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(global2[kExitEmitter])return global2[kExitEmitter];ObjectDefineProperty(global2,kExitEmitter,{value:this,writable:!1,enumerable:!1,configurable:!1});}on(ev,fn){this.listeners[ev].push(fn);}removeListener(ev,fn){let list=this.listeners[ev],i=list.indexOf(fn);i!==-1&&(i===0&&list.length===1?list.length=0:list.splice(i,1));}emit(ev,code,signal){if(this.emitted[ev])return !1;this.emitted[ev]=!0;let ret=!1;for(let fn of this.listeners[ev])ret=fn(code,signal)===!0||ret;return ev==="exit"&&(ret=this.emit("afterExit",code,signal)||ret),ret}},SignalExitBase=class{},signalExitWrap=handler=>({onExit(cb,opts){return handler.onExit(cb,opts)},load(){return handler.load()},unload(){return handler.unload()}}),SignalExitFallback=class extends SignalExitBase{onExit(){return ()=>{}}load(){}unload(){}},SignalExit=class extends SignalExitBase{#hupSig=process4.platform==="win32"?"SIGINT":"SIGHUP";#emitter=new Emitter;#process;#originalProcessEmit;#originalProcessReallyExit;#sigListeners={};#loaded=!1;constructor(process8){super(),this.#process=process8,this.#sigListeners={};for(let sig of signals)this.#sigListeners[sig]=()=>{let listeners=this.#process.listeners(sig),{count}=this.#emitter,p=process8;if(typeof p.__signal_exit_emitter__=="object"&&typeof p.__signal_exit_emitter__.count=="number"&&(count+=p.__signal_exit_emitter__.count),listeners.length===count){this.unload();let ret=this.#emitter.emit("exit",null,sig),s=sig==="SIGHUP"?this.#hupSig:sig;ret||process8.kill(process8.pid,s);}};this.#originalProcessReallyExit=process8.reallyExit,this.#originalProcessEmit=process8.emit;}onExit(cb,opts){if(!processOk(this.#process))return ()=>{};this.#loaded===!1&&this.load();let ev=opts?.alwaysLast?"afterExit":"exit";return this.#emitter.on(ev,cb),()=>{this.#emitter.removeListener(ev,cb),this.#emitter.listeners.exit.length===0&&this.#emitter.listeners.afterExit.length===0&&this.unload();}}load(){if(!this.#loaded){this.#loaded=!0,this.#emitter.count+=1;for(let sig of signals)try{let fn=this.#sigListeners[sig];fn&&this.#process.on(sig,fn);}catch{}this.#process.emit=(ev,...a)=>this.#processEmit(ev,...a),this.#process.reallyExit=code=>this.#processReallyExit(code);}}unload(){this.#loaded&&(this.#loaded=!1,signals.forEach(sig=>{let listener=this.#sigListeners[sig];if(!listener)throw new Error("Listener not defined for signal: "+sig);try{this.#process.removeListener(sig,listener);}catch{}}),this.#process.emit=this.#originalProcessEmit,this.#process.reallyExit=this.#originalProcessReallyExit,this.#emitter.count-=1);}#processReallyExit(code){return processOk(this.#process)?(this.#process.exitCode=code||0,this.#emitter.emit("exit",this.#process.exitCode,null),this.#originalProcessReallyExit.call(this.#process,this.#process.exitCode)):0}#processEmit(ev,...args){let og=this.#originalProcessEmit;if(ev==="exit"&&processOk(this.#process)){typeof args[0]=="number"&&(this.#process.exitCode=args[0]);let ret=og.call(this.#process,ev,...args);return this.#emitter.emit("exit",this.#process.exitCode,null),ret}else return og.call(this.#process,ev,...args)}},process4=globalThis.process,{onExit,load,unload}=signalExitWrap(processOk(process4)?new SignalExit(process4):new SignalExitFallback);var DEFAULT_FORCE_KILL_TIMEOUT=1e3*5,spawnedKill=(kill,signal="SIGTERM",options={})=>{let killResult=kill(signal);return setKillTimeout(kill,signal,options,killResult),killResult},setKillTimeout=(kill,signal,options,killResult)=>{if(!shouldForceKill(signal,options,killResult))return;let timeout=getForceKillAfterTimeout(options),t=setTimeout(()=>{kill("SIGKILL");},timeout);t.unref&&t.unref();},shouldForceKill=(signal,{forceKillAfterTimeout},killResult)=>isSigterm(signal)&&forceKillAfterTimeout!==!1&&killResult,isSigterm=signal=>signal===os__default.default.constants.signals.SIGTERM||typeof signal=="string"&&signal.toUpperCase()==="SIGTERM",getForceKillAfterTimeout=({forceKillAfterTimeout=!0})=>{if(forceKillAfterTimeout===!0)return DEFAULT_FORCE_KILL_TIMEOUT;if(!Number.isFinite(forceKillAfterTimeout)||forceKillAfterTimeout<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${forceKillAfterTimeout}\` (${typeof forceKillAfterTimeout})`);return forceKillAfterTimeout},spawnedCancel=(spawned,context)=>{spawned.kill()&&(context.isCanceled=!0);},timeoutKill=(spawned,signal,reject)=>{spawned.kill(signal),reject(Object.assign(new Error("Timed out"),{timedOut:!0,signal}));},setupTimeout=(spawned,{timeout,killSignal="SIGTERM"},spawnedPromise)=>{if(timeout===0||timeout===void 0)return spawnedPromise;let timeoutId,timeoutPromise=new Promise((resolve2,reject)=>{timeoutId=setTimeout(()=>{timeoutKill(spawned,killSignal,reject);},timeout);}),safeSpawnedPromise=spawnedPromise.finally(()=>{clearTimeout(timeoutId);});return Promise.race([timeoutPromise,safeSpawnedPromise])},validateTimeout=({timeout})=>{if(timeout!==void 0&&(!Number.isFinite(timeout)||timeout<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${timeout}\` (${typeof timeout})`)},setExitHandler=async(spawned,{cleanup,detached},timedPromise)=>{if(!cleanup||detached)return timedPromise;let removeExitHandler=onExit(()=>{spawned.kill();});return timedPromise.finally(()=>{removeExitHandler();})};function isStream(stream){return stream!==null&&typeof stream=="object"&&typeof stream.pipe=="function"}function isWritableStream(stream){return isStream(stream)&&stream.writable!==!1&&typeof stream._write=="function"&&typeof stream._writableState=="object"}var isExecaChildProcess=target=>target instanceof childProcess.ChildProcess&&typeof target.then=="function",pipeToTarget=(spawned,streamName,target)=>{if(typeof target=="string")return spawned[streamName].pipe(fs.createWriteStream(target)),spawned;if(isWritableStream(target))return spawned[streamName].pipe(target),spawned;if(!isExecaChildProcess(target))throw new TypeError("The second argument must be a string, a stream or an Execa child process.");if(!isWritableStream(target.stdin))throw new TypeError("The target child process's stdin must be available.");return spawned[streamName].pipe(target.stdin),target},addPipeMethods=spawned=>{spawned.stdout!==null&&(spawned.pipeStdout=pipeToTarget.bind(void 0,spawned,"stdout")),spawned.stderr!==null&&(spawned.pipeStderr=pipeToTarget.bind(void 0,spawned,"stderr")),spawned.all!==void 0&&(spawned.pipeAll=pipeToTarget.bind(void 0,spawned,"all"));};var getStreamContents=async(stream,{init,convertChunk,getSize,truncateChunk,addChunk,getFinalChunk,finalize},{maxBuffer=Number.POSITIVE_INFINITY}={})=>{if(!isAsyncIterable(stream))throw new Error("The first argument must be a Readable, a ReadableStream, or an async iterable.");let state=init();state.length=0;try{for await(let chunk of stream){let chunkType=getChunkType(chunk),convertedChunk=convertChunk[chunkType](chunk,state);appendChunk({convertedChunk,state,getSize,truncateChunk,addChunk,maxBuffer});}return appendFinalChunk({state,convertChunk,getSize,truncateChunk,addChunk,getFinalChunk,maxBuffer}),finalize(state)}catch(error2){throw error2.bufferedData=finalize(state),error2}},appendFinalChunk=({state,getSize,truncateChunk,addChunk,getFinalChunk,maxBuffer})=>{let convertedChunk=getFinalChunk(state);convertedChunk!==void 0&&appendChunk({convertedChunk,state,getSize,truncateChunk,addChunk,maxBuffer});},appendChunk=({convertedChunk,state,getSize,truncateChunk,addChunk,maxBuffer})=>{let chunkSize=getSize(convertedChunk),newLength=state.length+chunkSize;if(newLength<=maxBuffer){addNewChunk(convertedChunk,state,addChunk,newLength);return}let truncatedChunk=truncateChunk(convertedChunk,maxBuffer-state.length);throw truncatedChunk!==void 0&&addNewChunk(truncatedChunk,state,addChunk,maxBuffer),new MaxBufferError},addNewChunk=(convertedChunk,state,addChunk,newLength)=>{state.contents=addChunk(convertedChunk,state,newLength),state.length=newLength;},isAsyncIterable=stream=>typeof stream=="object"&&stream!==null&&typeof stream[Symbol.asyncIterator]=="function",getChunkType=chunk=>{let typeOfChunk=typeof chunk;if(typeOfChunk==="string")return "string";if(typeOfChunk!=="object"||chunk===null)return "others";if(globalThis.Buffer?.isBuffer(chunk))return "buffer";let prototypeName=objectToString.call(chunk);return prototypeName==="[object ArrayBuffer]"?"arrayBuffer":prototypeName==="[object DataView]"?"dataView":Number.isInteger(chunk.byteLength)&&Number.isInteger(chunk.byteOffset)&&objectToString.call(chunk.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},{toString:objectToString}=Object.prototype,MaxBufferError=class extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded");}};var identity=value=>value,noop=()=>{},getContentsProp=({contents})=>contents,throwObjectStream=chunk=>{throw new Error(`Streams in object mode are not supported: ${String(chunk)}`)},getLengthProp=convertedChunk=>convertedChunk.length;async function getStreamAsArrayBuffer(stream,options){return getStreamContents(stream,arrayBufferMethods,options)}var initArrayBuffer=()=>({contents:new ArrayBuffer(0)}),useTextEncoder=chunk=>textEncoder.encode(chunk),textEncoder=new TextEncoder,useUint8Array=chunk=>new Uint8Array(chunk),useUint8ArrayWithOffset=chunk=>new Uint8Array(chunk.buffer,chunk.byteOffset,chunk.byteLength),truncateArrayBufferChunk=(convertedChunk,chunkSize)=>convertedChunk.slice(0,chunkSize),addArrayBufferChunk=(convertedChunk,{contents,length:previousLength},length)=>{let newContents=hasArrayBufferResize()?resizeArrayBuffer(contents,length):resizeArrayBufferSlow(contents,length);return new Uint8Array(newContents).set(convertedChunk,previousLength),newContents},resizeArrayBufferSlow=(contents,length)=>{if(length<=contents.byteLength)return contents;let arrayBuffer=new ArrayBuffer(getNewContentsLength(length));return new Uint8Array(arrayBuffer).set(new Uint8Array(contents),0),arrayBuffer},resizeArrayBuffer=(contents,length)=>{if(length<=contents.maxByteLength)return contents.resize(length),contents;let arrayBuffer=new ArrayBuffer(length,{maxByteLength:getNewContentsLength(length)});return new Uint8Array(arrayBuffer).set(new Uint8Array(contents),0),arrayBuffer},getNewContentsLength=length=>SCALE_FACTOR**Math.ceil(Math.log(length)/Math.log(SCALE_FACTOR)),SCALE_FACTOR=2,finalizeArrayBuffer=({contents,length})=>hasArrayBufferResize()?contents:contents.slice(0,length),hasArrayBufferResize=()=>"resize"in ArrayBuffer.prototype,arrayBufferMethods={init:initArrayBuffer,convertChunk:{string:useTextEncoder,buffer:useUint8Array,arrayBuffer:useUint8Array,dataView:useUint8ArrayWithOffset,typedArray:useUint8ArrayWithOffset,others:throwObjectStream},getSize:getLengthProp,truncateChunk:truncateArrayBufferChunk,addChunk:addArrayBufferChunk,getFinalChunk:noop,finalize:finalizeArrayBuffer};async function getStreamAsBuffer(stream,options){if(!("Buffer"in globalThis))throw new Error("getStreamAsBuffer() is only supported in Node.js");try{return arrayBufferToNodeBuffer(await getStreamAsArrayBuffer(stream,options))}catch(error2){throw error2.bufferedData!==void 0&&(error2.bufferedData=arrayBufferToNodeBuffer(error2.bufferedData)),error2}}var arrayBufferToNodeBuffer=arrayBuffer=>globalThis.Buffer.from(arrayBuffer);async function getStreamAsString(stream,options){return getStreamContents(stream,stringMethods,options)}var initString=()=>({contents:"",textDecoder:new TextDecoder}),useTextDecoder=(chunk,{textDecoder})=>textDecoder.decode(chunk,{stream:!0}),addStringChunk=(convertedChunk,{contents})=>contents+convertedChunk,truncateStringChunk=(convertedChunk,chunkSize)=>convertedChunk.slice(0,chunkSize),getFinalStringChunk=({textDecoder})=>{let finalChunk=textDecoder.decode();return finalChunk===""?void 0:finalChunk},stringMethods={init:initString,convertChunk:{string:identity,buffer:useTextDecoder,arrayBuffer:useTextDecoder,dataView:useTextDecoder,typedArray:useTextDecoder,others:throwObjectStream},getSize:getLengthProp,truncateChunk:truncateStringChunk,addChunk:addStringChunk,getFinalChunk:getFinalStringChunk,finalize:getContentsProp};var import_merge_stream=__toESM(require_merge_stream(),1),validateInputOptions=input=>{if(input!==void 0)throw new TypeError("The `input` and `inputFile` options cannot be both set.")},getInput=({input,inputFile})=>typeof inputFile!="string"?input:(validateInputOptions(input),fs.createReadStream(inputFile)),handleInput=(spawned,options)=>{let input=getInput(options);input!==void 0&&(isStream(input)?input.pipe(spawned.stdin):spawned.stdin.end(input));},makeAllStream=(spawned,{all})=>{if(!all||!spawned.stdout&&!spawned.stderr)return;let mixed=(0, import_merge_stream.default)();return spawned.stdout&&mixed.add(spawned.stdout),spawned.stderr&&mixed.add(spawned.stderr),mixed},getBufferedData=async(stream,streamPromise)=>{if(!(!stream||streamPromise===void 0)){await promises.setTimeout(0),stream.destroy();try{return await streamPromise}catch(error2){return error2.bufferedData}}},getStreamPromise=(stream,{encoding,buffer,maxBuffer})=>{if(!(!stream||!buffer))return encoding==="utf8"||encoding==="utf-8"?getStreamAsString(stream,{maxBuffer}):encoding===null||encoding==="buffer"?getStreamAsBuffer(stream,{maxBuffer}):applyEncoding(stream,maxBuffer,encoding)},applyEncoding=async(stream,maxBuffer,encoding)=>(await getStreamAsBuffer(stream,{maxBuffer})).toString(encoding),getSpawnedResult=async({stdout,stderr,all},{encoding,buffer,maxBuffer},processDone)=>{let stdoutPromise=getStreamPromise(stdout,{encoding,buffer,maxBuffer}),stderrPromise=getStreamPromise(stderr,{encoding,buffer,maxBuffer}),allPromise=getStreamPromise(all,{encoding,buffer,maxBuffer:maxBuffer*2});try{return await Promise.all([processDone,stdoutPromise,stderrPromise,allPromise])}catch(error2){return Promise.all([{error:error2,signal:error2.signal,timedOut:error2.timedOut},getBufferedData(stdout,stdoutPromise),getBufferedData(stderr,stderrPromise),getBufferedData(all,allPromise)])}};var nativePromisePrototype=(async()=>{})().constructor.prototype,descriptors=["then","catch","finally"].map(property=>[property,Reflect.getOwnPropertyDescriptor(nativePromisePrototype,property)]),mergePromise=(spawned,promise)=>{for(let[property,descriptor]of descriptors){let value=typeof promise=="function"?(...args)=>Reflect.apply(descriptor.value,promise(),args):descriptor.value.bind(promise);Reflect.defineProperty(spawned,property,{...descriptor,value});}},getSpawnedPromise=spawned=>new Promise((resolve2,reject)=>{spawned.on("exit",(exitCode,signal)=>{resolve2({exitCode,signal});}),spawned.on("error",error2=>{reject(error2);}),spawned.stdin&&spawned.stdin.on("error",error2=>{reject(error2);});});var normalizeArgs=(file,args=[])=>Array.isArray(args)?[file,...args]:[file],NO_ESCAPE_REGEXP=/^[\w.-]+$/,escapeArg=arg=>typeof arg!="string"||NO_ESCAPE_REGEXP.test(arg)?arg:`"${arg.replaceAll('"','\\"')}"`,joinCommand=(file,args)=>normalizeArgs(file,args).join(" "),getEscapedCommand=(file,args)=>normalizeArgs(file,args).map(arg=>escapeArg(arg)).join(" ");var verboseDefault=util.debuglog("execa").enabled,padField=(field,padding)=>String(field).padStart(padding,"0"),getTimestamp=()=>{let date=new Date;return `${padField(date.getHours(),2)}:${padField(date.getMinutes(),2)}:${padField(date.getSeconds(),2)}.${padField(date.getMilliseconds(),3)}`},logCommand=(escapedCommand,{verbose})=>{verbose&&process2__default.default.stderr.write(`[${getTimestamp()}] ${escapedCommand}
52
+ `);};var DEFAULT_MAX_BUFFER=1e3*1e3*100,getEnv=({env:envOption,extendEnv,preferLocal,localDir,execPath})=>{let env=extendEnv?{...process2__default.default.env,...envOption}:envOption;return preferLocal?npmRunPathEnv({env,cwd:localDir,execPath}):env},handleArguments=(file,args,options={})=>{let parsed=import_cross_spawn.default._parse(file,args,options);return file=parsed.command,args=parsed.args,options=parsed.options,options={maxBuffer:DEFAULT_MAX_BUFFER,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:options.cwd||process2__default.default.cwd(),execPath:process2__default.default.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,verbose:verboseDefault,...options},options.env=getEnv(options),options.stdio=normalizeStdio(options),process2__default.default.platform==="win32"&&path__default.default.basename(file,".exe")==="cmd"&&args.unshift("/q"),{file,args,options,parsed}},handleOutput=(options,value,error2)=>typeof value!="string"&&!buffer.Buffer.isBuffer(value)?error2===void 0?void 0:"":options.stripFinalNewline?stripFinalNewline(value):value;function execa(file,args,options){let parsed=handleArguments(file,args,options),command=joinCommand(file,args),escapedCommand=getEscapedCommand(file,args);logCommand(escapedCommand,parsed.options),validateTimeout(parsed.options);let spawned;try{spawned=childProcess__default.default.spawn(parsed.file,parsed.args,parsed.options);}catch(error2){let dummySpawned=new childProcess__default.default.ChildProcess,errorPromise=Promise.reject(makeError({error:error2,stdout:"",stderr:"",all:"",command,escapedCommand,parsed,timedOut:!1,isCanceled:!1,killed:!1}));return mergePromise(dummySpawned,errorPromise),dummySpawned}let spawnedPromise=getSpawnedPromise(spawned),timedPromise=setupTimeout(spawned,parsed.options,spawnedPromise),processDone=setExitHandler(spawned,parsed.options,timedPromise),context={isCanceled:!1};spawned.kill=spawnedKill.bind(null,spawned.kill.bind(spawned)),spawned.cancel=spawnedCancel.bind(null,spawned,context);let handlePromiseOnce=onetime_default(async()=>{let[{error:error2,exitCode,signal,timedOut},stdoutResult,stderrResult,allResult]=await getSpawnedResult(spawned,parsed.options,processDone),stdout=handleOutput(parsed.options,stdoutResult),stderr=handleOutput(parsed.options,stderrResult),all=handleOutput(parsed.options,allResult);if(error2||exitCode!==0||signal!==null){let returnedError=makeError({error:error2,exitCode,signal,stdout,stderr,all,command,escapedCommand,parsed,timedOut,isCanceled:(parsed.options.signal?parsed.options.signal.aborted:!1),killed:spawned.killed});if(!parsed.options.reject)return returnedError;throw returnedError}return {command,escapedCommand,exitCode:0,stdout,stderr,all,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return handleInput(spawned,parsed.options),spawned.all=makeAllStream(spawned,parsed.options),addPipeMethods(spawned),mergePromise(spawned,handlePromiseOnce),spawned}var Node=class{value;next;constructor(value){this.value=value;}},Queue=class{#head;#tail;#size;constructor(){this.clear();}enqueue(value){let node=new Node(value);this.#head?(this.#tail.next=node,this.#tail=node):(this.#head=node,this.#tail=node),this.#size++;}dequeue(){let current=this.#head;if(current)return this.#head=this.#head.next,this.#size--,current.value}peek(){if(this.#head)return this.#head.value}clear(){this.#head=void 0,this.#tail=void 0,this.#size=0;}get size(){return this.#size}*[Symbol.iterator](){let current=this.#head;for(;current;)yield current.value,current=current.next;}*drain(){for(;this.#head;)yield this.dequeue();}};function pLimit(concurrency){if(!((Number.isInteger(concurrency)||concurrency===Number.POSITIVE_INFINITY)&&concurrency>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");let queue=new Queue,activeCount=0,next=()=>{activeCount--,queue.size>0&&queue.dequeue()();},run=async(fn,resolve2,args)=>{activeCount++;let result=(async()=>fn(...args))();resolve2(result);try{await result;}catch{}next();},enqueue=(fn,resolve2,args)=>{queue.enqueue(run.bind(void 0,fn,resolve2,args)),(async()=>(await Promise.resolve(),activeCount<concurrency&&queue.size>0&&queue.dequeue()()))();},generator=(fn,...args)=>new Promise(resolve2=>{enqueue(fn,resolve2,args);});return Object.defineProperties(generator,{activeCount:{get:()=>activeCount},pendingCount:{get:()=>queue.size},clearQueue:{value:()=>{queue.clear();}}}),generator}var EndError=class extends Error{constructor(value){super(),this.value=value;}},testElement=async(element,tester)=>tester(await element),finder=async element=>{let values=await Promise.all(element);if(values[1]===!0)throw new EndError(values[0]);return !1};async function pLocate(iterable,tester,{concurrency=Number.POSITIVE_INFINITY,preserveOrder=!0}={}){let limit=pLimit(concurrency),items=[...iterable].map(element=>[element,limit(testElement,element,tester)]),checkLimit=pLimit(preserveOrder?1:Number.POSITIVE_INFINITY);try{await Promise.all(items.map(element=>checkLimit(finder,element)));}catch(error2){if(error2 instanceof EndError)return error2.value;throw error2}}var typeMappings={directory:"isDirectory",file:"isFile"};function checkType(type){if(!Object.hasOwnProperty.call(typeMappings,type))throw new Error(`Invalid type specified: ${type}`)}var matchType=(type,stat)=>stat[typeMappings[type]](),toPath=urlOrPath=>urlOrPath instanceof URL?url.fileURLToPath(urlOrPath):urlOrPath;async function locatePath(paths,{cwd:cwd2=process2__default.default.cwd(),type="file",allowSymlinks=!0,concurrency,preserveOrder}={}){checkType(type),cwd2=toPath(cwd2);let statFunction=allowSymlinks?fs.promises.stat:fs.promises.lstat;return pLocate(paths,async path_=>{try{let stat=await statFunction(path__default.default.resolve(cwd2,path_));return matchType(type,stat)}catch{return !1}},{concurrency,preserveOrder})}function toPath2(urlOrPath){return urlOrPath instanceof URL?url.fileURLToPath(urlOrPath):urlOrPath}var findUpStop=Symbol("findUpStop");async function findUpMultiple(name,options={}){let directory=path__default.default.resolve(toPath2(options.cwd)??""),{root}=path__default.default.parse(directory),stopAt=path__default.default.resolve(directory,toPath2(options.stopAt??root)),limit=options.limit??Number.POSITIVE_INFINITY,paths=[name].flat(),runMatcher=async locateOptions=>{if(typeof name!="function")return locatePath(paths,locateOptions);let foundPath=await name(locateOptions.cwd);return typeof foundPath=="string"?locatePath([foundPath],locateOptions):foundPath},matches=[];for(;;){let foundPath=await runMatcher({...options,cwd:directory});if(foundPath===findUpStop||(foundPath&&matches.push(path__default.default.resolve(directory,foundPath)),directory===stopAt||matches.length>=limit))break;directory=path__default.default.dirname(directory);}return matches}async function findUp(name,options={}){return (await findUpMultiple(name,{...options,limit:1}))[0]}var _DRIVE_LETTER_START_RE=/^[A-Za-z]:\//;function normalizeWindowsPath(input=""){return input&&input.replace(/\\/g,"/").replace(_DRIVE_LETTER_START_RE,r=>r.toUpperCase())}var _UNC_REGEX=/^[/\\]{2}/,_IS_ABSOLUTE_RE=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/,_DRIVE_LETTER_RE=/^[A-Za-z]:$/,_ROOT_FOLDER_RE=/^\/([A-Za-z]:)?$/;var normalize=function(path6){if(path6.length===0)return ".";path6=normalizeWindowsPath(path6);let isUNCPath=path6.match(_UNC_REGEX),isPathAbsolute=isAbsolute(path6),trailingSeparator=path6[path6.length-1]==="/";return path6=normalizeString(path6,!isPathAbsolute),path6.length===0?isPathAbsolute?"/":trailingSeparator?"./":".":(trailingSeparator&&(path6+="/"),_DRIVE_LETTER_RE.test(path6)&&(path6+="/"),isUNCPath?isPathAbsolute?`//${path6}`:`//./${path6}`:isPathAbsolute&&!isAbsolute(path6)?`/${path6}`:path6)},join=function(...arguments_){if(arguments_.length===0)return ".";let joined;for(let argument of arguments_)argument&&argument.length>0&&(joined===void 0?joined=argument:joined+=`/${argument}`);return joined===void 0?".":normalize(joined.replace(/\/\/+/g,"/"))};function cwd(){return typeof process<"u"&&typeof process.cwd=="function"?process.cwd().replace(/\\/g,"/"):"/"}var resolve=function(...arguments_){arguments_=arguments_.map(argument=>normalizeWindowsPath(argument));let resolvedPath="",resolvedAbsolute=!1;for(let index=arguments_.length-1;index>=-1&&!resolvedAbsolute;index--){let path6=index>=0?arguments_[index]:cwd();!path6||path6.length===0||(resolvedPath=`${path6}/${resolvedPath}`,resolvedAbsolute=isAbsolute(path6));}return resolvedPath=normalizeString(resolvedPath,!resolvedAbsolute),resolvedAbsolute&&!isAbsolute(resolvedPath)?`/${resolvedPath}`:resolvedPath.length>0?resolvedPath:"."};function normalizeString(path6,allowAboveRoot){let res="",lastSegmentLength=0,lastSlash=-1,dots=0,char=null;for(let index=0;index<=path6.length;++index){if(index<path6.length)char=path6[index];else {if(char==="/")break;char="/";}if(char==="/"){if(!(lastSlash===index-1||dots===1))if(dots===2){if(res.length<2||lastSegmentLength!==2||res[res.length-1]!=="."||res[res.length-2]!=="."){if(res.length>2){let lastSlashIndex=res.lastIndexOf("/");lastSlashIndex===-1?(res="",lastSegmentLength=0):(res=res.slice(0,lastSlashIndex),lastSegmentLength=res.length-1-res.lastIndexOf("/")),lastSlash=index,dots=0;continue}else if(res.length>0){res="",lastSegmentLength=0,lastSlash=index,dots=0;continue}}allowAboveRoot&&(res+=res.length>0?"/..":"..",lastSegmentLength=2);}else res.length>0?res+=`/${path6.slice(lastSlash+1,index)}`:res=path6.slice(lastSlash+1,index),lastSegmentLength=index-lastSlash-1;lastSlash=index,dots=0;}else char==="."&&dots!==-1?++dots:dots=-1;}return res}var isAbsolute=function(p){return _IS_ABSOLUTE_RE.test(p)};var relative=function(from,to){let _from=resolve(from).replace(_ROOT_FOLDER_RE,"$1").split("/"),_to=resolve(to).replace(_ROOT_FOLDER_RE,"$1").split("/");if(_to[0][1]===":"&&_from[0][1]===":"&&_from[0]!==_to[0])return _to.join("/");let _fromCopy=[..._from];for(let segment of _fromCopy){if(_to[0]!==segment)break;_from.shift(),_to.shift();}return [..._from.map(()=>".."),..._to].join("/")},dirname=function(p){let segments=normalizeWindowsPath(p).replace(/\/$/,"").split("/").slice(0,-1);return segments.length===1&&_DRIVE_LETTER_RE.test(segments[0])&&(segments[0]+="/"),segments.join("/")||(isAbsolute(p)?"/":".")};var import_semver=__toESM(require_semver2());var DOCUMENTATION_LINK2="writing-tests/integrations/vitest-addon";var SUPPORTED_FRAMEWORKS=["@storybook/nextjs","@storybook/nextjs-vite","@storybook/react-vite","@storybook/svelte-vite","@storybook/vue3-vite","@storybook/html-vite","@storybook/web-components-vite","@storybook/sveltekit","@storybook/react-native-web-vite"];var fancy=process.platform!=="win32"||process.env.CI||process.env.TERM==="xterm-256color",step=nodeLogger.colors.gray("\u203A");nodeLogger.colors.blue(fancy?"\u2139":"i");nodeLogger.colors.green(fancy?"\u2714":"\u221A");nodeLogger.colors.orange(fancy?"\u26A0":"\u203C");nodeLogger.colors.red(fancy?"\u2716":"\xD7");var baseOptions={borderStyle:"round",padding:1},print=(message,options)=>{nodeLogger.logger.line(1),nodeLogger.logger.logBox(message,{...baseOptions,...options});},printInfo=(title,message,options)=>print(message,{borderColor:"blue",title,...options}),printWarning=(title,message,options)=>print(message,{borderColor:"yellow",title,...options}),printError=(title,message,options)=>print(message,{borderColor:"red",title,...options}),printSuccess=(title,message,options)=>print(message,{borderColor:"green",title,...options});var loadTemplate=async(name,replacements)=>{let template=await fs4__namespace.readFile(join(dirname(__require.resolve("@storybook/addon-vitest/package.json")),"templates",name),"utf8");return Object.entries(replacements).forEach(([key,value])=>template=template.replace(key,value)),template},mergeProperties=(source,target)=>{for(let sourceProp of source)if(sourceProp.type==="ObjectProperty"){let targetProp=target.find(p=>sourceProp.key.type==="Identifier"&&p.type==="ObjectProperty"&&p.key.type==="Identifier"&&p.key.name===sourceProp.key.name);targetProp&&targetProp.type==="ObjectProperty"?sourceProp.value.type==="ObjectExpression"&&targetProp.value.type==="ObjectExpression"?mergeProperties(sourceProp.value.properties,targetProp.value.properties):sourceProp.value.type==="ArrayExpression"&&targetProp.value.type==="ArrayExpression"?targetProp.value.elements.push(...sourceProp.value.elements):targetProp.value=sourceProp.value:target.push(sourceProp);}},updateConfigFile=(source,target)=>{let updated=!1;for(let sourceNode of source.program.body)if(sourceNode.type==="ImportDeclaration"){if(!target.program.body.some(targetNode=>targetNode.type===sourceNode.type&&targetNode.specifiers.some(s=>s.local.name===sourceNode.specifiers[0].local.name))){let lastImport=target.program.body.findLastIndex(n=>n.type==="ImportDeclaration");target.program.body.splice(lastImport+1,0,sourceNode);}}else if(sourceNode.type==="VariableDeclaration"){if(!target.program.body.some(targetNode=>targetNode.type===sourceNode.type&&targetNode.declarations.some(d=>"name"in d.id&&"name"in sourceNode.declarations[0].id&&d.id.name===sourceNode.declarations[0].id.name))){let lastImport=target.program.body.findLastIndex(n=>n.type==="ImportDeclaration");target.program.body.splice(lastImport+1,0,sourceNode);}}else if(sourceNode.type==="ExportDefaultDeclaration"){let exportDefault=target.program.body.find(n=>n.type==="ExportDefaultDeclaration");if(exportDefault&&sourceNode.declaration.type==="CallExpression"&&sourceNode.declaration.arguments.length>0&&sourceNode.declaration.arguments[0].type==="ObjectExpression"){let{properties}=sourceNode.declaration.arguments[0];exportDefault.declaration.type==="ObjectExpression"?(mergeProperties(properties,exportDefault.declaration.properties),updated=!0):exportDefault.declaration.type==="CallExpression"&&exportDefault.declaration.callee.type==="Identifier"&&exportDefault.declaration.callee.name==="defineConfig"&&exportDefault.declaration.arguments[0]?.type==="ObjectExpression"&&(mergeProperties(properties,exportDefault.declaration.arguments[0].properties),updated=!0);}}return updated},updateWorkspaceFile=(source,target)=>{let updated=!1;for(let sourceNode of source.program.body)if(sourceNode.type==="ImportDeclaration"){if(!target.program.body.some(targetNode=>targetNode.type===sourceNode.type&&targetNode.source.value===sourceNode.source.value&&targetNode.specifiers.some(s=>s.local.name===sourceNode.specifiers[0].local.name))){let lastImport=target.program.body.findLastIndex(n=>n.type==="ImportDeclaration");target.program.body.splice(lastImport+1,0,sourceNode);}}else if(sourceNode.type==="VariableDeclaration"){if(!target.program.body.some(targetNode=>targetNode.type===sourceNode.type&&targetNode.declarations.some(d=>"name"in d.id&&"name"in sourceNode.declarations[0].id&&d.id.name===sourceNode.declarations[0].id.name))){let lastImport=target.program.body.findLastIndex(n=>n.type==="ImportDeclaration");target.program.body.splice(lastImport+1,0,sourceNode);}}else if(sourceNode.type==="ExportDefaultDeclaration"){let exportDefault=target.program.body.find(n=>n.type==="ExportDefaultDeclaration");if(exportDefault&&sourceNode.declaration.type==="CallExpression"&&sourceNode.declaration.arguments.length>0&&sourceNode.declaration.arguments[0].type==="ArrayExpression"&&sourceNode.declaration.arguments[0].elements.length>0){let{elements}=sourceNode.declaration.arguments[0];exportDefault.declaration.type==="ArrayExpression"?(exportDefault.declaration.elements.push(...elements),updated=!0):exportDefault.declaration.type==="CallExpression"&&exportDefault.declaration.callee.type==="Identifier"&&exportDefault.declaration.callee.name==="defineWorkspace"&&exportDefault.declaration.arguments[0]?.type==="ArrayExpression"&&(exportDefault.declaration.arguments[0].elements.push(...elements),updated=!0);}}return updated};function getAddonNames(mainConfig){return (mainConfig.addons||[]).map(addon=>{let name="";return typeof addon=="string"?name=addon:typeof addon=="object"&&(name=addon.name),name}).filter(item=>item!=null)}var ADDON_NAME="@storybook/addon-vitest",EXTENSIONS=[".ts",".tsx",".js",".jsx",".cts",".mts",".cjs",".mjs"],addonA11yName="@storybook/addon-a11y",hasErrors=!1,logErrors=(...args)=>{hasErrors=!0,printError(...args);},findFile=async(basename2,extensions=EXTENSIONS)=>findUp(extensions.map(ext=>basename2+ext),{stopAt:common.getProjectRoot()});async function postInstall(options){printSuccess("\u{1F44B} Howdy!",tsDedent.dedent`
53
+ I'm the installation helper for ${ADDON_NAME}
925
54
 
926
55
  Hold on for a moment while I look at your project and get it set up...
927
- `
928
- );
929
- let e = Nr.getPackageManager({
930
- force: r.packageManager
931
- }), t = await In(r), s = e.getAllDependencies(), o = ["vitest", "@vitest/browser", "playwright"].filter((f) => !s[f]), n = await e.getInstalledVersion("vitest"), a = n ? (0, N.coerce)(n) : null, l = n ? (0, N.satisfies)(n, ">=3.2.0") : !0, c = $n(W(r.configDir, "main")), m = await Pn(c), d = !!m.getFieldNode(["webpackFinal"]), u = process.stdout.isTTY && !process.env.CI;
932
- t.frameworkPackageName === "@storybook/nextjs" && !d && (r.yes || !u ? { migrateToNextjsVite: !!r.yes } : await On({
933
- type: "confirm",
934
- name: "migrateToNextjsVite",
935
- message: v`
56
+ `);let packageManager=common.JsPackageManagerFactory.getPackageManager({force:options.packageManager}),info2=await getStorybookInfo(options),allDeps=packageManager.getAllDependencies(),dependencies=["vitest","@vitest/browser","playwright"].filter(p=>!allDeps[p]),vitestVersionSpecifier=await packageManager.getInstalledVersion("vitest"),coercedVitestVersion=vitestVersionSpecifier?(0, import_semver.coerce)(vitestVersionSpecifier):null,isVitest3_2OrNewer=vitestVersionSpecifier?(0, import_semver.satisfies)(vitestVersionSpecifier,">=3.2.0"):!0,mainJsPath=common.serverResolve(resolve(options.configDir,"main")),config=await csfTools.readConfig(mainJsPath),hasCustomWebpackConfig=!!config.getFieldNode(["webpackFinal"]),isInteractive=process.stdout.isTTY&&!process.env.CI;info2.frameworkPackageName==="@storybook/nextjs"&&!hasCustomWebpackConfig&&(options.yes||!isInteractive?{migrateToNextjsVite:!!options.yes}:await prompts__default.default({type:"confirm",name:"migrateToNextjsVite",message:tsDedent.dedent`
936
57
  The addon requires the use of @storybook/nextjs-vite to work with Next.js.
937
- https://storybook.js.org/docs/next/${O}#install-and-set-up
58
+ https://storybook.js.org/docs/next/${DOCUMENTATION_LINK2}#install-and-set-up
938
59
 
939
60
  Do you want to migrate?
940
- `,
941
- initial: !0
942
- })).migrateToNextjsVite && (await e.addDependencies({ type: "devDependencies", skipInstall: !0 }, [
943
- "@storybook/nextjs-vite"
944
- ]), await e.removeDependencies(["@storybook/nextjs"]), vn(m._ast, {
945
- StringLiteral(k) {
946
- k.node.value === "@storybook/nextjs" && (k.node.value = "@storybook/nextjs-vite");
947
- }
948
- }), await Rn(m, c), t.frameworkPackageName = "@storybook/nextjs-vite", t.builderPackageName = "@storybook/builder-vite", await qn({
949
- promptMessage: "Enter a glob to scan for all @storybook/nextjs imports to substitute with @storybook/nextjs-vite:",
950
- force: r.yes,
951
- dryRun: !1,
952
- transformFn: /* @__PURE__ */ i((k, E, P) => En(k, E, P), "transformFn"),
953
- transformOptions: {
954
- "@storybook/nextjs": "@storybook/nextjs-vite"
955
- }
956
- }));
957
- let g = We.includes(t.frameworkPackageName) ? t.frameworkPackageName === "@storybook/nextjs" ? "@storybook/nextjs-vite" : t.frameworkPackageName : null, p = !!g, Z = await (/* @__PURE__ */ i(async () => {
958
- let f = [];
959
- d && f.push("\u2022 The addon can not be used with a custom Webpack configuration."), t.frameworkPackageName !== "@storybook/nextjs" && t.builderPackageName !== "@storybook/builder-vite" && f.push(
960
- "\u2022 The addon can only be used with a Vite-based Storybook framework or Next.js."
961
- ), p || f.push(v`
962
- • The addon cannot yet be used with ${t.frameworkPackageName}
963
- `), a && !(0, N.satisfies)(a, ">=3.0.0") && f.push(v`
964
- • The addon requires Vitest 3.0.0 or higher. You are currently using ${n}.
61
+ `,initial:!0})).migrateToNextjsVite&&(await packageManager.addDependencies({type:"devDependencies",skipInstall:!0},["@storybook/nextjs-vite"]),await packageManager.removeDependencies(["@storybook/nextjs"]),babel.traverse(config._ast,{StringLiteral(path6){path6.node.value==="@storybook/nextjs"&&(path6.node.value="@storybook/nextjs-vite");}}),await csfTools.writeConfig(config,mainJsPath),info2.frameworkPackageName="@storybook/nextjs-vite",info2.builderPackageName="@storybook/builder-vite",await common.scanAndTransformFiles({promptMessage:"Enter a glob to scan for all @storybook/nextjs imports to substitute with @storybook/nextjs-vite:",force:options.yes,dryRun:!1,transformFn:(files,options2,dryRun)=>common.transformImportFiles(files,options2,dryRun),transformOptions:{"@storybook/nextjs":"@storybook/nextjs-vite"}}));let annotationsImport=SUPPORTED_FRAMEWORKS.includes(info2.frameworkPackageName)?info2.frameworkPackageName==="@storybook/nextjs"?"@storybook/nextjs-vite":info2.frameworkPackageName:null,isRendererSupported=!!annotationsImport,result=await(async()=>{let reasons=[];hasCustomWebpackConfig&&reasons.push("\u2022 The addon can not be used with a custom Webpack configuration."),info2.frameworkPackageName!=="@storybook/nextjs"&&info2.builderPackageName!=="@storybook/builder-vite"&&reasons.push("\u2022 The addon can only be used with a Vite-based Storybook framework or Next.js."),isRendererSupported||reasons.push(tsDedent.dedent`
62
+ The addon cannot yet be used with ${info2.frameworkPackageName}
63
+ `),coercedVitestVersion&&!(0, import_semver.satisfies)(coercedVitestVersion,">=3.0.0")&&reasons.push(tsDedent.dedent`
64
+ • The addon requires Vitest 3.0.0 or higher. You are currently using ${vitestVersionSpecifier}.
965
65
  Please update all of your Vitest dependencies and try again.
966
- `);
967
- let k = await e.getInstalledVersion("msw"), E = k ? (0, N.coerce)(k) : null;
968
- return E && !(0, N.satisfies)(E, ">=2.0.0") && f.push(v`
969
- • The addon uses Vitest behind the scenes, which supports only version 2 and above of MSW. However, we have detected version ${E.version} in this project.
66
+ `);let mswVersionSpecifier=await packageManager.getInstalledVersion("msw"),coercedMswVersion=mswVersionSpecifier?(0, import_semver.coerce)(mswVersionSpecifier):null;return coercedMswVersion&&!(0, import_semver.satisfies)(coercedMswVersion,">=2.0.0")&&reasons.push(tsDedent.dedent`
67
+ The addon uses Vitest behind the scenes, which supports only version 2 and above of MSW. However, we have detected version ${coercedMswVersion.version} in this project.
970
68
  Please update the 'msw' package and try again.
971
- `), t.frameworkPackageName === "@storybook/nextjs" && (await e.getInstalledVersion("next") || f.push(v`
69
+ `),info2.frameworkPackageName==="@storybook/nextjs"&&(await packageManager.getInstalledVersion("next")||reasons.push(tsDedent.dedent`
972
70
  • You are using @storybook/nextjs without having "next" installed.
973
71
  Please install "next" or use a different Storybook framework integration and try again.
974
- `)), f.length > 0 ? (f.unshift(
975
- "@storybook/addon-vitest's automated setup failed due to the following package incompatibilities:"
976
- ), f.push("--------------------------------"), f.push(
977
- v`
978
- You can fix these issues and rerun the command to reinstall. If you wish to roll back the installation, remove ${Vr} from the "addons" array
72
+ `)),reasons.length>0?(reasons.unshift("@storybook/addon-vitest's automated setup failed due to the following package incompatibilities:"),reasons.push("--------------------------------"),reasons.push(tsDedent.dedent`
73
+ You can fix these issues and rerun the command to reinstall. If you wish to roll back the installation, remove ${ADDON_NAME} from the "addons" array
979
74
  in your main Storybook config file and remove the dependency from your package.json file.
980
- `
981
- ), p ? f.push(
982
- v`
75
+ `),isRendererSupported?reasons.push(tsDedent.dedent`
983
76
  Fear not, however, you can follow the manual installation process instead at:
984
- https://storybook.js.org/docs/next/${O}#manual-setup
985
- `
986
- ) : f.push(
987
- v`
77
+ https://storybook.js.org/docs/next/${DOCUMENTATION_LINK2}#manual-setup
78
+ `):reasons.push(tsDedent.dedent`
988
79
  Please check the documentation for more information about its requirements and installation:
989
- https://storybook.js.org/docs/next/${O}
990
- `
991
- ), f.map((P) => P.trim()).join(`
80
+ https://storybook.js.org/docs/next/${DOCUMENTATION_LINK2}
81
+ `),reasons.map(r=>r.trim()).join(`
992
82
 
993
- `)) : null;
994
- }, "prerequisiteCheck"))();
995
- if (Z) {
996
- z("\u26D4\uFE0F Sorry!", Z), w.line(1);
997
- return;
998
- }
999
- if (t.frameworkPackageName === "@storybook/nextjs") {
1000
- Ce(
1001
- "\u{1F37F} Just so you know...",
1002
- v`
83
+ `)):null})();if(result){logErrors("\u26D4\uFE0F Sorry!",result),nodeLogger.logger.line(1);return}if(info2.frameworkPackageName==="@storybook/nextjs"){printInfo("\u{1F37F} Just so you know...",tsDedent.dedent`
1003
84
  It looks like you're using Next.js.
1004
85
 
1005
86
  Adding "@storybook/nextjs-vite/vite-plugin" so you can use it with Vitest.
1006
87
 
1007
88
  More info about the plugin at https://github.com/storybookjs/vite-plugin-storybook-nextjs
1008
- `
1009
- );
1010
- try {
1011
- let f = await e.getInstalledVersion("storybook");
1012
- o.push(`@storybook/nextjs-vite@^${f}`);
1013
- } catch {
1014
- console.error("Failed to install @storybook/nextjs-vite. Please install it manually");
1015
- }
1016
- }
1017
- let Dr = await e.getInstalledVersion("@vitest/coverage-v8"), Fr = await e.getInstalledVersion("@vitest/coverage-istanbul");
1018
- !Dr && !Fr && (Ce(
1019
- "\u{1F648} Let me cover this for you",
1020
- v`
89
+ `);try{let storybookVersion=await packageManager.getInstalledVersion("storybook");dependencies.push(`@storybook/nextjs-vite@^${storybookVersion}`);}catch{console.error("Failed to install @storybook/nextjs-vite. Please install it manually");}}let v8Version=await packageManager.getInstalledVersion("@vitest/coverage-v8"),istanbulVersion=await packageManager.getInstalledVersion("@vitest/coverage-istanbul");!v8Version&&!istanbulVersion&&(printInfo("\u{1F648} Let me cover this for you",tsDedent.dedent`
1021
90
  You don't seem to have a coverage reporter installed. Vitest needs either V8 or Istanbul to generate coverage reports.
1022
91
 
1023
92
  Adding "@vitest/coverage-v8" to enable coverage reporting.
1024
93
  Read more about Vitest coverage providers at https://vitest.dev/guide/coverage.html#coverage-providers
1025
- `
1026
- ), o.push("@vitest/coverage-v8"));
1027
- let pe = o.map((f) => f.includes("vitest") && n ? `${f}@${n}` : f);
1028
- pe.length > 0 && (await e.addDependencies(
1029
- { type: "devDependencies", skipInstall: !0 },
1030
- pe
1031
- ), w.line(1), w.plain(`${C} Installing dependencies:`), w.plain(" " + pe.join(", "))), await e.installDependencies(), w.line(1), r.skipInstall ? (w.plain("Skipping Playwright installation, please run this command manually:"), w.plain(" npx playwright install chromium --with-deps")) : (w.plain(`${C} Configuring Playwright with Chromium (this might take some time):`), w.plain(" npx playwright install chromium --with-deps"), await e.executeCommand({
1032
- command: "npx",
1033
- args: ["playwright", "install", "chromium", "--with-deps"]
1034
- }));
1035
- let fe = s.typescript || await D("tsconfig", [...Ae, ".json"]) ? "ts" : "js", I = W(r.configDir, `vitest.setup.${fe}`);
1036
- if (Cr(I)) {
1037
- z(
1038
- "\u{1F6A8} Oh no!",
1039
- v`
94
+ `),dependencies.push("@vitest/coverage-v8"));let versionedDependencies=dependencies.map(p=>p.includes("vitest")&&vitestVersionSpecifier?`${p}@${vitestVersionSpecifier}`:p);versionedDependencies.length>0&&(await packageManager.addDependencies({type:"devDependencies",skipInstall:!0},versionedDependencies),nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Installing dependencies:`),nodeLogger.logger.plain(" "+versionedDependencies.join(", "))),await packageManager.installDependencies(),nodeLogger.logger.line(1),options.skipInstall?(nodeLogger.logger.plain("Skipping Playwright installation, please run this command manually:"),nodeLogger.logger.plain(" npx playwright install chromium --with-deps")):(nodeLogger.logger.plain(`${step} Configuring Playwright with Chromium (this might take some time):`),nodeLogger.logger.plain(" npx playwright install chromium --with-deps"),await packageManager.executeCommand({command:"npx",args:["playwright","install","chromium","--with-deps"]}));let fileExtension=allDeps.typescript||await findFile("tsconfig",[...EXTENSIONS,".json"])?"ts":"js",vitestSetupFile=resolve(options.configDir,`vitest.setup.${fileExtension}`);if(fs.existsSync(vitestSetupFile)){logErrors("\u{1F6A8} Oh no!",tsDedent.dedent`
1040
95
  Found an existing Vitest setup file:
1041
- ${I}
96
+ ${vitestSetupFile}
1042
97
 
1043
98
  Please refer to the documentation to complete the setup manually:
1044
- https://storybook.js.org/docs/next/${O}#manual-setup
1045
- `
1046
- ), w.line(1);
1047
- return;
1048
- }
1049
- w.line(1), w.plain(`${C} Creating a Vitest setup file for Storybook:`), w.plain(` ${I}`);
1050
- let Lr = Ae.map((f) => W(r.configDir, `preview${f}`)).some(
1051
- Cr
1052
- ), De = [`import { setProjectAnnotations } from '${g}';`], Fe = [];
1053
- Lr && (De.push("import * as projectAnnotations from './preview';"), Fe.push("projectAnnotations")), await K(
1054
- I,
1055
- v`
1056
- ${De.join(`
99
+ https://storybook.js.org/docs/next/${DOCUMENTATION_LINK2}#manual-setup
100
+ `),nodeLogger.logger.line(1);return}nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Creating a Vitest setup file for Storybook:`),nodeLogger.logger.plain(` ${vitestSetupFile}`);let previewExists=EXTENSIONS.map(ext=>resolve(options.configDir,`preview${ext}`)).some(fs.existsSync),imports=[`import { setProjectAnnotations } from '${annotationsImport}';`],projectAnnotations=[];previewExists&&(imports.push("import * as projectAnnotations from './preview';"),projectAnnotations.push("projectAnnotations")),await fs4.writeFile(vitestSetupFile,tsDedent.dedent`
101
+ ${imports.join(`
1057
102
  `)}
1058
103
 
1059
104
  // This is an important step to apply the right configuration when testing your stories.
1060
105
  // More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
1061
- setProjectAnnotations([${Fe.join(", ")}]);
1062
- `
1063
- );
1064
- let R = await D("vitest.workspace", [".ts", ".js", ".json"]) || await D("vitest.projects", [".ts", ".js", ".json"]), me = await D("vite.config"), de = await D("vitest.config"), Wr = await D("vitest.shims.d"), T = de || me, he = `{
106
+ setProjectAnnotations([${projectAnnotations.join(", ")}]);
107
+ `);let vitestWorkspaceFile=await findFile("vitest.workspace",[".ts",".js",".json"])||await findFile("vitest.projects",[".ts",".js",".json"]),viteConfigFile=await findFile("vite.config"),vitestConfigFile=await findFile("vitest.config"),vitestShimFile=await findFile("vitest.shims.d"),rootConfig=vitestConfigFile||viteConfigFile,browserConfig=`{
1065
108
  enabled: true,
1066
109
  headless: true,
1067
110
  provider: 'playwright',
1068
111
  instances: [{ browser: 'chromium' }]
1069
- }`;
1070
- if (fe === "ts" && !Wr && await K(
1071
- "vitest.shims.d.ts",
1072
- '/// <reference types="@vitest/browser/providers/playwright" />'
1073
- ), R) {
1074
- let f = await ce("vitest.workspace.template.ts", {
1075
- EXTENDS_WORKSPACE: me ? _(G(R), me) : "",
1076
- CONFIG_DIR: r.configDir,
1077
- BROWSER_CONFIG: he,
1078
- SETUP_FILE: _(G(R), I)
1079
- }).then((A) => A.replace(`
1080
- 'ROOT_CONFIG',`, "").replace(/\s+extends: '',/, "")), k = await Q.readFile(R, "utf8"), E = ue(f), P = ue(k);
1081
- if (Or(E, P)) {
1082
- w.line(1), w.plain(`${C} Updating your Vitest workspace file:`), w.plain(` ${R}`);
1083
- let A = await Ve(R, Tr(P).code);
1084
- await K(R, A);
1085
- } else {
1086
- z(
1087
- "\u{1F6A8} Oh no!",
1088
- v`
112
+ }`;if(fileExtension==="ts"&&!vitestShimFile&&await fs4.writeFile("vitest.shims.d.ts",'/// <reference types="@vitest/browser/providers/playwright" />'),vitestWorkspaceFile){let workspaceTemplate=await loadTemplate("vitest.workspace.template.ts",{EXTENDS_WORKSPACE:viteConfigFile?relative(dirname(vitestWorkspaceFile),viteConfigFile):"",CONFIG_DIR:options.configDir,BROWSER_CONFIG:browserConfig,SETUP_FILE:relative(dirname(vitestWorkspaceFile),vitestSetupFile)}).then(t=>t.replace(`
113
+ 'ROOT_CONFIG',`,"").replace(/\s+extends: '',/,"")),workspaceFile=await fs4__namespace.readFile(vitestWorkspaceFile,"utf8"),source=babel.babelParse(workspaceTemplate),target=babel.babelParse(workspaceFile);if(updateWorkspaceFile(source,target)){nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Updating your Vitest workspace file:`),nodeLogger.logger.plain(` ${vitestWorkspaceFile}`);let formattedContent=await common.formatFileContent(vitestWorkspaceFile,babel.generate(target).code);await fs4.writeFile(vitestWorkspaceFile,formattedContent);}else {logErrors("\u{1F6A8} Oh no!",tsDedent.dedent`
1089
114
  Could not update existing Vitest workspace file:
1090
- ${R}
115
+ ${vitestWorkspaceFile}
1091
116
 
1092
117
  I was able to configure most of the addon but could not safely extend
1093
118
  your existing workspace file automatically, you must do it yourself.
1094
119
 
1095
120
  Please refer to the documentation to complete the setup manually:
1096
- https://storybook.js.org/docs/next/${O}#manual-setup
1097
- `
1098
- ), w.line(1);
1099
- return;
1100
- }
1101
- } else if (T) {
1102
- let f, k, E = await Q.readFile(T, "utf8"), P = E.includes("projects:"), Le = E.match(
1103
- /\/\/\/\s*<reference\s+types=["']vitest\/config["']\s*\/>/
1104
- ), A = P || l ? "vitest.config.3.2.template.ts" : "vitest.config.template.ts";
1105
- if (A) {
1106
- let M = await ce(A, {
1107
- CONFIG_DIR: r.configDir,
1108
- BROWSER_CONFIG: he,
1109
- SETUP_FILE: _(G(T), I)
1110
- }), _r = ue(M);
1111
- f = ue(E), k = Rr(_r, f);
1112
- }
1113
- if (f && k) {
1114
- w.line(1), w.plain(`${C} Updating your ${de ? "Vitest" : "Vite"} config file:`), w.plain(` ${T}`);
1115
- let M = await Ve(T, Tr(f).code);
1116
- await K(
1117
- T,
1118
- Le ? M : `/// <reference types="vitest/config" />
1119
- ` + M
1120
- );
1121
- } else
1122
- z(
1123
- "\u{1F6A8} Oh no!",
1124
- v`
1125
- We were unable to update your existing ${de ? "Vitest" : "Vite"} config file.
121
+ https://storybook.js.org/docs/next/${DOCUMENTATION_LINK2}#manual-setup
122
+ `),nodeLogger.logger.line(1);return}}else if(rootConfig){let target,updated,configFile=await fs4__namespace.readFile(rootConfig,"utf8"),hasProjectsConfig=configFile.includes("projects:"),configFileHasTypeReference=configFile.match(/\/\/\/\s*<reference\s+types=["']vitest\/config["']\s*\/>/),templateName=hasProjectsConfig||isVitest3_2OrNewer?"vitest.config.3.2.template.ts":"vitest.config.template.ts";if(templateName){let configTemplate=await loadTemplate(templateName,{CONFIG_DIR:options.configDir,BROWSER_CONFIG:browserConfig,SETUP_FILE:relative(dirname(rootConfig),vitestSetupFile)}),source=babel.babelParse(configTemplate);target=babel.babelParse(configFile),updated=updateConfigFile(source,target);}if(target&&updated){nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Updating your ${vitestConfigFile?"Vitest":"Vite"} config file:`),nodeLogger.logger.plain(` ${rootConfig}`);let formattedContent=await common.formatFileContent(rootConfig,babel.generate(target).code);await fs4.writeFile(rootConfig,configFileHasTypeReference?formattedContent:`/// <reference types="vitest/config" />
123
+ `+formattedContent);}else logErrors("\u{1F6A8} Oh no!",tsDedent.dedent`
124
+ We were unable to update your existing ${vitestConfigFile?"Vitest":"Vite"} config file.
1126
125
 
1127
126
  Please refer to the documentation to complete the setup manually:
1128
127
  https://storybook.js.org/docs/writing-tests/integrations/vitest-addon#manual-setup
1129
- `
1130
- );
1131
- } else {
1132
- let f = W(`vitest.config.${fe}`), k = await ce(
1133
- l ? "vitest.config.3.2.template.ts" : "vitest.config.template.ts",
1134
- {
1135
- CONFIG_DIR: r.configDir,
1136
- BROWSER_CONFIG: he,
1137
- SETUP_FILE: _(G(f), I)
1138
- }
1139
- );
1140
- w.line(1), w.plain(`${C} Creating a Vitest config file:`), w.plain(` ${f}`);
1141
- let E = await Ve(f, k);
1142
- await K(f, E);
1143
- }
1144
- if (t.addons.find((f) => f.includes(Ne)))
1145
- try {
1146
- w.plain(`${C} Setting up ${Ne} for @storybook/addon-vitest:`);
1147
- let f = ["automigrate", "addon-a11y-addon-test"];
1148
- f.push("--loglevel", "silent"), f.push("--yes", "--skip-doctor"), r.packageManager && f.push("--package-manager", r.packageManager), r.skipInstall && f.push("--skip-install"), r.configDir !== ".storybook" && f.push("--config-dir", r.configDir), await _e("storybook", f, {
1149
- stdio: "inherit"
1150
- });
1151
- } catch (f) {
1152
- z(
1153
- "\u{1F6A8} Oh no!",
1154
- v`
1155
- We have detected that you have ${Ne} installed but could not automatically set it up for @storybook/addon-vitest:
128
+ `);}else {let newConfigFile=resolve(`vitest.config.${fileExtension}`),configTemplate=await loadTemplate(isVitest3_2OrNewer?"vitest.config.3.2.template.ts":"vitest.config.template.ts",{CONFIG_DIR:options.configDir,BROWSER_CONFIG:browserConfig,SETUP_FILE:relative(dirname(newConfigFile),vitestSetupFile)});nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Creating a Vitest config file:`),nodeLogger.logger.plain(` ${newConfigFile}`);let formattedContent=await common.formatFileContent(newConfigFile,configTemplate);await fs4.writeFile(newConfigFile,formattedContent);}if(info2.addons.find(addon=>addon.includes(addonA11yName)))try{nodeLogger.logger.plain(`${step} Setting up ${addonA11yName} for @storybook/addon-vitest:`);let command=["automigrate","addon-a11y-addon-test"];command.push("--loglevel","silent"),command.push("--yes","--skip-doctor"),options.packageManager&&command.push("--package-manager",options.packageManager),options.skipInstall&&command.push("--skip-install"),options.configDir!==".storybook"&&command.push("--config-dir",options.configDir),await execa("storybook",command,{stdio:"inherit"});}catch(e){logErrors("\u{1F6A8} Oh no!",tsDedent.dedent`
129
+ We have detected that you have ${addonA11yName} installed but could not automatically set it up for @storybook/addon-vitest:
1156
130
 
1157
- ${f instanceof Error ? f.message : String(f)}
131
+ ${e instanceof Error?e.message:String(e)}
1158
132
 
1159
133
  Please refer to the documentation to complete the setup manually:
1160
134
  https://storybook.js.org/docs/writing-tests/accessibility-testing#test-addon-integration
1161
- `
1162
- );
1163
- }
1164
- Ar ? jr(
1165
- "\u26A0\uFE0F Done, but with errors!",
1166
- v`
135
+ `);}hasErrors?printWarning("\u26A0\uFE0F Done, but with errors!",tsDedent.dedent`
1167
136
  @storybook/addon-vitest was installed successfully, but there were some errors during the setup process.
1168
137
 
1169
138
  Please refer to the documentation to complete the setup manually and check the errors above:
1170
- https://storybook.js.org/docs/next/${O}#manual-setup
1171
- `
1172
- ) : Ie(
1173
- "\u{1F389} All done!",
1174
- v`
139
+ https://storybook.js.org/docs/next/${DOCUMENTATION_LINK2}#manual-setup
140
+ `):printSuccess("\u{1F389} All done!",tsDedent.dedent`
1175
141
  @storybook/addon-vitest is now configured and you're ready to run your tests!
1176
142
 
1177
143
  Here are a couple of tips to get you started:
1178
- • You can run tests with "${T ? "npx vitest --project=storybook" : "npx vitest"}"
144
+ • You can run tests with "${rootConfig?"npx vitest --project=storybook":"npx vitest"}"
1179
145
  • When using the Vitest extension in your editor, all of your stories will be shown as tests!
1180
146
 
1181
147
  Check the documentation for more information about its features and options at:
1182
- https://storybook.js.org/docs/next/${O}
1183
- `
1184
- ), w.line(1);
1185
- }
1186
- i(Cn, "postInstall");
1187
- async function In({ configDir: r, packageManager: e }) {
1188
- let t = Nr.getPackageManager({ force: e, configDir: r }), { packageJson: s } = t.primaryPackageJson, o = await bn({ configDir: r }), { framework: n } = o, a = typeof n == "string" ? n : n?.name;
1189
- jn(a);
1190
- let l = xn(a), { presets: c } = await Sn({
1191
- configDir: r,
1192
- packageJson: s
1193
- }), m = await c.apply("core", {}), { builder: d, renderer: u } = m;
1194
- if (!d)
1195
- throw new Error("Could not detect your Storybook builder.");
1196
- let g = await Q.readFile(
1197
- Ir(
1198
- import.meta.resolve(
1199
- L(typeof d == "string" ? d : d.name, "package.json")
1200
- )
1201
- ),
1202
- "utf8"
1203
- ), p = JSON.parse(g).name, F;
1204
- if (u) {
1205
- let Z = await Q.readFile(
1206
- Ir(import.meta.resolve(L(u, "package.json"))),
1207
- "utf8"
1208
- );
1209
- F = JSON.parse(Z).name;
1210
- }
1211
- return {
1212
- frameworkPackageName: l,
1213
- builderPackageName: p,
1214
- rendererPackageName: F,
1215
- addons: Ye(o)
1216
- };
1217
- }
1218
- i(In, "getStorybookInfo");
1219
- export {
1220
- Cn as default
1221
- };
148
+ https://storybook.js.org/docs/next/${DOCUMENTATION_LINK2}
149
+ `),nodeLogger.logger.line(1);}async function getStorybookInfo({configDir,packageManager:pkgMgr}){let packageManager=common.JsPackageManagerFactory.getPackageManager({force:pkgMgr,configDir}),{packageJson}=packageManager.primaryPackageJson,config=await common.loadMainConfig({configDir,noCache:!0}),{framework}=config,frameworkName=typeof framework=="string"?framework:framework?.name;common.validateFrameworkName(frameworkName);let frameworkPackageName=common.extractProperFrameworkName(frameworkName),core=await(await common.loadAllPresets({corePresets:[join(frameworkName,"preset")],overridePresets:[__require.resolve("storybook/internal/core-server/presets/common-override-preset")],packageJson,configDir,isCritical:!0})).apply("core",{}),{builder,renderer}=core;if(!builder)throw new Error("Could not detect your Storybook builder.");let builderPackageJson=await fs4__namespace.readFile(__require.resolve(join(typeof builder=="string"?builder:builder.name,"package.json")),"utf8"),builderPackageName=JSON.parse(builderPackageJson).name,rendererPackageName;if(renderer){let rendererPackageJson=await fs4__namespace.readFile(__require.resolve(join(renderer,"package.json")),"utf8");rendererPackageName=JSON.parse(rendererPackageJson).name;}return {frameworkPackageName,builderPackageName,rendererPackageName,addons:getAddonNames(config)}}
150
+
151
+ module.exports = postInstall;