@storybook/addon-vitest 10.1.0-alpha.10 → 10.1.0-alpha.11

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.
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_w4lts2u9au from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_w4lts2u9au from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_w4lts2u9au from "node:module";
1
+ import CJS_COMPAT_NODE_URL_zfiyucf8tb from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_zfiyucf8tb from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_zfiyucf8tb from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_w4lts2u9au.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_w4lts2u9au.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_w4lts2u9au.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_zfiyucf8tb.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_zfiyucf8tb.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_zfiyucf8tb.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -12,22 +12,22 @@ var require = CJS_COMPAT_NODE_MODULE_w4lts2u9au.createRequire(import.meta.url);
12
12
  import {
13
13
  execa,
14
14
  resolvePackageDir
15
- } from "./_node-chunks/chunk-VQBCAO3Q.js";
15
+ } from "./_node-chunks/chunk-BEGZGAUW.js";
16
16
  import {
17
17
  any,
18
18
  getAddonNames,
19
19
  up
20
- } from "./_node-chunks/chunk-2GFDFSMJ.js";
20
+ } from "./_node-chunks/chunk-FD2MOKYY.js";
21
21
  import {
22
22
  DOCUMENTATION_LINK,
23
23
  SUPPORTED_FRAMEWORKS
24
- } from "./_node-chunks/chunk-ESR57AJV.js";
24
+ } from "./_node-chunks/chunk-TCQNKRGF.js";
25
25
  import {
26
26
  dirname,
27
27
  join,
28
28
  relative,
29
29
  resolve
30
- } from "./_node-chunks/chunk-2VMVOZSQ.js";
30
+ } from "./_node-chunks/chunk-L7WYCUSW.js";
31
31
  import {
32
32
  require_compare,
33
33
  require_constants,
@@ -37,31 +37,27 @@ import {
37
37
  require_parse_options,
38
38
  require_re,
39
39
  require_semver
40
- } from "./_node-chunks/chunk-3G477K5F.js";
40
+ } from "./_node-chunks/chunk-CHRIX3Z2.js";
41
41
  import {
42
42
  __commonJS,
43
- __name,
44
43
  __toESM
45
- } from "./_node-chunks/chunk-7J6TCEGO.js";
44
+ } from "./_node-chunks/chunk-FCFZB5YS.js";
46
45
 
47
46
  // ../../node_modules/semver/functions/parse.js
48
47
  var require_parse = __commonJS({
49
48
  "../../node_modules/semver/functions/parse.js"(exports, module) {
50
49
  "use strict";
51
- var SemVer = require_semver();
52
- var parse = /* @__PURE__ */ __name((version, options, throwErrors = false) => {
53
- if (version instanceof SemVer) {
50
+ var SemVer = require_semver(), parse = (version, options, throwErrors = !1) => {
51
+ if (version instanceof SemVer)
54
52
  return version;
55
- }
56
53
  try {
57
54
  return new SemVer(version, options);
58
55
  } catch (er) {
59
- if (!throwErrors) {
56
+ if (!throwErrors)
60
57
  return null;
61
- }
62
58
  throw er;
63
59
  }
64
- }, "parse");
60
+ };
65
61
  module.exports = parse;
66
62
  }
67
63
  });
@@ -70,11 +66,10 @@ var require_parse = __commonJS({
70
66
  var require_valid = __commonJS({
71
67
  "../../node_modules/semver/functions/valid.js"(exports, module) {
72
68
  "use strict";
73
- var parse = require_parse();
74
- var valid = /* @__PURE__ */ __name((version, options) => {
75
- const v = parse(version, options);
69
+ var parse = require_parse(), valid = (version, options) => {
70
+ let v = parse(version, options);
76
71
  return v ? v.version : null;
77
- }, "valid");
72
+ };
78
73
  module.exports = valid;
79
74
  }
80
75
  });
@@ -83,11 +78,10 @@ var require_valid = __commonJS({
83
78
  var require_clean = __commonJS({
84
79
  "../../node_modules/semver/functions/clean.js"(exports, module) {
85
80
  "use strict";
86
- var parse = require_parse();
87
- var clean = /* @__PURE__ */ __name((version, options) => {
88
- const s = parse(version.trim().replace(/^[=v]+/, ""), options);
81
+ var parse = require_parse(), clean = (version, options) => {
82
+ let s = parse(version.trim().replace(/^[=v]+/, ""), options);
89
83
  return s ? s.version : null;
90
- }, "clean");
84
+ };
91
85
  module.exports = clean;
92
86
  }
93
87
  });
@@ -96,22 +90,17 @@ var require_clean = __commonJS({
96
90
  var require_inc = __commonJS({
97
91
  "../../node_modules/semver/functions/inc.js"(exports, module) {
98
92
  "use strict";
99
- var SemVer = require_semver();
100
- var inc = /* @__PURE__ */ __name((version, release, options, identifier, identifierBase) => {
101
- if (typeof options === "string") {
102
- identifierBase = identifier;
103
- identifier = options;
104
- options = void 0;
105
- }
93
+ var SemVer = require_semver(), inc = (version, release, options, identifier, identifierBase) => {
94
+ typeof options == "string" && (identifierBase = identifier, identifier = options, options = void 0);
106
95
  try {
107
96
  return new SemVer(
108
97
  version instanceof SemVer ? version.version : version,
109
98
  options
110
99
  ).inc(release, identifier, identifierBase).version;
111
- } catch (er) {
100
+ } catch {
112
101
  return null;
113
102
  }
114
- }, "inc");
103
+ };
115
104
  module.exports = inc;
116
105
  }
117
106
  });
@@ -120,42 +109,20 @@ var require_inc = __commonJS({
120
109
  var require_diff = __commonJS({
121
110
  "../../node_modules/semver/functions/diff.js"(exports, module) {
122
111
  "use strict";
123
- var parse = require_parse();
124
- var diff = /* @__PURE__ */ __name((version1, version2) => {
125
- const v1 = parse(version1, null, true);
126
- const v2 = parse(version2, null, true);
127
- const comparison = v1.compare(v2);
128
- if (comparison === 0) {
112
+ var parse = require_parse(), diff = (version1, version2) => {
113
+ let v1 = parse(version1, null, !0), v2 = parse(version2, null, !0), comparison = v1.compare(v2);
114
+ if (comparison === 0)
129
115
  return null;
130
- }
131
- const v1Higher = comparison > 0;
132
- const highVersion = v1Higher ? v1 : v2;
133
- const lowVersion = v1Higher ? v2 : v1;
134
- const highHasPre = !!highVersion.prerelease.length;
135
- const lowHasPre = !!lowVersion.prerelease.length;
136
- if (lowHasPre && !highHasPre) {
137
- if (!lowVersion.patch && !lowVersion.minor) {
116
+ let v1Higher = comparison > 0, highVersion = v1Higher ? v1 : v2, lowVersion = v1Higher ? v2 : v1, highHasPre = !!highVersion.prerelease.length;
117
+ if (!!lowVersion.prerelease.length && !highHasPre) {
118
+ if (!lowVersion.patch && !lowVersion.minor)
138
119
  return "major";
139
- }
140
- if (lowVersion.compareMain(highVersion) === 0) {
141
- if (lowVersion.minor && !lowVersion.patch) {
142
- return "minor";
143
- }
144
- return "patch";
145
- }
146
- }
147
- const prefix = highHasPre ? "pre" : "";
148
- if (v1.major !== v2.major) {
149
- return prefix + "major";
120
+ if (lowVersion.compareMain(highVersion) === 0)
121
+ return lowVersion.minor && !lowVersion.patch ? "minor" : "patch";
150
122
  }
151
- if (v1.minor !== v2.minor) {
152
- return prefix + "minor";
153
- }
154
- if (v1.patch !== v2.patch) {
155
- return prefix + "patch";
156
- }
157
- return "prerelease";
158
- }, "diff");
123
+ let prefix = highHasPre ? "pre" : "";
124
+ return v1.major !== v2.major ? prefix + "major" : v1.minor !== v2.minor ? prefix + "minor" : v1.patch !== v2.patch ? prefix + "patch" : "prerelease";
125
+ };
159
126
  module.exports = diff;
160
127
  }
161
128
  });
@@ -164,8 +131,7 @@ var require_diff = __commonJS({
164
131
  var require_major = __commonJS({
165
132
  "../../node_modules/semver/functions/major.js"(exports, module) {
166
133
  "use strict";
167
- var SemVer = require_semver();
168
- var major = /* @__PURE__ */ __name((a, loose) => new SemVer(a, loose).major, "major");
134
+ var SemVer = require_semver(), major = (a, loose) => new SemVer(a, loose).major;
169
135
  module.exports = major;
170
136
  }
171
137
  });
@@ -174,8 +140,7 @@ var require_major = __commonJS({
174
140
  var require_minor = __commonJS({
175
141
  "../../node_modules/semver/functions/minor.js"(exports, module) {
176
142
  "use strict";
177
- var SemVer = require_semver();
178
- var minor = /* @__PURE__ */ __name((a, loose) => new SemVer(a, loose).minor, "minor");
143
+ var SemVer = require_semver(), minor = (a, loose) => new SemVer(a, loose).minor;
179
144
  module.exports = minor;
180
145
  }
181
146
  });
@@ -184,8 +149,7 @@ var require_minor = __commonJS({
184
149
  var require_patch = __commonJS({
185
150
  "../../node_modules/semver/functions/patch.js"(exports, module) {
186
151
  "use strict";
187
- var SemVer = require_semver();
188
- var patch = /* @__PURE__ */ __name((a, loose) => new SemVer(a, loose).patch, "patch");
152
+ var SemVer = require_semver(), patch = (a, loose) => new SemVer(a, loose).patch;
189
153
  module.exports = patch;
190
154
  }
191
155
  });
@@ -194,11 +158,10 @@ var require_patch = __commonJS({
194
158
  var require_prerelease = __commonJS({
195
159
  "../../node_modules/semver/functions/prerelease.js"(exports, module) {
196
160
  "use strict";
197
- var parse = require_parse();
198
- var prerelease = /* @__PURE__ */ __name((version, options) => {
199
- const parsed = parse(version, options);
161
+ var parse = require_parse(), prerelease = (version, options) => {
162
+ let parsed = parse(version, options);
200
163
  return parsed && parsed.prerelease.length ? parsed.prerelease : null;
201
- }, "prerelease");
164
+ };
202
165
  module.exports = prerelease;
203
166
  }
204
167
  });
@@ -207,8 +170,7 @@ var require_prerelease = __commonJS({
207
170
  var require_rcompare = __commonJS({
208
171
  "../../node_modules/semver/functions/rcompare.js"(exports, module) {
209
172
  "use strict";
210
- var compare = require_compare();
211
- var rcompare = /* @__PURE__ */ __name((a, b, loose) => compare(b, a, loose), "rcompare");
173
+ var compare = require_compare(), rcompare = (a, b, loose) => compare(b, a, loose);
212
174
  module.exports = rcompare;
213
175
  }
214
176
  });
@@ -217,8 +179,7 @@ var require_rcompare = __commonJS({
217
179
  var require_compare_loose = __commonJS({
218
180
  "../../node_modules/semver/functions/compare-loose.js"(exports, module) {
219
181
  "use strict";
220
- var compare = require_compare();
221
- var compareLoose = /* @__PURE__ */ __name((a, b) => compare(a, b, true), "compareLoose");
182
+ var compare = require_compare(), compareLoose = (a, b) => compare(a, b, !0);
222
183
  module.exports = compareLoose;
223
184
  }
224
185
  });
@@ -227,12 +188,10 @@ var require_compare_loose = __commonJS({
227
188
  var require_compare_build = __commonJS({
228
189
  "../../node_modules/semver/functions/compare-build.js"(exports, module) {
229
190
  "use strict";
230
- var SemVer = require_semver();
231
- var compareBuild = /* @__PURE__ */ __name((a, b, loose) => {
232
- const versionA = new SemVer(a, loose);
233
- const versionB = new SemVer(b, loose);
191
+ var SemVer = require_semver(), compareBuild = (a, b, loose) => {
192
+ let versionA = new SemVer(a, loose), versionB = new SemVer(b, loose);
234
193
  return versionA.compare(versionB) || versionA.compareBuild(versionB);
235
- }, "compareBuild");
194
+ };
236
195
  module.exports = compareBuild;
237
196
  }
238
197
  });
@@ -241,8 +200,7 @@ var require_compare_build = __commonJS({
241
200
  var require_sort = __commonJS({
242
201
  "../../node_modules/semver/functions/sort.js"(exports, module) {
243
202
  "use strict";
244
- var compareBuild = require_compare_build();
245
- var sort = /* @__PURE__ */ __name((list, loose) => list.sort((a, b) => compareBuild(a, b, loose)), "sort");
203
+ var compareBuild = require_compare_build(), sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
246
204
  module.exports = sort;
247
205
  }
248
206
  });
@@ -251,8 +209,7 @@ var require_sort = __commonJS({
251
209
  var require_rsort = __commonJS({
252
210
  "../../node_modules/semver/functions/rsort.js"(exports, module) {
253
211
  "use strict";
254
- var compareBuild = require_compare_build();
255
- var rsort = /* @__PURE__ */ __name((list, loose) => list.sort((a, b) => compareBuild(b, a, loose)), "rsort");
212
+ var compareBuild = require_compare_build(), rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
256
213
  module.exports = rsort;
257
214
  }
258
215
  });
@@ -261,8 +218,7 @@ var require_rsort = __commonJS({
261
218
  var require_gt = __commonJS({
262
219
  "../../node_modules/semver/functions/gt.js"(exports, module) {
263
220
  "use strict";
264
- var compare = require_compare();
265
- var gt = /* @__PURE__ */ __name((a, b, loose) => compare(a, b, loose) > 0, "gt");
221
+ var compare = require_compare(), gt = (a, b, loose) => compare(a, b, loose) > 0;
266
222
  module.exports = gt;
267
223
  }
268
224
  });
@@ -271,8 +227,7 @@ var require_gt = __commonJS({
271
227
  var require_lt = __commonJS({
272
228
  "../../node_modules/semver/functions/lt.js"(exports, module) {
273
229
  "use strict";
274
- var compare = require_compare();
275
- var lt = /* @__PURE__ */ __name((a, b, loose) => compare(a, b, loose) < 0, "lt");
230
+ var compare = require_compare(), lt = (a, b, loose) => compare(a, b, loose) < 0;
276
231
  module.exports = lt;
277
232
  }
278
233
  });
@@ -281,8 +236,7 @@ var require_lt = __commonJS({
281
236
  var require_eq = __commonJS({
282
237
  "../../node_modules/semver/functions/eq.js"(exports, module) {
283
238
  "use strict";
284
- var compare = require_compare();
285
- var eq = /* @__PURE__ */ __name((a, b, loose) => compare(a, b, loose) === 0, "eq");
239
+ var compare = require_compare(), eq = (a, b, loose) => compare(a, b, loose) === 0;
286
240
  module.exports = eq;
287
241
  }
288
242
  });
@@ -291,8 +245,7 @@ var require_eq = __commonJS({
291
245
  var require_neq = __commonJS({
292
246
  "../../node_modules/semver/functions/neq.js"(exports, module) {
293
247
  "use strict";
294
- var compare = require_compare();
295
- var neq = /* @__PURE__ */ __name((a, b, loose) => compare(a, b, loose) !== 0, "neq");
248
+ var compare = require_compare(), neq = (a, b, loose) => compare(a, b, loose) !== 0;
296
249
  module.exports = neq;
297
250
  }
298
251
  });
@@ -301,8 +254,7 @@ var require_neq = __commonJS({
301
254
  var require_lte = __commonJS({
302
255
  "../../node_modules/semver/functions/lte.js"(exports, module) {
303
256
  "use strict";
304
- var compare = require_compare();
305
- var lte = /* @__PURE__ */ __name((a, b, loose) => compare(a, b, loose) <= 0, "lte");
257
+ var compare = require_compare(), lte = (a, b, loose) => compare(a, b, loose) <= 0;
306
258
  module.exports = lte;
307
259
  }
308
260
  });
@@ -311,30 +263,12 @@ var require_lte = __commonJS({
311
263
  var require_cmp = __commonJS({
312
264
  "../../node_modules/semver/functions/cmp.js"(exports, module) {
313
265
  "use strict";
314
- var eq = require_eq();
315
- var neq = require_neq();
316
- var gt = require_gt();
317
- var gte = require_gte();
318
- var lt = require_lt();
319
- var lte = require_lte();
320
- var cmp = /* @__PURE__ */ __name((a, op, b, loose) => {
266
+ var eq = require_eq(), neq = require_neq(), gt = require_gt(), gte = require_gte(), lt = require_lt(), lte = require_lte(), cmp = (a, op, b, loose) => {
321
267
  switch (op) {
322
268
  case "===":
323
- if (typeof a === "object") {
324
- a = a.version;
325
- }
326
- if (typeof b === "object") {
327
- b = b.version;
328
- }
329
- return a === b;
269
+ return typeof a == "object" && (a = a.version), typeof b == "object" && (b = b.version), a === b;
330
270
  case "!==":
331
- if (typeof a === "object") {
332
- a = a.version;
333
- }
334
- if (typeof b === "object") {
335
- b = b.version;
336
- }
337
- return a !== b;
271
+ return typeof a == "object" && (a = a.version), typeof b == "object" && (b = b.version), a !== b;
338
272
  case "":
339
273
  case "=":
340
274
  case "==":
@@ -352,7 +286,7 @@ var require_cmp = __commonJS({
352
286
  default:
353
287
  throw new TypeError(`Invalid operator: ${op}`);
354
288
  }
355
- }, "cmp");
289
+ };
356
290
  module.exports = cmp;
357
291
  }
358
292
  });
@@ -361,44 +295,26 @@ var require_cmp = __commonJS({
361
295
  var require_coerce = __commonJS({
362
296
  "../../node_modules/semver/functions/coerce.js"(exports, module) {
363
297
  "use strict";
364
- var SemVer = require_semver();
365
- var parse = require_parse();
366
- var { safeRe: re, t } = require_re();
367
- var coerce2 = /* @__PURE__ */ __name((version, options) => {
368
- if (version instanceof SemVer) {
298
+ var SemVer = require_semver(), parse = require_parse(), { safeRe: re, t } = require_re(), coerce2 = (version, options) => {
299
+ if (version instanceof SemVer)
369
300
  return version;
370
- }
371
- if (typeof version === "number") {
372
- version = String(version);
373
- }
374
- if (typeof version !== "string") {
301
+ if (typeof version == "number" && (version = String(version)), typeof version != "string")
375
302
  return null;
376
- }
377
303
  options = options || {};
378
304
  let match = null;
379
- if (!options.rtl) {
305
+ if (!options.rtl)
380
306
  match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
381
- } else {
382
- const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
383
- let next;
384
- while ((next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length)) {
385
- if (!match || next.index + next[0].length !== match.index + match[0].length) {
386
- match = next;
387
- }
388
- coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
389
- }
307
+ else {
308
+ let coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL], next;
309
+ for (; (next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length); )
310
+ (!match || next.index + next[0].length !== match.index + match[0].length) && (match = next), coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
390
311
  coerceRtlRegex.lastIndex = -1;
391
312
  }
392
- if (match === null) {
313
+ if (match === null)
393
314
  return null;
394
- }
395
- const major = match[2];
396
- const minor = match[3] || "0";
397
- const patch = match[4] || "0";
398
- const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
399
- const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
315
+ 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]}` : "";
400
316
  return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options);
401
- }, "coerce");
317
+ };
402
318
  module.exports = coerce2;
403
319
  }
404
320
  });
@@ -408,31 +324,21 @@ var require_lrucache = __commonJS({
408
324
  "../../node_modules/semver/internal/lrucache.js"(exports, module) {
409
325
  "use strict";
410
326
  var LRUCache = class {
411
- static {
412
- __name(this, "LRUCache");
413
- }
414
327
  constructor() {
415
- this.max = 1e3;
416
- this.map = /* @__PURE__ */ new Map();
328
+ this.max = 1e3, this.map = /* @__PURE__ */ new Map();
417
329
  }
418
330
  get(key) {
419
- const value = this.map.get(key);
420
- if (value === void 0) {
421
- return void 0;
422
- } else {
423
- this.map.delete(key);
424
- this.map.set(key, value);
425
- return value;
426
- }
331
+ let value = this.map.get(key);
332
+ if (value !== void 0)
333
+ return this.map.delete(key), this.map.set(key, value), value;
427
334
  }
428
335
  delete(key) {
429
336
  return this.map.delete(key);
430
337
  }
431
338
  set(key, value) {
432
- const deleted = this.delete(key);
433
- if (!deleted && value !== void 0) {
339
+ if (!this.delete(key) && value !== void 0) {
434
340
  if (this.map.size >= this.max) {
435
- const firstKey = this.map.keys().next().value;
341
+ let firstKey = this.map.keys().next().value;
436
342
  this.delete(firstKey);
437
343
  }
438
344
  this.map.set(key, value);
@@ -448,46 +354,24 @@ var require_lrucache = __commonJS({
448
354
  var require_range = __commonJS({
449
355
  "../../node_modules/semver/classes/range.js"(exports, module) {
450
356
  "use strict";
451
- var SPACE_CHARACTERS = /\s+/g;
452
- var Range = class _Range {
453
- static {
454
- __name(this, "Range");
455
- }
357
+ var SPACE_CHARACTERS = /\s+/g, Range = class _Range {
456
358
  constructor(range, options) {
457
- options = parseOptions(options);
458
- if (range instanceof _Range) {
459
- if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
460
- return range;
461
- } else {
462
- return new _Range(range.raw, options);
463
- }
464
- }
465
- if (range instanceof Comparator) {
466
- this.raw = range.value;
467
- this.set = [[range]];
468
- this.formatted = void 0;
469
- return this;
470
- }
471
- this.options = options;
472
- this.loose = !!options.loose;
473
- this.includePrerelease = !!options.includePrerelease;
474
- this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
475
- this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
476
- if (!this.set.length) {
359
+ if (options = parseOptions(options), range instanceof _Range)
360
+ return range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease ? range : new _Range(range.raw, options);
361
+ if (range instanceof Comparator)
362
+ return this.raw = range.value, this.set = [[range]], this.formatted = void 0, this;
363
+ 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)
477
364
  throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
478
- }
479
365
  if (this.set.length > 1) {
480
- const first = this.set[0];
481
- this.set = this.set.filter((c) => !isNullSet(c[0]));
482
- if (this.set.length === 0) {
366
+ let first = this.set[0];
367
+ if (this.set = this.set.filter((c) => !isNullSet(c[0])), this.set.length === 0)
483
368
  this.set = [first];
484
- } else if (this.set.length > 1) {
485
- for (const c of this.set) {
369
+ else if (this.set.length > 1) {
370
+ for (let c of this.set)
486
371
  if (c.length === 1 && isAny(c[0])) {
487
372
  this.set = [c];
488
373
  break;
489
374
  }
490
- }
491
375
  }
492
376
  }
493
377
  this.formatted = void 0;
@@ -496,16 +380,10 @@ var require_range = __commonJS({
496
380
  if (this.formatted === void 0) {
497
381
  this.formatted = "";
498
382
  for (let i = 0; i < this.set.length; i++) {
499
- if (i > 0) {
500
- this.formatted += "||";
501
- }
502
- const comps = this.set[i];
503
- for (let k = 0; k < comps.length; k++) {
504
- if (k > 0) {
505
- this.formatted += " ";
506
- }
507
- this.formatted += comps[k].toString().trim();
508
- }
383
+ i > 0 && (this.formatted += "||");
384
+ let comps = this.set[i];
385
+ for (let k = 0; k < comps.length; k++)
386
+ k > 0 && (this.formatted += " "), this.formatted += comps[k].toString().trim();
509
387
  }
510
388
  }
511
389
  return this.formatted;
@@ -517,309 +395,94 @@ var require_range = __commonJS({
517
395
  return this.range;
518
396
  }
519
397
  parseRange(range) {
520
- const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
521
- const memoKey = memoOpts + ":" + range;
522
- const cached = cache.get(memoKey);
523
- if (cached) {
398
+ let memoKey = ((this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE)) + ":" + range, cached = cache.get(memoKey);
399
+ if (cached)
524
400
  return cached;
525
- }
526
- const loose = this.options.loose;
527
- const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
528
- range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
529
- debug("hyphen replace", range);
530
- range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
531
- debug("comparator trim", range);
532
- range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
533
- debug("tilde trim", range);
534
- range = range.replace(re[t.CARETTRIM], caretTrimReplace);
535
- debug("caret trim", range);
401
+ let loose = this.options.loose, hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
402
+ 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);
536
403
  let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
537
- if (loose) {
538
- rangeList = rangeList.filter((comp) => {
539
- debug("loose invalid filter", comp, this.options);
540
- return !!comp.match(re[t.COMPARATORLOOSE]);
541
- });
542
- }
543
- debug("range list", rangeList);
544
- const rangeMap = /* @__PURE__ */ new Map();
545
- const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
546
- for (const comp of comparators) {
547
- if (isNullSet(comp)) {
404
+ loose && (rangeList = rangeList.filter((comp) => (debug("loose invalid filter", comp, this.options), !!comp.match(re[t.COMPARATORLOOSE])))), debug("range list", rangeList);
405
+ let rangeMap = /* @__PURE__ */ new Map(), comparators = rangeList.map((comp) => new Comparator(comp, this.options));
406
+ for (let comp of comparators) {
407
+ if (isNullSet(comp))
548
408
  return [comp];
549
- }
550
409
  rangeMap.set(comp.value, comp);
551
410
  }
552
- if (rangeMap.size > 1 && rangeMap.has("")) {
553
- rangeMap.delete("");
554
- }
555
- const result = [...rangeMap.values()];
556
- cache.set(memoKey, result);
557
- return result;
411
+ rangeMap.size > 1 && rangeMap.has("") && rangeMap.delete("");
412
+ let result = [...rangeMap.values()];
413
+ return cache.set(memoKey, result), result;
558
414
  }
559
415
  intersects(range, options) {
560
- if (!(range instanceof _Range)) {
416
+ if (!(range instanceof _Range))
561
417
  throw new TypeError("a Range is required");
562
- }
563
- return this.set.some((thisComparators) => {
564
- return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
565
- return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
566
- return rangeComparators.every((rangeComparator) => {
567
- return thisComparator.intersects(rangeComparator, options);
568
- });
569
- });
570
- });
571
- });
418
+ 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)))));
572
419
  }
573
420
  // if ANY of the sets match ALL of its comparators, then pass
574
421
  test(version) {
575
- if (!version) {
576
- return false;
577
- }
578
- if (typeof version === "string") {
422
+ if (!version)
423
+ return !1;
424
+ if (typeof version == "string")
579
425
  try {
580
426
  version = new SemVer(version, this.options);
581
- } catch (er) {
582
- return false;
583
- }
584
- }
585
- for (let i = 0; i < this.set.length; i++) {
586
- if (testSet(this.set[i], version, this.options)) {
587
- return true;
427
+ } catch {
428
+ return !1;
588
429
  }
589
- }
590
- return false;
430
+ for (let i = 0; i < this.set.length; i++)
431
+ if (testSet(this.set[i], version, this.options))
432
+ return !0;
433
+ return !1;
591
434
  }
592
435
  };
593
436
  module.exports = Range;
594
- var LRU = require_lrucache();
595
- var cache = new LRU();
596
- var parseOptions = require_parse_options();
597
- var Comparator = require_comparator();
598
- var debug = require_debug();
599
- var SemVer = require_semver();
600
- var {
437
+ var LRU = require_lrucache(), cache = new LRU(), parseOptions = require_parse_options(), Comparator = require_comparator(), debug = require_debug(), SemVer = require_semver(), {
601
438
  safeRe: re,
602
439
  t,
603
440
  comparatorTrimReplace,
604
441
  tildeTrimReplace,
605
442
  caretTrimReplace
606
- } = require_re();
607
- var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants();
608
- var isNullSet = /* @__PURE__ */ __name((c) => c.value === "<0.0.0-0", "isNullSet");
609
- var isAny = /* @__PURE__ */ __name((c) => c.value === "", "isAny");
610
- var isSatisfiable = /* @__PURE__ */ __name((comparators, options) => {
611
- let result = true;
612
- const remainingComparators = comparators.slice();
613
- let testComparator = remainingComparators.pop();
614
- while (result && remainingComparators.length) {
615
- result = remainingComparators.every((otherComparator) => {
616
- return testComparator.intersects(otherComparator, options);
617
- });
618
- testComparator = remainingComparators.pop();
619
- }
443
+ } = require_re(), { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants(), isNullSet = (c) => c.value === "<0.0.0-0", isAny = (c) => c.value === "", isSatisfiable = (comparators, options) => {
444
+ let result = !0, remainingComparators = comparators.slice(), testComparator = remainingComparators.pop();
445
+ for (; result && remainingComparators.length; )
446
+ result = remainingComparators.every((otherComparator) => testComparator.intersects(otherComparator, options)), testComparator = remainingComparators.pop();
620
447
  return result;
621
- }, "isSatisfiable");
622
- var parseComparator = /* @__PURE__ */ __name((comp, options) => {
623
- debug("comp", comp, options);
624
- comp = replaceCarets(comp, options);
625
- debug("caret", comp);
626
- comp = replaceTildes(comp, options);
627
- debug("tildes", comp);
628
- comp = replaceXRanges(comp, options);
629
- debug("xrange", comp);
630
- comp = replaceStars(comp, options);
631
- debug("stars", comp);
632
- return comp;
633
- }, "parseComparator");
634
- var isX = /* @__PURE__ */ __name((id) => !id || id.toLowerCase() === "x" || id === "*", "isX");
635
- var replaceTildes = /* @__PURE__ */ __name((comp, options) => {
636
- return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
637
- }, "replaceTildes");
638
- var replaceTilde = /* @__PURE__ */ __name((comp, options) => {
639
- const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
448
+ }, parseComparator = (comp, options) => (comp = comp.replace(re[t.BUILD], ""), 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) => {
449
+ let r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
640
450
  return comp.replace(r, (_, M, m, p, pr) => {
641
451
  debug("tilde", comp, _, M, m, p, pr);
642
452
  let ret;
643
- if (isX(M)) {
644
- ret = "";
645
- } else if (isX(m)) {
646
- ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
647
- } else if (isX(p)) {
648
- ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
649
- } else if (pr) {
650
- debug("replaceTilde pr", pr);
651
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
652
- } else {
653
- ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
654
- }
655
- debug("tilde return", ret);
656
- return ret;
453
+ 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;
657
454
  });
658
- }, "replaceTilde");
659
- var replaceCarets = /* @__PURE__ */ __name((comp, options) => {
660
- return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
661
- }, "replaceCarets");
662
- var replaceCaret = /* @__PURE__ */ __name((comp, options) => {
455
+ }, replaceCarets = (comp, options) => comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" "), replaceCaret = (comp, options) => {
663
456
  debug("caret", comp, options);
664
- const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
665
- const z = options.includePrerelease ? "-0" : "";
457
+ let r = options.loose ? re[t.CARETLOOSE] : re[t.CARET], z = options.includePrerelease ? "-0" : "";
666
458
  return comp.replace(r, (_, M, m, p, pr) => {
667
459
  debug("caret", comp, _, M, m, p, pr);
668
460
  let ret;
669
- if (isX(M)) {
670
- ret = "";
671
- } else if (isX(m)) {
672
- ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
673
- } else if (isX(p)) {
674
- if (M === "0") {
675
- ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
676
- } else {
677
- ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
678
- }
679
- } else if (pr) {
680
- debug("replaceCaret pr", pr);
681
- if (M === "0") {
682
- if (m === "0") {
683
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
684
- } else {
685
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
686
- }
687
- } else {
688
- ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
689
- }
690
- } else {
691
- debug("no pr");
692
- if (M === "0") {
693
- if (m === "0") {
694
- ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
695
- } else {
696
- ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
697
- }
698
- } else {
699
- ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
700
- }
701
- }
702
- debug("caret return", ret);
703
- return ret;
461
+ 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;
704
462
  });
705
- }, "replaceCaret");
706
- var replaceXRanges = /* @__PURE__ */ __name((comp, options) => {
707
- debug("replaceXRanges", comp, options);
708
- return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
709
- }, "replaceXRanges");
710
- var replaceXRange = /* @__PURE__ */ __name((comp, options) => {
463
+ }, replaceXRanges = (comp, options) => (debug("replaceXRanges", comp, options), comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ")), replaceXRange = (comp, options) => {
711
464
  comp = comp.trim();
712
- const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
465
+ let r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
713
466
  return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
714
467
  debug("xRange", comp, ret, gtlt, M, m, p, pr);
715
- const xM = isX(M);
716
- const xm = xM || isX(m);
717
- const xp = xm || isX(p);
718
- const anyX = xp;
719
- if (gtlt === "=" && anyX) {
720
- gtlt = "";
721
- }
722
- pr = options.includePrerelease ? "-0" : "";
723
- if (xM) {
724
- if (gtlt === ">" || gtlt === "<") {
725
- ret = "<0.0.0-0";
726
- } else {
727
- ret = "*";
728
- }
729
- } else if (gtlt && anyX) {
730
- if (xm) {
731
- m = 0;
732
- }
733
- p = 0;
734
- if (gtlt === ">") {
735
- gtlt = ">=";
736
- if (xm) {
737
- M = +M + 1;
738
- m = 0;
739
- p = 0;
740
- } else {
741
- m = +m + 1;
742
- p = 0;
743
- }
744
- } else if (gtlt === "<=") {
745
- gtlt = "<";
746
- if (xm) {
747
- M = +M + 1;
748
- } else {
749
- m = +m + 1;
750
- }
751
- }
752
- if (gtlt === "<") {
753
- pr = "-0";
754
- }
755
- ret = `${gtlt + M}.${m}.${p}${pr}`;
756
- } else if (xm) {
757
- ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
758
- } else if (xp) {
759
- ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
760
- }
761
- debug("xRange return", ret);
762
- return ret;
468
+ let xM = isX(M), xm = xM || isX(m), xp = xm || isX(p), anyX = xp;
469
+ 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;
763
470
  });
764
- }, "replaceXRange");
765
- var replaceStars = /* @__PURE__ */ __name((comp, options) => {
766
- debug("replaceStars", comp, options);
767
- return comp.trim().replace(re[t.STAR], "");
768
- }, "replaceStars");
769
- var replaceGTE0 = /* @__PURE__ */ __name((comp, options) => {
770
- debug("replaceGTE0", comp, options);
771
- return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
772
- }, "replaceGTE0");
773
- var hyphenReplace = /* @__PURE__ */ __name((incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
774
- if (isX(fM)) {
775
- from = "";
776
- } else if (isX(fm)) {
777
- from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
778
- } else if (isX(fp)) {
779
- from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
780
- } else if (fpr) {
781
- from = `>=${from}`;
782
- } else {
783
- from = `>=${from}${incPr ? "-0" : ""}`;
784
- }
785
- if (isX(tM)) {
786
- to = "";
787
- } else if (isX(tm)) {
788
- to = `<${+tM + 1}.0.0-0`;
789
- } else if (isX(tp)) {
790
- to = `<${tM}.${+tm + 1}.0-0`;
791
- } else if (tpr) {
792
- to = `<=${tM}.${tm}.${tp}-${tpr}`;
793
- } else if (incPr) {
794
- to = `<${tM}.${tm}.${+tp + 1}-0`;
795
- } else {
796
- to = `<=${to}`;
797
- }
798
- return `${from} ${to}`.trim();
799
- }, "hyphenReplace");
800
- var testSet = /* @__PURE__ */ __name((set, version, options) => {
801
- for (let i = 0; i < set.length; i++) {
802
- if (!set[i].test(version)) {
803
- return false;
804
- }
805
- }
471
+ }, 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) => {
472
+ for (let i = 0; i < set.length; i++)
473
+ if (!set[i].test(version))
474
+ return !1;
806
475
  if (version.prerelease.length && !options.includePrerelease) {
807
- for (let i = 0; i < set.length; i++) {
808
- debug(set[i].semver);
809
- if (set[i].semver === Comparator.ANY) {
810
- continue;
476
+ for (let i = 0; i < set.length; i++)
477
+ if (debug(set[i].semver), set[i].semver !== Comparator.ANY && set[i].semver.prerelease.length > 0) {
478
+ let allowed = set[i].semver;
479
+ if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch)
480
+ return !0;
811
481
  }
812
- if (set[i].semver.prerelease.length > 0) {
813
- const allowed = set[i].semver;
814
- if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
815
- return true;
816
- }
817
- }
818
- }
819
- return false;
482
+ return !1;
820
483
  }
821
- return true;
822
- }, "testSet");
484
+ return !0;
485
+ };
823
486
  }
824
487
  });
825
488
 
@@ -827,115 +490,46 @@ var require_range = __commonJS({
827
490
  var require_comparator = __commonJS({
828
491
  "../../node_modules/semver/classes/comparator.js"(exports, module) {
829
492
  "use strict";
830
- var ANY = Symbol("SemVer ANY");
831
- var Comparator = class _Comparator {
832
- static {
833
- __name(this, "Comparator");
834
- }
493
+ var ANY = Symbol("SemVer ANY"), Comparator = class _Comparator {
835
494
  static get ANY() {
836
495
  return ANY;
837
496
  }
838
497
  constructor(comp, options) {
839
- options = parseOptions(options);
840
- if (comp instanceof _Comparator) {
841
- if (comp.loose === !!options.loose) {
498
+ if (options = parseOptions(options), comp instanceof _Comparator) {
499
+ if (comp.loose === !!options.loose)
842
500
  return comp;
843
- } else {
844
- comp = comp.value;
845
- }
501
+ comp = comp.value;
846
502
  }
847
- comp = comp.trim().split(/\s+/).join(" ");
848
- debug("comparator", comp, options);
849
- this.options = options;
850
- this.loose = !!options.loose;
851
- this.parse(comp);
852
- if (this.semver === ANY) {
853
- this.value = "";
854
- } else {
855
- this.value = this.operator + this.semver.version;
856
- }
857
- debug("comp", this);
503
+ 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);
858
504
  }
859
505
  parse(comp) {
860
- const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
861
- const m = comp.match(r);
862
- if (!m) {
506
+ let r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR], m = comp.match(r);
507
+ if (!m)
863
508
  throw new TypeError(`Invalid comparator: ${comp}`);
864
- }
865
- this.operator = m[1] !== void 0 ? m[1] : "";
866
- if (this.operator === "=") {
867
- this.operator = "";
868
- }
869
- if (!m[2]) {
870
- this.semver = ANY;
871
- } else {
872
- this.semver = new SemVer(m[2], this.options.loose);
873
- }
509
+ 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;
874
510
  }
875
511
  toString() {
876
512
  return this.value;
877
513
  }
878
514
  test(version) {
879
- debug("Comparator.test", version, this.options.loose);
880
- if (this.semver === ANY || version === ANY) {
881
- return true;
882
- }
883
- if (typeof version === "string") {
515
+ if (debug("Comparator.test", version, this.options.loose), this.semver === ANY || version === ANY)
516
+ return !0;
517
+ if (typeof version == "string")
884
518
  try {
885
519
  version = new SemVer(version, this.options);
886
- } catch (er) {
887
- return false;
520
+ } catch {
521
+ return !1;
888
522
  }
889
- }
890
523
  return cmp(version, this.operator, this.semver, this.options);
891
524
  }
892
525
  intersects(comp, options) {
893
- if (!(comp instanceof _Comparator)) {
526
+ if (!(comp instanceof _Comparator))
894
527
  throw new TypeError("a Comparator is required");
895
- }
896
- if (this.operator === "") {
897
- if (this.value === "") {
898
- return true;
899
- }
900
- return new Range(comp.value, options).test(this.value);
901
- } else if (comp.operator === "") {
902
- if (comp.value === "") {
903
- return true;
904
- }
905
- return new Range(this.value, options).test(comp.semver);
906
- }
907
- options = parseOptions(options);
908
- if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
909
- return false;
910
- }
911
- if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
912
- return false;
913
- }
914
- if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
915
- return true;
916
- }
917
- if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
918
- return true;
919
- }
920
- if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
921
- return true;
922
- }
923
- if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
924
- return true;
925
- }
926
- if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
927
- return true;
928
- }
929
- return false;
528
+ 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(">")));
930
529
  }
931
530
  };
932
531
  module.exports = Comparator;
933
- var parseOptions = require_parse_options();
934
- var { safeRe: re, t } = require_re();
935
- var cmp = require_cmp();
936
- var debug = require_debug();
937
- var SemVer = require_semver();
938
- var Range = require_range();
532
+ var parseOptions = require_parse_options(), { safeRe: re, t } = require_re(), cmp = require_cmp(), debug = require_debug(), SemVer = require_semver(), Range = require_range();
939
533
  }
940
534
  });
941
535
 
@@ -943,15 +537,14 @@ var require_comparator = __commonJS({
943
537
  var require_satisfies = __commonJS({
944
538
  "../../node_modules/semver/functions/satisfies.js"(exports, module) {
945
539
  "use strict";
946
- var Range = require_range();
947
- var satisfies2 = /* @__PURE__ */ __name((version, range, options) => {
540
+ var Range = require_range(), satisfies2 = (version, range, options) => {
948
541
  try {
949
542
  range = new Range(range, options);
950
- } catch (er) {
951
- return false;
543
+ } catch {
544
+ return !1;
952
545
  }
953
546
  return range.test(version);
954
- }, "satisfies");
547
+ };
955
548
  module.exports = satisfies2;
956
549
  }
957
550
  });
@@ -960,8 +553,7 @@ var require_satisfies = __commonJS({
960
553
  var require_to_comparators = __commonJS({
961
554
  "../../node_modules/semver/ranges/to-comparators.js"(exports, module) {
962
555
  "use strict";
963
- var Range = require_range();
964
- var toComparators = /* @__PURE__ */ __name((range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" ")), "toComparators");
556
+ var Range = require_range(), toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
965
557
  module.exports = toComparators;
966
558
  }
967
559
  });
@@ -970,27 +562,17 @@ var require_to_comparators = __commonJS({
970
562
  var require_max_satisfying = __commonJS({
971
563
  "../../node_modules/semver/ranges/max-satisfying.js"(exports, module) {
972
564
  "use strict";
973
- var SemVer = require_semver();
974
- var Range = require_range();
975
- var maxSatisfying = /* @__PURE__ */ __name((versions, range, options) => {
976
- let max = null;
977
- let maxSV = null;
978
- let rangeObj = null;
565
+ var SemVer = require_semver(), Range = require_range(), maxSatisfying = (versions, range, options) => {
566
+ let max = null, maxSV = null, rangeObj = null;
979
567
  try {
980
568
  rangeObj = new Range(range, options);
981
- } catch (er) {
569
+ } catch {
982
570
  return null;
983
571
  }
984
- versions.forEach((v) => {
985
- if (rangeObj.test(v)) {
986
- if (!max || maxSV.compare(v) === -1) {
987
- max = v;
988
- maxSV = new SemVer(max, options);
989
- }
990
- }
991
- });
992
- return max;
993
- }, "maxSatisfying");
572
+ return versions.forEach((v) => {
573
+ rangeObj.test(v) && (!max || maxSV.compare(v) === -1) && (max = v, maxSV = new SemVer(max, options));
574
+ }), max;
575
+ };
994
576
  module.exports = maxSatisfying;
995
577
  }
996
578
  });
@@ -999,27 +581,17 @@ var require_max_satisfying = __commonJS({
999
581
  var require_min_satisfying = __commonJS({
1000
582
  "../../node_modules/semver/ranges/min-satisfying.js"(exports, module) {
1001
583
  "use strict";
1002
- var SemVer = require_semver();
1003
- var Range = require_range();
1004
- var minSatisfying = /* @__PURE__ */ __name((versions, range, options) => {
1005
- let min = null;
1006
- let minSV = null;
1007
- let rangeObj = null;
584
+ var SemVer = require_semver(), Range = require_range(), minSatisfying = (versions, range, options) => {
585
+ let min = null, minSV = null, rangeObj = null;
1008
586
  try {
1009
587
  rangeObj = new Range(range, options);
1010
- } catch (er) {
588
+ } catch {
1011
589
  return null;
1012
590
  }
1013
- versions.forEach((v) => {
1014
- if (rangeObj.test(v)) {
1015
- if (!min || minSV.compare(v) === 1) {
1016
- min = v;
1017
- minSV = new SemVer(min, options);
1018
- }
1019
- }
1020
- });
1021
- return min;
1022
- }, "minSatisfying");
591
+ return versions.forEach((v) => {
592
+ rangeObj.test(v) && (!min || minSV.compare(v) === 1) && (min = v, minSV = new SemVer(min, options));
593
+ }), min;
594
+ };
1023
595
  module.exports = minSatisfying;
1024
596
  }
1025
597
  });
@@ -1028,39 +600,23 @@ var require_min_satisfying = __commonJS({
1028
600
  var require_min_version = __commonJS({
1029
601
  "../../node_modules/semver/ranges/min-version.js"(exports, module) {
1030
602
  "use strict";
1031
- var SemVer = require_semver();
1032
- var Range = require_range();
1033
- var gt = require_gt();
1034
- var minVersion = /* @__PURE__ */ __name((range, loose) => {
603
+ var SemVer = require_semver(), Range = require_range(), gt = require_gt(), minVersion = (range, loose) => {
1035
604
  range = new Range(range, loose);
1036
605
  let minver = new SemVer("0.0.0");
1037
- if (range.test(minver)) {
606
+ if (range.test(minver) || (minver = new SemVer("0.0.0-0"), range.test(minver)))
1038
607
  return minver;
1039
- }
1040
- minver = new SemVer("0.0.0-0");
1041
- if (range.test(minver)) {
1042
- return minver;
1043
- }
1044
608
  minver = null;
1045
609
  for (let i = 0; i < range.set.length; ++i) {
1046
- const comparators = range.set[i];
1047
- let setMin = null;
610
+ let comparators = range.set[i], setMin = null;
1048
611
  comparators.forEach((comparator) => {
1049
- const compver = new SemVer(comparator.semver.version);
612
+ let compver = new SemVer(comparator.semver.version);
1050
613
  switch (comparator.operator) {
1051
614
  case ">":
1052
- if (compver.prerelease.length === 0) {
1053
- compver.patch++;
1054
- } else {
1055
- compver.prerelease.push(0);
1056
- }
1057
- compver.raw = compver.format();
615
+ compver.prerelease.length === 0 ? compver.patch++ : compver.prerelease.push(0), compver.raw = compver.format();
1058
616
  /* fallthrough */
1059
617
  case "":
1060
618
  case ">=":
1061
- if (!setMin || gt(compver, setMin)) {
1062
- setMin = compver;
1063
- }
619
+ (!setMin || gt(compver, setMin)) && (setMin = compver);
1064
620
  break;
1065
621
  case "<":
1066
622
  case "<=":
@@ -1069,16 +625,10 @@ var require_min_version = __commonJS({
1069
625
  default:
1070
626
  throw new Error(`Unexpected operation: ${comparator.operator}`);
1071
627
  }
1072
- });
1073
- if (setMin && (!minver || gt(minver, setMin))) {
1074
- minver = setMin;
1075
- }
1076
- }
1077
- if (minver && range.test(minver)) {
1078
- return minver;
628
+ }), setMin && (!minver || gt(minver, setMin)) && (minver = setMin);
1079
629
  }
1080
- return null;
1081
- }, "minVersion");
630
+ return minver && range.test(minver) ? minver : null;
631
+ };
1082
632
  module.exports = minVersion;
1083
633
  }
1084
634
  });
@@ -1087,14 +637,13 @@ var require_min_version = __commonJS({
1087
637
  var require_valid2 = __commonJS({
1088
638
  "../../node_modules/semver/ranges/valid.js"(exports, module) {
1089
639
  "use strict";
1090
- var Range = require_range();
1091
- var validRange = /* @__PURE__ */ __name((range, options) => {
640
+ var Range = require_range(), validRange = (range, options) => {
1092
641
  try {
1093
642
  return new Range(range, options).range || "*";
1094
- } catch (er) {
643
+ } catch {
1095
644
  return null;
1096
645
  }
1097
- }, "validRange");
646
+ };
1098
647
  module.exports = validRange;
1099
648
  }
1100
649
  });
@@ -1103,67 +652,32 @@ var require_valid2 = __commonJS({
1103
652
  var require_outside = __commonJS({
1104
653
  "../../node_modules/semver/ranges/outside.js"(exports, module) {
1105
654
  "use strict";
1106
- var SemVer = require_semver();
1107
- var Comparator = require_comparator();
1108
- var { ANY } = Comparator;
1109
- var Range = require_range();
1110
- var satisfies2 = require_satisfies();
1111
- var gt = require_gt();
1112
- var lt = require_lt();
1113
- var lte = require_lte();
1114
- var gte = require_gte();
1115
- var outside = /* @__PURE__ */ __name((version, range, hilo, options) => {
1116
- version = new SemVer(version, options);
1117
- range = new Range(range, options);
655
+ 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) => {
656
+ version = new SemVer(version, options), range = new Range(range, options);
1118
657
  let gtfn, ltefn, ltfn, comp, ecomp;
1119
658
  switch (hilo) {
1120
659
  case ">":
1121
- gtfn = gt;
1122
- ltefn = lte;
1123
- ltfn = lt;
1124
- comp = ">";
1125
- ecomp = ">=";
660
+ gtfn = gt, ltefn = lte, ltfn = lt, comp = ">", ecomp = ">=";
1126
661
  break;
1127
662
  case "<":
1128
- gtfn = lt;
1129
- ltefn = gte;
1130
- ltfn = gt;
1131
- comp = "<";
1132
- ecomp = "<=";
663
+ gtfn = lt, ltefn = gte, ltfn = gt, comp = "<", ecomp = "<=";
1133
664
  break;
1134
665
  default:
1135
666
  throw new TypeError('Must provide a hilo val of "<" or ">"');
1136
667
  }
1137
- if (satisfies2(version, range, options)) {
1138
- return false;
1139
- }
668
+ if (satisfies2(version, range, options))
669
+ return !1;
1140
670
  for (let i = 0; i < range.set.length; ++i) {
1141
- const comparators = range.set[i];
1142
- let high = null;
1143
- let low = null;
1144
- comparators.forEach((comparator) => {
1145
- if (comparator.semver === ANY) {
1146
- comparator = new Comparator(">=0.0.0");
1147
- }
1148
- high = high || comparator;
1149
- low = low || comparator;
1150
- if (gtfn(comparator.semver, high.semver, options)) {
1151
- high = comparator;
1152
- } else if (ltfn(comparator.semver, low.semver, options)) {
1153
- low = comparator;
1154
- }
1155
- });
1156
- if (high.operator === comp || high.operator === ecomp) {
1157
- return false;
1158
- }
1159
- if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
1160
- return false;
1161
- } else if (low.operator === ecomp && ltfn(version, low.semver)) {
1162
- return false;
1163
- }
1164
- }
1165
- return true;
1166
- }, "outside");
671
+ let comparators = range.set[i], high = null, low = null;
672
+ if (comparators.forEach((comparator) => {
673
+ 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);
674
+ }), high.operator === comp || high.operator === ecomp || (!low.operator || low.operator === comp) && ltefn(version, low.semver))
675
+ return !1;
676
+ if (low.operator === ecomp && ltfn(version, low.semver))
677
+ return !1;
678
+ }
679
+ return !0;
680
+ };
1167
681
  module.exports = outside;
1168
682
  }
1169
683
  });
@@ -1172,8 +686,7 @@ var require_outside = __commonJS({
1172
686
  var require_gtr = __commonJS({
1173
687
  "../../node_modules/semver/ranges/gtr.js"(exports, module) {
1174
688
  "use strict";
1175
- var outside = require_outside();
1176
- var gtr = /* @__PURE__ */ __name((version, range, options) => outside(version, range, ">", options), "gtr");
689
+ var outside = require_outside(), gtr = (version, range, options) => outside(version, range, ">", options);
1177
690
  module.exports = gtr;
1178
691
  }
1179
692
  });
@@ -1182,8 +695,7 @@ var require_gtr = __commonJS({
1182
695
  var require_ltr = __commonJS({
1183
696
  "../../node_modules/semver/ranges/ltr.js"(exports, module) {
1184
697
  "use strict";
1185
- var outside = require_outside();
1186
- var ltr = /* @__PURE__ */ __name((version, range, options) => outside(version, range, "<", options), "ltr");
698
+ var outside = require_outside(), ltr = (version, range, options) => outside(version, range, "<", options);
1187
699
  module.exports = ltr;
1188
700
  }
1189
701
  });
@@ -1192,12 +704,7 @@ var require_ltr = __commonJS({
1192
704
  var require_intersects = __commonJS({
1193
705
  "../../node_modules/semver/ranges/intersects.js"(exports, module) {
1194
706
  "use strict";
1195
- var Range = require_range();
1196
- var intersects = /* @__PURE__ */ __name((r1, r2, options) => {
1197
- r1 = new Range(r1, options);
1198
- r2 = new Range(r2, options);
1199
- return r1.intersects(r2, options);
1200
- }, "intersects");
707
+ var Range = require_range(), intersects = (r1, r2, options) => (r1 = new Range(r1, options), r2 = new Range(r2, options), r1.intersects(r2, options));
1201
708
  module.exports = intersects;
1202
709
  }
1203
710
  });
@@ -1206,47 +713,16 @@ var require_intersects = __commonJS({
1206
713
  var require_simplify = __commonJS({
1207
714
  "../../node_modules/semver/ranges/simplify.js"(exports, module) {
1208
715
  "use strict";
1209
- var satisfies2 = require_satisfies();
1210
- var compare = require_compare();
716
+ var satisfies2 = require_satisfies(), compare = require_compare();
1211
717
  module.exports = (versions, range, options) => {
1212
- const set = [];
1213
- let first = null;
1214
- let prev = null;
1215
- const v = versions.sort((a, b) => compare(a, b, options));
1216
- for (const version of v) {
1217
- const included = satisfies2(version, range, options);
1218
- if (included) {
1219
- prev = version;
1220
- if (!first) {
1221
- first = version;
1222
- }
1223
- } else {
1224
- if (prev) {
1225
- set.push([first, prev]);
1226
- }
1227
- prev = null;
1228
- first = null;
1229
- }
1230
- }
1231
- if (first) {
1232
- set.push([first, null]);
1233
- }
1234
- const ranges = [];
1235
- for (const [min, max] of set) {
1236
- if (min === max) {
1237
- ranges.push(min);
1238
- } else if (!max && min === v[0]) {
1239
- ranges.push("*");
1240
- } else if (!max) {
1241
- ranges.push(`>=${min}`);
1242
- } else if (min === v[0]) {
1243
- ranges.push(`<=${max}`);
1244
- } else {
1245
- ranges.push(`${min} - ${max}`);
1246
- }
1247
- }
1248
- const simplified = ranges.join(" || ");
1249
- const original = typeof range.raw === "string" ? range.raw : String(range);
718
+ let set = [], first = null, prev = null, v = versions.sort((a, b) => compare(a, b, options));
719
+ for (let version of v)
720
+ satisfies2(version, range, options) ? (prev = version, first || (first = version)) : (prev && set.push([first, prev]), prev = null, first = null);
721
+ first && set.push([first, null]);
722
+ let ranges = [];
723
+ for (let [min, max] of set)
724
+ 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}`);
725
+ let simplified = ranges.join(" || "), original = typeof range.raw == "string" ? range.raw : String(range);
1250
726
  return simplified.length < original.length ? simplified : range;
1251
727
  };
1252
728
  }
@@ -1256,160 +732,86 @@ var require_simplify = __commonJS({
1256
732
  var require_subset = __commonJS({
1257
733
  "../../node_modules/semver/ranges/subset.js"(exports, module) {
1258
734
  "use strict";
1259
- var Range = require_range();
1260
- var Comparator = require_comparator();
1261
- var { ANY } = Comparator;
1262
- var satisfies2 = require_satisfies();
1263
- var compare = require_compare();
1264
- var subset = /* @__PURE__ */ __name((sub, dom, options = {}) => {
1265
- if (sub === dom) {
1266
- return true;
1267
- }
1268
- sub = new Range(sub, options);
1269
- dom = new Range(dom, options);
1270
- let sawNonNull = false;
1271
- OUTER: for (const simpleSub of sub.set) {
1272
- for (const simpleDom of dom.set) {
1273
- const isSub = simpleSubset(simpleSub, simpleDom, options);
1274
- sawNonNull = sawNonNull || isSub !== null;
1275
- if (isSub) {
735
+ var Range = require_range(), Comparator = require_comparator(), { ANY } = Comparator, satisfies2 = require_satisfies(), compare = require_compare(), subset = (sub, dom, options = {}) => {
736
+ if (sub === dom)
737
+ return !0;
738
+ sub = new Range(sub, options), dom = new Range(dom, options);
739
+ let sawNonNull = !1;
740
+ OUTER: for (let simpleSub of sub.set) {
741
+ for (let simpleDom of dom.set) {
742
+ let isSub = simpleSubset(simpleSub, simpleDom, options);
743
+ if (sawNonNull = sawNonNull || isSub !== null, isSub)
1276
744
  continue OUTER;
1277
- }
1278
- }
1279
- if (sawNonNull) {
1280
- return false;
1281
745
  }
746
+ if (sawNonNull)
747
+ return !1;
1282
748
  }
1283
- return true;
1284
- }, "subset");
1285
- var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
1286
- var minimumVersion = [new Comparator(">=0.0.0")];
1287
- var simpleSubset = /* @__PURE__ */ __name((sub, dom, options) => {
1288
- if (sub === dom) {
1289
- return true;
1290
- }
749
+ return !0;
750
+ }, minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")], minimumVersion = [new Comparator(">=0.0.0")], simpleSubset = (sub, dom, options) => {
751
+ if (sub === dom)
752
+ return !0;
1291
753
  if (sub.length === 1 && sub[0].semver === ANY) {
1292
- if (dom.length === 1 && dom[0].semver === ANY) {
1293
- return true;
1294
- } else if (options.includePrerelease) {
1295
- sub = minimumVersionWithPreRelease;
1296
- } else {
1297
- sub = minimumVersion;
1298
- }
754
+ if (dom.length === 1 && dom[0].semver === ANY)
755
+ return !0;
756
+ options.includePrerelease ? sub = minimumVersionWithPreRelease : sub = minimumVersion;
1299
757
  }
1300
758
  if (dom.length === 1 && dom[0].semver === ANY) {
1301
- if (options.includePrerelease) {
1302
- return true;
1303
- } else {
1304
- dom = minimumVersion;
1305
- }
1306
- }
1307
- const eqSet = /* @__PURE__ */ new Set();
1308
- let gt, lt;
1309
- for (const c of sub) {
1310
- if (c.operator === ">" || c.operator === ">=") {
1311
- gt = higherGT(gt, c, options);
1312
- } else if (c.operator === "<" || c.operator === "<=") {
1313
- lt = lowerLT(lt, c, options);
1314
- } else {
1315
- eqSet.add(c.semver);
1316
- }
1317
- }
1318
- if (eqSet.size > 1) {
759
+ if (options.includePrerelease)
760
+ return !0;
761
+ dom = minimumVersion;
762
+ }
763
+ let eqSet = /* @__PURE__ */ new Set(), gt, lt;
764
+ for (let c of sub)
765
+ c.operator === ">" || c.operator === ">=" ? gt = higherGT(gt, c, options) : c.operator === "<" || c.operator === "<=" ? lt = lowerLT(lt, c, options) : eqSet.add(c.semver);
766
+ if (eqSet.size > 1)
1319
767
  return null;
1320
- }
1321
768
  let gtltComp;
1322
769
  if (gt && lt) {
1323
- gtltComp = compare(gt.semver, lt.semver, options);
1324
- if (gtltComp > 0) {
770
+ if (gtltComp = compare(gt.semver, lt.semver, options), gtltComp > 0)
1325
771
  return null;
1326
- } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
772
+ if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<="))
1327
773
  return null;
1328
- }
1329
774
  }
1330
- for (const eq of eqSet) {
1331
- if (gt && !satisfies2(eq, String(gt), options)) {
775
+ for (let eq of eqSet) {
776
+ if (gt && !satisfies2(eq, String(gt), options) || lt && !satisfies2(eq, String(lt), options))
1332
777
  return null;
1333
- }
1334
- if (lt && !satisfies2(eq, String(lt), options)) {
1335
- return null;
1336
- }
1337
- for (const c of dom) {
1338
- if (!satisfies2(eq, String(c), options)) {
1339
- return false;
1340
- }
1341
- }
1342
- return true;
1343
- }
1344
- let higher, lower;
1345
- let hasDomLT, hasDomGT;
1346
- let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
1347
- let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
1348
- if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
1349
- needDomLTPre = false;
1350
- }
1351
- for (const c of dom) {
1352
- hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
1353
- hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
1354
- if (gt) {
1355
- if (needDomGTPre) {
1356
- if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
1357
- needDomGTPre = false;
1358
- }
1359
- }
1360
- if (c.operator === ">" || c.operator === ">=") {
1361
- higher = higherGT(gt, c, options);
1362
- if (higher === c && higher !== gt) {
1363
- return false;
1364
- }
1365
- } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options)) {
1366
- return false;
1367
- }
778
+ for (let c of dom)
779
+ if (!satisfies2(eq, String(c), options))
780
+ return !1;
781
+ return !0;
782
+ }
783
+ 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;
784
+ needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0 && (needDomLTPre = !1);
785
+ for (let c of dom) {
786
+ if (hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=", hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=", gt) {
787
+ 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 === ">=") {
788
+ if (higher = higherGT(gt, c, options), higher === c && higher !== gt)
789
+ return !1;
790
+ } else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options))
791
+ return !1;
1368
792
  }
1369
793
  if (lt) {
1370
- if (needDomLTPre) {
1371
- if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
1372
- needDomLTPre = false;
1373
- }
1374
- }
1375
- if (c.operator === "<" || c.operator === "<=") {
1376
- lower = lowerLT(lt, c, options);
1377
- if (lower === c && lower !== lt) {
1378
- return false;
1379
- }
1380
- } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options)) {
1381
- return false;
1382
- }
1383
- }
1384
- if (!c.operator && (lt || gt) && gtltComp !== 0) {
1385
- return false;
1386
- }
1387
- }
1388
- if (gt && hasDomLT && !lt && gtltComp !== 0) {
1389
- return false;
1390
- }
1391
- if (lt && hasDomGT && !gt && gtltComp !== 0) {
1392
- return false;
1393
- }
1394
- if (needDomGTPre || needDomLTPre) {
1395
- return false;
1396
- }
1397
- return true;
1398
- }, "simpleSubset");
1399
- var higherGT = /* @__PURE__ */ __name((a, b, options) => {
1400
- if (!a) {
794
+ 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 === "<=") {
795
+ if (lower = lowerLT(lt, c, options), lower === c && lower !== lt)
796
+ return !1;
797
+ } else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options))
798
+ return !1;
799
+ }
800
+ if (!c.operator && (lt || gt) && gtltComp !== 0)
801
+ return !1;
802
+ }
803
+ return !(gt && hasDomLT && !lt && gtltComp !== 0 || lt && hasDomGT && !gt && gtltComp !== 0 || needDomGTPre || needDomLTPre);
804
+ }, higherGT = (a, b, options) => {
805
+ if (!a)
1401
806
  return b;
1402
- }
1403
- const comp = compare(a.semver, b.semver, options);
1404
- return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
1405
- }, "higherGT");
1406
- var lowerLT = /* @__PURE__ */ __name((a, b, options) => {
1407
- if (!a) {
807
+ let comp = compare(a.semver, b.semver, options);
808
+ return comp > 0 ? a : comp < 0 || b.operator === ">" && a.operator === ">=" ? b : a;
809
+ }, lowerLT = (a, b, options) => {
810
+ if (!a)
1408
811
  return b;
1409
- }
1410
- const comp = compare(a.semver, b.semver, options);
1411
- return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
1412
- }, "lowerLT");
812
+ let comp = compare(a.semver, b.semver, options);
813
+ return comp < 0 ? a : comp > 0 || b.operator === "<" && a.operator === "<=" ? b : a;
814
+ };
1413
815
  module.exports = subset;
1414
816
  }
1415
817
  });
@@ -1418,47 +820,7 @@ var require_subset = __commonJS({
1418
820
  var require_semver2 = __commonJS({
1419
821
  "../../node_modules/semver/index.js"(exports, module) {
1420
822
  "use strict";
1421
- var internalRe = require_re();
1422
- var constants = require_constants();
1423
- var SemVer = require_semver();
1424
- var identifiers = require_identifiers();
1425
- var parse = require_parse();
1426
- var valid = require_valid();
1427
- var clean = require_clean();
1428
- var inc = require_inc();
1429
- var diff = require_diff();
1430
- var major = require_major();
1431
- var minor = require_minor();
1432
- var patch = require_patch();
1433
- var prerelease = require_prerelease();
1434
- var compare = require_compare();
1435
- var rcompare = require_rcompare();
1436
- var compareLoose = require_compare_loose();
1437
- var compareBuild = require_compare_build();
1438
- var sort = require_sort();
1439
- var rsort = require_rsort();
1440
- var gt = require_gt();
1441
- var lt = require_lt();
1442
- var eq = require_eq();
1443
- var neq = require_neq();
1444
- var gte = require_gte();
1445
- var lte = require_lte();
1446
- var cmp = require_cmp();
1447
- var coerce2 = require_coerce();
1448
- var Comparator = require_comparator();
1449
- var Range = require_range();
1450
- var satisfies2 = require_satisfies();
1451
- var toComparators = require_to_comparators();
1452
- var maxSatisfying = require_max_satisfying();
1453
- var minSatisfying = require_min_satisfying();
1454
- var minVersion = require_min_version();
1455
- var validRange = require_valid2();
1456
- var outside = require_outside();
1457
- var gtr = require_gtr();
1458
- var ltr = require_ltr();
1459
- var intersects = require_intersects();
1460
- var simplifyRange = require_simplify();
1461
- var subset = require_subset();
823
+ var internalRe = require_re(), constants = require_constants(), SemVer = require_semver(), identifiers = require_identifiers(), parse = require_parse(), 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();
1462
824
  module.exports = {
1463
825
  parse,
1464
826
  valid,
@@ -1534,7 +896,6 @@ import { logger as logger2 } from "storybook/internal/node-logger";
1534
896
  function up2(options) {
1535
897
  return up("package.json", options);
1536
898
  }
1537
- __name(up2, "up");
1538
899
 
1539
900
  // src/postinstall.ts
1540
901
  var import_semver = __toESM(require_semver2(), 1);
@@ -1544,89 +905,49 @@ import { dedent } from "ts-dedent";
1544
905
  // src/postinstall-logger.ts
1545
906
  import { isCI } from "storybook/internal/common";
1546
907
  import { colors, logger } from "storybook/internal/node-logger";
1547
- var fancy = process.platform !== "win32" || isCI() || process.env.TERM === "xterm-256color";
1548
- var step = colors.gray("\u203A");
1549
- var info = colors.blue(fancy ? "\u2139" : "i");
1550
- var success = colors.green(fancy ? "\u2714" : "\u221A");
1551
- var warning = colors.orange(fancy ? "\u26A0" : "\u203C");
1552
- var error = colors.red(fancy ? "\u2716" : "\xD7");
1553
- var baseOptions = {
908
+ var fancy = process.platform !== "win32" || isCI() || process.env.TERM === "xterm-256color", step = colors.gray("\u203A"), info = colors.blue(fancy ? "\u2139" : "i"), success = colors.green(fancy ? "\u2714" : "\u221A"), warning = colors.orange(fancy ? "\u26A0" : "\u203C"), error = colors.red(fancy ? "\u2716" : "\xD7"), baseOptions = {
1554
909
  borderStyle: "round",
1555
910
  padding: 1
1556
- };
1557
- var print = /* @__PURE__ */ __name((message, options) => {
1558
- logger.line(1);
1559
- logger.logBox(message, { ...baseOptions, ...options });
1560
- }, "print");
1561
- var printInfo = /* @__PURE__ */ __name((title, message, options) => print(message, { borderColor: "blue", title, ...options }), "printInfo");
1562
- var printWarning = /* @__PURE__ */ __name((title, message, options) => print(message, { borderColor: "yellow", title, ...options }), "printWarning");
1563
- var printError = /* @__PURE__ */ __name((title, message, options) => print(message, { borderColor: "red", title, ...options }), "printError");
1564
- var printSuccess = /* @__PURE__ */ __name((title, message, options) => print(message, { borderColor: "green", title, ...options }), "printSuccess");
911
+ }, print = (message, options) => {
912
+ logger.line(1), logger.logBox(message, { ...baseOptions, ...options });
913
+ }, 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 });
1565
914
 
1566
915
  // src/updateVitestFile.ts
1567
916
  import * as fs from "node:fs/promises";
1568
- var loadTemplate = /* @__PURE__ */ __name(async (name, replacements) => {
917
+ var loadTemplate = async (name, replacements) => {
1569
918
  let template = await fs.readFile(
1570
919
  join(resolvePackageDir("@storybook/addon-vitest"), "templates", name),
1571
920
  "utf8"
1572
921
  );
1573
- Object.entries(replacements).forEach(([key, value]) => template = template.replace(key, value));
1574
- return template;
1575
- }, "loadTemplate");
1576
- var mergeProperties = /* @__PURE__ */ __name((source, target) => {
1577
- for (const sourceProp of source) {
922
+ return Object.entries(replacements).forEach(([key, value]) => template = template.replace(key, value)), template;
923
+ }, mergeProperties = (source, target) => {
924
+ for (let sourceProp of source)
1578
925
  if (sourceProp.type === "ObjectProperty") {
1579
- const targetProp = target.find(
926
+ let targetProp = target.find(
1580
927
  (p) => sourceProp.key.type === "Identifier" && p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === sourceProp.key.name
1581
928
  );
1582
- if (targetProp && targetProp.type === "ObjectProperty") {
1583
- if (sourceProp.value.type === "ObjectExpression" && targetProp.value.type === "ObjectExpression") {
1584
- mergeProperties(sourceProp.value.properties, targetProp.value.properties);
1585
- } else if (sourceProp.value.type === "ArrayExpression" && targetProp.value.type === "ArrayExpression") {
1586
- targetProp.value.elements.push(...sourceProp.value.elements);
1587
- } else {
1588
- targetProp.value = sourceProp.value;
1589
- }
1590
- } else {
1591
- target.push(sourceProp);
1592
- }
929
+ 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);
1593
930
  }
1594
- }
1595
- }, "mergeProperties");
1596
- var updateConfigFile = /* @__PURE__ */ __name((source, target) => {
1597
- let updated = false;
1598
- const sourceExportDefault = source.program.body.find(
931
+ }, updateConfigFile = (source, target) => {
932
+ let updated = !1, sourceExportDefault = source.program.body.find(
1599
933
  (n) => n.type === "ExportDefaultDeclaration"
1600
934
  );
1601
- if (!sourceExportDefault || sourceExportDefault.declaration.type !== "CallExpression") {
1602
- return false;
1603
- }
1604
- const targetExportDefault = target.program.body.find(
935
+ if (!sourceExportDefault || sourceExportDefault.declaration.type !== "CallExpression")
936
+ return !1;
937
+ let targetExportDefault = target.program.body.find(
1605
938
  (n) => n.type === "ExportDefaultDeclaration"
1606
939
  );
1607
- if (!targetExportDefault) {
1608
- return false;
1609
- }
1610
- if (targetExportDefault.declaration.type === "CallExpression" && targetExportDefault.declaration.callee.type === "Identifier" && targetExportDefault.declaration.callee.name === "defineConfig" && targetExportDefault.declaration.arguments.length > 0 && targetExportDefault.declaration.arguments[0].type === "ArrowFunctionExpression") {
1611
- return false;
1612
- }
1613
- let canHandleConfig = false;
1614
- if (targetExportDefault.declaration.type === "ObjectExpression") {
1615
- canHandleConfig = true;
1616
- } else if (targetExportDefault.declaration.type === "CallExpression" && targetExportDefault.declaration.callee.type === "Identifier" && targetExportDefault.declaration.callee.name === "defineConfig" && targetExportDefault.declaration.arguments[0]?.type === "ObjectExpression") {
1617
- canHandleConfig = true;
1618
- } else if (targetExportDefault.declaration.type === "CallExpression" && targetExportDefault.declaration.callee.type === "Identifier" && targetExportDefault.declaration.callee.name === "mergeConfig" && targetExportDefault.declaration.arguments.length >= 2) {
1619
- canHandleConfig = true;
1620
- }
1621
- if (!canHandleConfig) {
1622
- return false;
1623
- }
1624
- for (const sourceNode of source.program.body) {
940
+ if (!targetExportDefault || targetExportDefault.declaration.type === "CallExpression" && targetExportDefault.declaration.callee.type === "Identifier" && targetExportDefault.declaration.callee.name === "defineConfig" && targetExportDefault.declaration.arguments.length > 0 && targetExportDefault.declaration.arguments[0].type === "ArrowFunctionExpression")
941
+ return !1;
942
+ let canHandleConfig = !1;
943
+ if ((targetExportDefault.declaration.type === "ObjectExpression" || targetExportDefault.declaration.type === "CallExpression" && targetExportDefault.declaration.callee.type === "Identifier" && targetExportDefault.declaration.callee.name === "defineConfig" && targetExportDefault.declaration.arguments[0]?.type === "ObjectExpression" || targetExportDefault.declaration.type === "CallExpression" && targetExportDefault.declaration.callee.type === "Identifier" && targetExportDefault.declaration.callee.name === "mergeConfig" && targetExportDefault.declaration.arguments.length >= 2) && (canHandleConfig = !0), !canHandleConfig)
944
+ return !1;
945
+ for (let sourceNode of source.program.body)
1625
946
  if (sourceNode.type === "ImportDeclaration") {
1626
947
  if (!target.program.body.some(
1627
948
  (targetNode) => targetNode.type === sourceNode.type && targetNode.specifiers.some((s) => s.local.name === sourceNode.specifiers[0].local.name)
1628
949
  )) {
1629
- const lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
950
+ let lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
1630
951
  target.program.body.splice(lastImport + 1, 0, sourceNode);
1631
952
  }
1632
953
  } else if (sourceNode.type === "VariableDeclaration") {
@@ -1635,110 +956,88 @@ var updateConfigFile = /* @__PURE__ */ __name((source, target) => {
1635
956
  (d) => "name" in d.id && "name" in sourceNode.declarations[0].id && d.id.name === sourceNode.declarations[0].id.name
1636
957
  )
1637
958
  )) {
1638
- const lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
959
+ let lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
1639
960
  target.program.body.splice(lastImport + 1, 0, sourceNode);
1640
961
  }
1641
962
  } else if (sourceNode.type === "ExportDefaultDeclaration") {
1642
- const exportDefault = target.program.body.find((n) => n.type === "ExportDefaultDeclaration");
963
+ let exportDefault = target.program.body.find((n) => n.type === "ExportDefaultDeclaration");
1643
964
  if (exportDefault && sourceNode.declaration.type === "CallExpression" && sourceNode.declaration.arguments.length > 0 && sourceNode.declaration.arguments[0].type === "ObjectExpression") {
1644
- const { properties } = sourceNode.declaration.arguments[0];
1645
- if (exportDefault.declaration.type === "ObjectExpression") {
1646
- mergeProperties(properties, exportDefault.declaration.properties);
1647
- updated = true;
1648
- } else if (exportDefault.declaration.type === "CallExpression" && exportDefault.declaration.callee.type === "Identifier" && exportDefault.declaration.callee.name === "defineConfig" && exportDefault.declaration.arguments[0]?.type === "ObjectExpression") {
1649
- mergeProperties(properties, exportDefault.declaration.arguments[0].properties);
1650
- updated = true;
1651
- } else if (exportDefault.declaration.type === "CallExpression" && exportDefault.declaration.callee.type === "Identifier" && exportDefault.declaration.callee.name === "mergeConfig" && exportDefault.declaration.arguments.length >= 2) {
1652
- const configObjectNodes = [];
1653
- for (const arg of exportDefault.declaration.arguments) {
1654
- if (arg?.type === "CallExpression" && arg.callee.type === "Identifier" && arg.callee.name === "defineConfig" && arg.arguments[0]?.type === "ObjectExpression") {
1655
- configObjectNodes.push(arg.arguments[0]);
1656
- } else if (arg?.type === "ObjectExpression") {
1657
- configObjectNodes.push(arg);
1658
- }
1659
- }
1660
- const configObjectWithTest = configObjectNodes.find(
965
+ let { properties } = sourceNode.declaration.arguments[0];
966
+ if (exportDefault.declaration.type === "ObjectExpression")
967
+ mergeProperties(properties, exportDefault.declaration.properties), updated = !0;
968
+ else if (exportDefault.declaration.type === "CallExpression" && exportDefault.declaration.callee.type === "Identifier" && exportDefault.declaration.callee.name === "defineConfig" && exportDefault.declaration.arguments[0]?.type === "ObjectExpression")
969
+ mergeProperties(properties, exportDefault.declaration.arguments[0].properties), updated = !0;
970
+ else if (exportDefault.declaration.type === "CallExpression" && exportDefault.declaration.callee.type === "Identifier" && exportDefault.declaration.callee.name === "mergeConfig" && exportDefault.declaration.arguments.length >= 2) {
971
+ let configObjectNodes = [];
972
+ for (let arg of exportDefault.declaration.arguments)
973
+ arg?.type === "CallExpression" && arg.callee.type === "Identifier" && arg.callee.name === "defineConfig" && arg.arguments[0]?.type === "ObjectExpression" ? configObjectNodes.push(arg.arguments[0]) : arg?.type === "ObjectExpression" && configObjectNodes.push(arg);
974
+ let targetConfigObject = configObjectNodes.find(
1661
975
  (obj) => obj.properties.some(
1662
976
  (p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "test"
1663
977
  )
1664
- );
1665
- const targetConfigObject = configObjectWithTest || configObjectNodes[0];
1666
- if (!targetConfigObject) {
1667
- return false;
1668
- }
1669
- const existingTestProp = targetConfigObject.properties.find(
978
+ ) || configObjectNodes[0];
979
+ if (!targetConfigObject)
980
+ return !1;
981
+ let existingTestProp = targetConfigObject.properties.find(
1670
982
  (p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "test"
1671
983
  );
1672
984
  if (existingTestProp && existingTestProp.value.type === "ObjectExpression") {
1673
- const templateTestProp = properties.find(
985
+ let templateTestProp = properties.find(
1674
986
  (p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "test"
1675
987
  );
1676
988
  if (templateTestProp && templateTestProp.value.type === "ObjectExpression") {
1677
- const workspaceOrProjectsProp = templateTestProp.value.properties.find(
989
+ let workspaceOrProjectsProp = templateTestProp.value.properties.find(
1678
990
  (p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && (p.key.name === "workspace" || p.key.name === "projects")
1679
991
  );
1680
992
  if (workspaceOrProjectsProp && workspaceOrProjectsProp.value.type === "ArrayExpression") {
1681
- const coverageProp = existingTestProp.value.properties.find(
993
+ let coverageProp = existingTestProp.value.properties.find(
1682
994
  (p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "coverage"
1683
- );
1684
- const testPropsWithoutCoverage = existingTestProp.value.properties.filter(
1685
- (p) => p !== coverageProp
1686
- );
1687
- const testConfigForProject = {
995
+ ), testConfigForProject = {
1688
996
  type: "ObjectExpression",
1689
- properties: testPropsWithoutCoverage
1690
- };
1691
- const existingTestProject = {
997
+ properties: existingTestProp.value.properties.filter(
998
+ (p) => p !== coverageProp
999
+ )
1000
+ }, existingTestProject = {
1692
1001
  type: "ObjectExpression",
1693
1002
  properties: [
1694
1003
  {
1695
1004
  type: "ObjectProperty",
1696
1005
  key: { type: "Identifier", name: "extends" },
1697
- value: { type: "BooleanLiteral", value: true },
1698
- computed: false,
1699
- shorthand: false
1006
+ value: { type: "BooleanLiteral", value: !0 },
1007
+ computed: !1,
1008
+ shorthand: !1
1700
1009
  },
1701
1010
  {
1702
1011
  type: "ObjectProperty",
1703
1012
  key: { type: "Identifier", name: "test" },
1704
1013
  value: testConfigForProject,
1705
- computed: false,
1706
- shorthand: false
1014
+ computed: !1,
1015
+ shorthand: !1
1707
1016
  }
1708
1017
  ]
1709
1018
  };
1710
- workspaceOrProjectsProp.value.elements.unshift(existingTestProject);
1711
- targetConfigObject.properties = targetConfigObject.properties.filter(
1019
+ workspaceOrProjectsProp.value.elements.unshift(existingTestProject), targetConfigObject.properties = targetConfigObject.properties.filter(
1712
1020
  (p) => p !== existingTestProp
1713
- );
1714
- if (coverageProp && templateTestProp.value.type === "ObjectExpression") {
1715
- templateTestProp.value.properties.unshift(coverageProp);
1716
- }
1717
- mergeProperties(properties, targetConfigObject.properties);
1718
- } else {
1021
+ ), coverageProp && templateTestProp.value.type === "ObjectExpression" && templateTestProp.value.properties.unshift(coverageProp), mergeProperties(properties, targetConfigObject.properties);
1022
+ } else
1719
1023
  mergeProperties(properties, targetConfigObject.properties);
1720
- }
1721
- } else {
1024
+ } else
1722
1025
  mergeProperties(properties, targetConfigObject.properties);
1723
- }
1724
- } else {
1026
+ } else
1725
1027
  mergeProperties(properties, targetConfigObject.properties);
1726
- }
1727
- updated = true;
1028
+ updated = !0;
1728
1029
  }
1729
1030
  }
1730
1031
  }
1731
- }
1732
1032
  return updated;
1733
- }, "updateConfigFile");
1734
- var updateWorkspaceFile = /* @__PURE__ */ __name((source, target) => {
1735
- let updated = false;
1736
- for (const sourceNode of source.program.body) {
1033
+ }, updateWorkspaceFile = (source, target) => {
1034
+ let updated = !1;
1035
+ for (let sourceNode of source.program.body)
1737
1036
  if (sourceNode.type === "ImportDeclaration") {
1738
1037
  if (!target.program.body.some(
1739
1038
  (targetNode) => targetNode.type === sourceNode.type && targetNode.source.value === sourceNode.source.value && targetNode.specifiers.some((s) => s.local.name === sourceNode.specifiers[0].local.name)
1740
1039
  )) {
1741
- const lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
1040
+ let lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
1742
1041
  target.program.body.splice(lastImport + 1, 0, sourceNode);
1743
1042
  }
1744
1043
  } else if (sourceNode.type === "VariableDeclaration") {
@@ -1747,52 +1046,30 @@ var updateWorkspaceFile = /* @__PURE__ */ __name((source, target) => {
1747
1046
  (d) => "name" in d.id && "name" in sourceNode.declarations[0].id && d.id.name === sourceNode.declarations[0].id.name
1748
1047
  )
1749
1048
  )) {
1750
- const lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
1049
+ let lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
1751
1050
  target.program.body.splice(lastImport + 1, 0, sourceNode);
1752
1051
  }
1753
1052
  } else if (sourceNode.type === "ExportDefaultDeclaration") {
1754
- const exportDefault = target.program.body.find((n) => n.type === "ExportDefaultDeclaration");
1053
+ let exportDefault = target.program.body.find((n) => n.type === "ExportDefaultDeclaration");
1755
1054
  if (exportDefault && sourceNode.declaration.type === "CallExpression" && sourceNode.declaration.arguments.length > 0 && sourceNode.declaration.arguments[0].type === "ArrayExpression" && sourceNode.declaration.arguments[0].elements.length > 0) {
1756
- const { elements } = sourceNode.declaration.arguments[0];
1757
- if (exportDefault.declaration.type === "ArrayExpression") {
1758
- exportDefault.declaration.elements.push(...elements);
1759
- updated = true;
1760
- } else if (exportDefault.declaration.type === "CallExpression" && exportDefault.declaration.callee.type === "Identifier" && exportDefault.declaration.callee.name === "defineWorkspace" && exportDefault.declaration.arguments[0]?.type === "ArrayExpression") {
1761
- exportDefault.declaration.arguments[0].elements.push(...elements);
1762
- updated = true;
1763
- }
1055
+ let { elements } = sourceNode.declaration.arguments[0];
1056
+ 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);
1764
1057
  }
1765
1058
  }
1766
- }
1767
1059
  return updated;
1768
- }, "updateWorkspaceFile");
1060
+ };
1769
1061
 
1770
1062
  // src/postinstall.ts
1771
- var ADDON_NAME = "@storybook/addon-vitest";
1772
- var EXTENSIONS = [".ts", ".tsx", ".js", ".jsx", ".cts", ".mts", ".cjs", ".mjs"];
1773
- var addonA11yName = "@storybook/addon-a11y";
1774
- var hasErrors = false;
1063
+ var ADDON_NAME = "@storybook/addon-vitest", EXTENSIONS = [".ts", ".tsx", ".js", ".jsx", ".cts", ".mts", ".cjs", ".mjs"], addonA11yName = "@storybook/addon-a11y", hasErrors = !1;
1775
1064
  function nameMatches(name, pattern) {
1776
- if (name === pattern) {
1777
- return true;
1778
- }
1779
- if (name.includes(`${pattern}${sep}`)) {
1780
- return true;
1781
- }
1782
- if (name.includes(`${pattern}${posix.sep}`)) {
1783
- return true;
1784
- }
1785
- return false;
1065
+ return !!(name === pattern || name.includes(`${pattern}${sep}`) || name.includes(`${pattern}${posix.sep}`));
1786
1066
  }
1787
- __name(nameMatches, "nameMatches");
1788
- var logErrors = /* @__PURE__ */ __name((...args) => {
1789
- hasErrors = true;
1790
- printError(...args);
1791
- }, "logErrors");
1792
- var findFile = /* @__PURE__ */ __name((basename, extensions = EXTENSIONS) => any(
1067
+ var logErrors = (...args) => {
1068
+ hasErrors = !0, printError(...args);
1069
+ }, findFile = (basename, extensions = EXTENSIONS) => any(
1793
1070
  extensions.map((ext) => basename + ext),
1794
1071
  { last: getProjectRoot() }
1795
- ), "findFile");
1072
+ );
1796
1073
  async function postInstall(options) {
1797
1074
  printSuccess(
1798
1075
  "\u{1F44B} Howdy!",
@@ -1802,139 +1079,80 @@ async function postInstall(options) {
1802
1079
  Hold on for a moment while I look at your project and get it set up...
1803
1080
  `
1804
1081
  );
1805
- const packageManager = JsPackageManagerFactory.getPackageManager({
1082
+ let packageManager = JsPackageManagerFactory.getPackageManager({
1806
1083
  force: options.packageManager
1807
- });
1808
- const vitestVersionSpecifier = await packageManager.getInstalledVersion("vitest");
1809
- const coercedVitestVersion = vitestVersionSpecifier ? (0, import_semver.coerce)(vitestVersionSpecifier) : null;
1810
- const isVitest3_2To4 = vitestVersionSpecifier ? (0, import_semver.satisfies)(vitestVersionSpecifier, ">=3.2.0 <4.0.0") : false;
1811
- const isVitest4OrNewer = vitestVersionSpecifier ? (0, import_semver.satisfies)(vitestVersionSpecifier, ">=4.0.0") : true;
1812
- const info2 = await getStorybookInfo(options);
1813
- const allDeps = packageManager.getAllDependencies();
1814
- const dependencies = [
1084
+ }), vitestVersionSpecifier = await packageManager.getInstalledVersion("vitest"), coercedVitestVersion = vitestVersionSpecifier ? (0, import_semver.coerce)(vitestVersionSpecifier) : null, isVitest3_2To4 = vitestVersionSpecifier ? (0, import_semver.satisfies)(vitestVersionSpecifier, ">=3.2.0 <4.0.0") : !1, isVitest4OrNewer = vitestVersionSpecifier ? (0, import_semver.satisfies)(vitestVersionSpecifier, ">=4.0.0") : !0, info2 = await getStorybookInfo(options), allDeps = packageManager.getAllDependencies(), uniqueDependencies = [
1815
1085
  "vitest",
1816
1086
  "playwright",
1817
1087
  isVitest4OrNewer ? "@vitest/browser-playwright" : "@vitest/browser"
1818
- ];
1819
- const uniqueDependencies = dependencies.filter((p) => !allDeps[p]);
1820
- const mainJsPath = getInterpretedFile(resolve(options.configDir, "main"));
1821
- const config = await readConfig(mainJsPath);
1822
- const hasCustomWebpackConfig = !!config.getFieldNode(["webpackFinal"]);
1823
- const isInteractive = process.stdout.isTTY && !isCI2();
1824
- if (nameMatches(info2.frameworkPackageName, "@storybook/nextjs") && !hasCustomWebpackConfig) {
1825
- const out = options.yes || !isInteractive ? { migrateToNextjsVite: !!options.yes } : await prompts({
1826
- type: "confirm",
1827
- name: "migrateToNextjsVite",
1828
- message: dedent`
1088
+ ].filter((p) => !allDeps[p]), mainJsPath = getInterpretedFile(resolve(options.configDir, "main")), config = await readConfig(mainJsPath), hasCustomWebpackConfig = !!config.getFieldNode(["webpackFinal"]), isInteractive = process.stdout.isTTY && !isCI2();
1089
+ nameMatches(info2.frameworkPackageName, "@storybook/nextjs") && !hasCustomWebpackConfig && (options.yes || !isInteractive ? { migrateToNextjsVite: !!options.yes } : await prompts({
1090
+ type: "confirm",
1091
+ name: "migrateToNextjsVite",
1092
+ message: dedent`
1829
1093
  The addon requires the use of @storybook/nextjs-vite to work with Next.js.
1830
1094
  https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#install-and-set-up
1831
1095
 
1832
1096
  Do you want to migrate?
1833
1097
  `,
1834
- initial: true
1835
- });
1836
- if (out.migrateToNextjsVite) {
1837
- await packageManager.addDependencies({ type: "devDependencies", skipInstall: true }, [
1838
- "@storybook/nextjs-vite"
1839
- ]);
1840
- await packageManager.removeDependencies(["@storybook/nextjs"]);
1841
- traverse(config._ast, {
1842
- StringLiteral(path) {
1843
- if (path.node.value === "@storybook/nextjs") {
1844
- path.node.value = "@storybook/nextjs-vite";
1845
- }
1846
- }
1847
- });
1848
- await writeConfig(config, mainJsPath);
1849
- info2.frameworkPackageName = "@storybook/nextjs-vite";
1850
- info2.builderPackageName = "@storybook/builder-vite";
1851
- await scanAndTransformFiles({
1852
- promptMessage: "Enter a glob to scan for all @storybook/nextjs imports to substitute with @storybook/nextjs-vite:",
1853
- force: options.yes,
1854
- dryRun: false,
1855
- transformFn: /* @__PURE__ */ __name((files, options2, dryRun) => transformImportFiles(files, options2, dryRun), "transformFn"),
1856
- transformOptions: {
1857
- "@storybook/nextjs": "@storybook/nextjs-vite"
1858
- }
1859
- });
1098
+ initial: !0
1099
+ })).migrateToNextjsVite && (await packageManager.addDependencies({ type: "devDependencies", skipInstall: !0 }, [
1100
+ "@storybook/nextjs-vite"
1101
+ ]), await packageManager.removeDependencies(["@storybook/nextjs"]), traverse(config._ast, {
1102
+ StringLiteral(path) {
1103
+ path.node.value === "@storybook/nextjs" && (path.node.value = "@storybook/nextjs-vite");
1860
1104
  }
1861
- }
1862
- const annotationsImport = SUPPORTED_FRAMEWORKS.find(
1863
- (f) => nameMatches(info2.frameworkPackageName, f)
1864
- ) ? info2.frameworkPackageName === "@storybook/nextjs" ? "@storybook/nextjs-vite" : info2.frameworkPackageName : null;
1865
- const isRendererSupported = !!annotationsImport;
1866
- const prerequisiteCheck = /* @__PURE__ */ __name(async () => {
1867
- const reasons = [];
1868
- if (hasCustomWebpackConfig) {
1869
- reasons.push("\u2022 The addon can not be used with a custom Webpack configuration.");
1870
- }
1871
- if (!nameMatches(info2.frameworkPackageName, "@storybook/nextjs") && !nameMatches(info2.builderPackageName, "@storybook/builder-vite")) {
1872
- reasons.push(
1873
- "\u2022 The addon can only be used with a Vite-based Storybook framework or Next.js."
1874
- );
1105
+ }), await writeConfig(config, mainJsPath), info2.frameworkPackageName = "@storybook/nextjs-vite", info2.builderPackageName = "@storybook/builder-vite", await scanAndTransformFiles({
1106
+ promptMessage: "Enter a glob to scan for all @storybook/nextjs imports to substitute with @storybook/nextjs-vite:",
1107
+ force: options.yes,
1108
+ dryRun: !1,
1109
+ transformFn: (files, options2, dryRun) => transformImportFiles(files, options2, dryRun),
1110
+ transformOptions: {
1111
+ "@storybook/nextjs": "@storybook/nextjs-vite"
1875
1112
  }
1876
- if (!isRendererSupported) {
1877
- reasons.push(dedent`
1113
+ }));
1114
+ let annotationsImport = SUPPORTED_FRAMEWORKS.find(
1115
+ (f) => nameMatches(info2.frameworkPackageName, f)
1116
+ ) ? info2.frameworkPackageName === "@storybook/nextjs" ? "@storybook/nextjs-vite" : info2.frameworkPackageName : null, isRendererSupported = !!annotationsImport, result = await (async () => {
1117
+ let reasons = [];
1118
+ hasCustomWebpackConfig && reasons.push("\u2022 The addon can not be used with a custom Webpack configuration."), !nameMatches(info2.frameworkPackageName, "@storybook/nextjs") && !nameMatches(info2.builderPackageName, "@storybook/builder-vite") && reasons.push(
1119
+ "\u2022 The addon can only be used with a Vite-based Storybook framework or Next.js."
1120
+ ), isRendererSupported || reasons.push(dedent`
1878
1121
  • The addon cannot yet be used with ${info2.frameworkPackageName}
1879
- `);
1880
- }
1881
- if (coercedVitestVersion && !(0, import_semver.satisfies)(coercedVitestVersion, ">=3.0.0")) {
1882
- reasons.push(dedent`
1122
+ `), coercedVitestVersion && !(0, import_semver.satisfies)(coercedVitestVersion, ">=3.0.0") && reasons.push(dedent`
1883
1123
  • The addon requires Vitest 3.0.0 or higher. You are currently using ${vitestVersionSpecifier}.
1884
1124
  Please update all of your Vitest dependencies and try again.
1885
1125
  `);
1886
- }
1887
- const mswVersionSpecifier = await packageManager.getInstalledVersion("msw");
1888
- const coercedMswVersion = mswVersionSpecifier ? (0, import_semver.coerce)(mswVersionSpecifier) : null;
1889
- if (coercedMswVersion && !(0, import_semver.satisfies)(coercedMswVersion, ">=2.0.0")) {
1890
- reasons.push(dedent`
1126
+ let mswVersionSpecifier = await packageManager.getInstalledVersion("msw"), coercedMswVersion = mswVersionSpecifier ? (0, import_semver.coerce)(mswVersionSpecifier) : null;
1127
+ return coercedMswVersion && !(0, import_semver.satisfies)(coercedMswVersion, ">=2.0.0") && reasons.push(dedent`
1891
1128
  • 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.
1892
1129
  Please update the 'msw' package and try again.
1893
- `);
1894
- }
1895
- if (nameMatches(info2.frameworkPackageName, "@storybook/nextjs")) {
1896
- const nextVersion = await packageManager.getInstalledVersion("next");
1897
- if (!nextVersion) {
1898
- reasons.push(dedent`
1130
+ `), nameMatches(info2.frameworkPackageName, "@storybook/nextjs") && (await packageManager.getInstalledVersion("next") || reasons.push(dedent`
1899
1131
  • You are using @storybook/nextjs without having "next" installed.
1900
1132
  Please install "next" or use a different Storybook framework integration and try again.
1901
- `);
1902
- }
1903
- }
1904
- if (reasons.length > 0) {
1905
- reasons.unshift(
1906
- `@storybook/addon-vitest's automated setup failed due to the following package incompatibilities:`
1907
- );
1908
- reasons.push("--------------------------------");
1909
- reasons.push(
1910
- dedent`
1133
+ `)), reasons.length > 0 ? (reasons.unshift(
1134
+ "@storybook/addon-vitest's automated setup failed due to the following package incompatibilities:"
1135
+ ), reasons.push("--------------------------------"), reasons.push(
1136
+ dedent`
1911
1137
  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
1912
1138
  in your main Storybook config file and remove the dependency from your package.json file.
1913
1139
  `
1914
- );
1915
- if (!isRendererSupported) {
1916
- reasons.push(
1917
- dedent`
1918
- Please check the documentation for more information about its requirements and installation:
1919
- https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}
1920
- `
1921
- );
1922
- } else {
1923
- reasons.push(
1924
- dedent`
1140
+ ), isRendererSupported ? reasons.push(
1141
+ dedent`
1925
1142
  Fear not, however, you can follow the manual installation process instead at:
1926
1143
  https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#manual-setup
1927
1144
  `
1928
- );
1929
- }
1930
- return reasons.map((r) => r.trim()).join("\n\n");
1931
- }
1932
- return null;
1933
- }, "prerequisiteCheck");
1934
- const result = await prerequisiteCheck();
1145
+ ) : reasons.push(
1146
+ dedent`
1147
+ Please check the documentation for more information about its requirements and installation:
1148
+ https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}
1149
+ `
1150
+ ), reasons.map((r) => r.trim()).join(`
1151
+
1152
+ `)) : null;
1153
+ })();
1935
1154
  if (result) {
1936
- logErrors("\u26D4\uFE0F Sorry!", result);
1937
- logger2.line(1);
1155
+ logErrors("\u26D4\uFE0F Sorry!", result), logger2.line(1);
1938
1156
  return;
1939
1157
  }
1940
1158
  if (info2.frameworkPackageName === "@storybook/nextjs") {
@@ -1949,60 +1167,40 @@ async function postInstall(options) {
1949
1167
  `
1950
1168
  );
1951
1169
  try {
1952
- const storybookVersion = await packageManager.getInstalledVersion("storybook");
1170
+ let storybookVersion = await packageManager.getInstalledVersion("storybook");
1953
1171
  uniqueDependencies.push(`@storybook/nextjs-vite@^${storybookVersion}`);
1954
- } catch (e) {
1172
+ } catch {
1955
1173
  console.error("Failed to install @storybook/nextjs-vite. Please install it manually");
1956
1174
  }
1957
1175
  }
1958
- const v8Version = await packageManager.getInstalledVersion("@vitest/coverage-v8");
1959
- const istanbulVersion = await packageManager.getInstalledVersion("@vitest/coverage-istanbul");
1960
- if (!v8Version && !istanbulVersion) {
1961
- printInfo(
1962
- "\u{1F648} Let me cover this for you",
1963
- dedent`
1176
+ let v8Version = await packageManager.getInstalledVersion("@vitest/coverage-v8"), istanbulVersion = await packageManager.getInstalledVersion("@vitest/coverage-istanbul");
1177
+ !v8Version && !istanbulVersion && (printInfo(
1178
+ "\u{1F648} Let me cover this for you",
1179
+ dedent`
1964
1180
  You don't seem to have a coverage reporter installed. Vitest needs either V8 or Istanbul to generate coverage reports.
1965
1181
 
1966
1182
  Adding "@vitest/coverage-v8" to enable coverage reporting.
1967
1183
  Read more about Vitest coverage providers at https://vitest.dev/guide/coverage.html#coverage-providers
1968
1184
  `
1969
- );
1970
- uniqueDependencies.push(`@vitest/coverage-v8`);
1971
- }
1972
- const versionedDependencies = uniqueDependencies.map((p) => {
1973
- if (p.includes("vitest")) {
1974
- return vitestVersionSpecifier ? `${p}@${vitestVersionSpecifier}` : p;
1975
- }
1976
- return p;
1977
- });
1978
- if (versionedDependencies.length > 0) {
1979
- await packageManager.addDependencies(
1980
- { type: "devDependencies", skipInstall: true },
1981
- versionedDependencies
1982
- );
1983
- logger2.line(1);
1984
- logger2.plain(`${step} Installing dependencies:`);
1985
- logger2.plain(" " + versionedDependencies.join(", "));
1986
- }
1987
- await packageManager.installDependencies();
1988
- logger2.line(1);
1989
- if (options.skipInstall) {
1990
- logger2.plain("Skipping Playwright installation, please run this command manually:");
1991
- logger2.plain(" npx playwright install chromium --with-deps");
1992
- } else {
1993
- logger2.plain(`${step} Configuring Playwright with Chromium (this might take some time):`);
1994
- logger2.plain(" npx playwright install chromium --with-deps");
1185
+ ), uniqueDependencies.push("@vitest/coverage-v8"));
1186
+ let versionedDependencies = uniqueDependencies.map((p) => p.includes("vitest") && vitestVersionSpecifier ? `${p}@${vitestVersionSpecifier}` : p);
1187
+ if (versionedDependencies.length > 0 && (await packageManager.addDependencies(
1188
+ { type: "devDependencies", skipInstall: !0 },
1189
+ versionedDependencies
1190
+ ), logger2.line(1), logger2.plain(`${step} Installing dependencies:`), logger2.plain(" " + versionedDependencies.join(", "))), await packageManager.installDependencies(), logger2.line(1), options.skipInstall)
1191
+ logger2.plain("Skipping Playwright installation, please run this command manually:"), logger2.plain(" npx playwright install chromium --with-deps");
1192
+ else {
1193
+ logger2.plain(`${step} Configuring Playwright with Chromium (this might take some time):`), logger2.plain(" npx playwright install chromium --with-deps");
1995
1194
  try {
1996
1195
  await packageManager.executeCommand({
1997
1196
  command: "npx",
1998
1197
  args: ["playwright", "install", "chromium", "--with-deps"]
1999
1198
  });
2000
- } catch (e) {
1199
+ } catch {
2001
1200
  console.error("Failed to install Playwright. Please install it manually");
2002
1201
  }
2003
1202
  }
2004
- const fileExtension = allDeps.typescript || findFile("tsconfig", [...EXTENSIONS, ".json"]) ? "ts" : "js";
2005
- const vitestSetupFile = resolve(options.configDir, `vitest.setup.${fileExtension}`);
1203
+ let fileExtension = allDeps.typescript || findFile("tsconfig", [...EXTENSIONS, ".json"]) ? "ts" : "js", vitestSetupFile = resolve(options.configDir, `vitest.setup.${fileExtension}`);
2006
1204
  if (existsSync(vitestSetupFile)) {
2007
1205
  logErrors(
2008
1206
  "\u{1F6A8} Oh no!",
@@ -2013,67 +1211,40 @@ async function postInstall(options) {
2013
1211
  Please refer to the documentation to complete the setup manually:
2014
1212
  https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#manual-setup
2015
1213
  `
2016
- );
2017
- logger2.line(1);
1214
+ ), logger2.line(1);
2018
1215
  return;
2019
1216
  }
2020
- logger2.line(1);
2021
- logger2.plain(`${step} Creating a Vitest setup file for Storybook:`);
2022
- logger2.plain(` ${vitestSetupFile}`);
2023
- const previewExists = EXTENSIONS.map((ext) => resolve(options.configDir, `preview${ext}`)).some(
1217
+ logger2.line(1), logger2.plain(`${step} Creating a Vitest setup file for Storybook:`), logger2.plain(` ${vitestSetupFile}`);
1218
+ let previewExists = EXTENSIONS.map((ext) => resolve(options.configDir, `preview${ext}`)).some(
2024
1219
  existsSync
2025
- );
2026
- const imports = [`import { setProjectAnnotations } from '${annotationsImport}';`];
2027
- const projectAnnotations = [];
2028
- if (previewExists) {
2029
- imports.push(`import * as projectAnnotations from './preview';`);
2030
- projectAnnotations.push("projectAnnotations");
2031
- }
2032
- await writeFile(
1220
+ ), imports = [`import { setProjectAnnotations } from '${annotationsImport}';`], projectAnnotations = [];
1221
+ previewExists && (imports.push("import * as projectAnnotations from './preview';"), projectAnnotations.push("projectAnnotations")), await writeFile(
2033
1222
  vitestSetupFile,
2034
1223
  dedent`
2035
- ${imports.join("\n")}
1224
+ ${imports.join(`
1225
+ `)}
2036
1226
 
2037
1227
  // This is an important step to apply the right configuration when testing your stories.
2038
1228
  // More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
2039
1229
  setProjectAnnotations([${projectAnnotations.join(", ")}]);
2040
1230
  `
2041
1231
  );
2042
- const vitestWorkspaceFile = findFile("vitest.workspace", [".ts", ".js", ".json"]);
2043
- const viteConfigFile = findFile("vite.config");
2044
- const vitestConfigFile = findFile("vitest.config");
2045
- const vitestShimFile = findFile("vitest.shims.d");
2046
- const rootConfig = vitestConfigFile || viteConfigFile;
2047
- if (fileExtension === "ts" && !vitestShimFile) {
2048
- await writeFile(
2049
- "vitest.shims.d.ts",
2050
- isVitest4OrNewer ? '/// <reference types="@vitest/browser-playwright" />' : '/// <reference types="@vitest/browser/providers/playwright" />'
2051
- );
2052
- }
2053
- const getTemplateName = /* @__PURE__ */ __name(() => {
2054
- if (isVitest4OrNewer) {
2055
- return "vitest.config.4.template.ts";
2056
- } else if (isVitest3_2To4) {
2057
- return "vitest.config.3.2.template.ts";
2058
- }
2059
- return "vitest.config.template.ts";
2060
- }, "getTemplateName");
1232
+ let vitestWorkspaceFile = findFile("vitest.workspace", [".ts", ".js", ".json"]), viteConfigFile = findFile("vite.config"), vitestConfigFile = findFile("vitest.config"), vitestShimFile = findFile("vitest.shims.d"), rootConfig = vitestConfigFile || viteConfigFile;
1233
+ fileExtension === "ts" && !vitestShimFile && await writeFile(
1234
+ "vitest.shims.d.ts",
1235
+ isVitest4OrNewer ? '/// <reference types="@vitest/browser-playwright" />' : '/// <reference types="@vitest/browser/providers/playwright" />'
1236
+ );
1237
+ let getTemplateName = () => isVitest4OrNewer ? "vitest.config.4.template.ts" : isVitest3_2To4 ? "vitest.config.3.2.template.ts" : "vitest.config.template.ts";
2061
1238
  if (vitestWorkspaceFile) {
2062
- const workspaceTemplate = await loadTemplate("vitest.workspace.template.ts", {
1239
+ let workspaceTemplate = await loadTemplate("vitest.workspace.template.ts", {
2063
1240
  EXTENDS_WORKSPACE: viteConfigFile ? relative(dirname(vitestWorkspaceFile), viteConfigFile) : "",
2064
1241
  CONFIG_DIR: options.configDir,
2065
1242
  SETUP_FILE: relative(dirname(vitestWorkspaceFile), vitestSetupFile)
2066
1243
  }).then((t) => t.replace(`
2067
- 'ROOT_CONFIG',`, "").replace(/\s+extends: '',/, ""));
2068
- const workspaceFile = await fs2.readFile(vitestWorkspaceFile, "utf8");
2069
- const source = babelParse(workspaceTemplate);
2070
- const target = babelParse(workspaceFile);
2071
- const updated = updateWorkspaceFile(source, target);
2072
- if (updated) {
2073
- logger2.line(1);
2074
- logger2.plain(`${step} Updating your Vitest workspace file:`);
2075
- logger2.plain(` ${vitestWorkspaceFile}`);
2076
- const formattedContent = await formatFileContent(vitestWorkspaceFile, generate(target).code);
1244
+ 'ROOT_CONFIG',`, "").replace(/\s+extends: '',/, "")), workspaceFile = await fs2.readFile(vitestWorkspaceFile, "utf8"), source = babelParse(workspaceTemplate), target = babelParse(workspaceFile);
1245
+ if (updateWorkspaceFile(source, target)) {
1246
+ logger2.line(1), logger2.plain(`${step} Updating your Vitest workspace file:`), logger2.plain(` ${vitestWorkspaceFile}`);
1247
+ let formattedContent = await formatFileContent(vitestWorkspaceFile, generate(target).code);
2077
1248
  await writeFile(vitestWorkspaceFile, formattedContent);
2078
1249
  } else {
2079
1250
  logErrors(
@@ -2088,37 +1259,29 @@ async function postInstall(options) {
2088
1259
  Please refer to the documentation to complete the setup manually:
2089
1260
  https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#manual-setup
2090
1261
  `
2091
- );
2092
- logger2.line(1);
1262
+ ), logger2.line(1);
2093
1263
  return;
2094
1264
  }
2095
1265
  } else if (rootConfig) {
2096
- let target, updated;
2097
- const configFile = await fs2.readFile(rootConfig, "utf8");
2098
- const configFileHasTypeReference = configFile.match(
1266
+ let target, updated, configFile = await fs2.readFile(rootConfig, "utf8"), configFileHasTypeReference = configFile.match(
2099
1267
  /\/\/\/\s*<reference\s+types=["']vitest\/config["']\s*\/>/
2100
- );
2101
- const templateName = getTemplateName();
1268
+ ), templateName = getTemplateName();
2102
1269
  if (templateName) {
2103
- const configTemplate = await loadTemplate(templateName, {
1270
+ let configTemplate = await loadTemplate(templateName, {
2104
1271
  CONFIG_DIR: options.configDir,
2105
1272
  SETUP_FILE: relative(dirname(rootConfig), vitestSetupFile)
2106
- });
2107
- const source = babelParse(configTemplate);
2108
- target = babelParse(configFile);
2109
- updated = updateConfigFile(source, target);
1273
+ }), source = babelParse(configTemplate);
1274
+ target = babelParse(configFile), updated = updateConfigFile(source, target);
2110
1275
  }
2111
1276
  if (target && updated) {
2112
- logger2.line(1);
2113
- logger2.plain(`${step} Updating your ${vitestConfigFile ? "Vitest" : "Vite"} config file:`);
2114
- logger2.plain(` ${rootConfig}`);
2115
- const formattedContent = await formatFileContent(rootConfig, generate(target).code);
2116
- const shouldAddReference = !configFileHasTypeReference && !vitestConfigFile;
1277
+ logger2.line(1), logger2.plain(`${step} Updating your ${vitestConfigFile ? "Vitest" : "Vite"} config file:`), logger2.plain(` ${rootConfig}`);
1278
+ let formattedContent = await formatFileContent(rootConfig, generate(target).code);
2117
1279
  await writeFile(
2118
1280
  rootConfig,
2119
- shouldAddReference ? '/// <reference types="vitest/config" />\n' + formattedContent : formattedContent
1281
+ !configFileHasTypeReference && !vitestConfigFile ? `/// <reference types="vitest/config" />
1282
+ ` + formattedContent : formattedContent
2120
1283
  );
2121
- } else {
1284
+ } else
2122
1285
  logErrors(
2123
1286
  "\u{1F6A8} Oh no!",
2124
1287
  dedent`
@@ -2128,24 +1291,18 @@ async function postInstall(options) {
2128
1291
  https://storybook.js.org/docs/writing-tests/integrations/vitest-addon#manual-setup
2129
1292
  `
2130
1293
  );
2131
- }
2132
1294
  } else {
2133
- const newConfigFile = resolve(`vitest.config.${fileExtension}`);
2134
- const configTemplate = await loadTemplate(getTemplateName(), {
1295
+ let newConfigFile = resolve(`vitest.config.${fileExtension}`), configTemplate = await loadTemplate(getTemplateName(), {
2135
1296
  CONFIG_DIR: options.configDir,
2136
1297
  SETUP_FILE: relative(dirname(newConfigFile), vitestSetupFile)
2137
1298
  });
2138
- logger2.line(1);
2139
- logger2.plain(`${step} Creating a Vitest config file:`);
2140
- logger2.plain(` ${newConfigFile}`);
2141
- const formattedContent = await formatFileContent(newConfigFile, configTemplate);
1299
+ logger2.line(1), logger2.plain(`${step} Creating a Vitest config file:`), logger2.plain(` ${newConfigFile}`);
1300
+ let formattedContent = await formatFileContent(newConfigFile, configTemplate);
2142
1301
  await writeFile(newConfigFile, formattedContent);
2143
1302
  }
2144
- const a11yAddon = info2.addons.find((addon) => addon.includes(addonA11yName));
2145
- if (a11yAddon) {
1303
+ if (info2.addons.find((addon) => addon.includes(addonA11yName)))
2146
1304
  try {
2147
- logger2.plain(`${step} Setting up ${addonA11yName} for @storybook/addon-vitest:`);
2148
- await execa(
1305
+ logger2.plain(`${step} Setting up ${addonA11yName} for @storybook/addon-vitest:`), await execa(
2149
1306
  "storybook",
2150
1307
  [
2151
1308
  "automigrate",
@@ -2175,83 +1332,59 @@ async function postInstall(options) {
2175
1332
  `
2176
1333
  );
2177
1334
  }
2178
- }
2179
- const runCommand = rootConfig ? `npx vitest --project=storybook` : `npx vitest`;
2180
- if (!hasErrors) {
2181
- printSuccess(
2182
- "\u{1F389} All done!",
2183
- dedent`
1335
+ hasErrors ? printWarning(
1336
+ "\u26A0\uFE0F Done, but with errors!",
1337
+ dedent`
1338
+ @storybook/addon-vitest was installed successfully, but there were some errors during the setup process.
1339
+
1340
+ Please refer to the documentation to complete the setup manually and check the errors above:
1341
+ https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#manual-setup
1342
+ `
1343
+ ) : printSuccess(
1344
+ "\u{1F389} All done!",
1345
+ dedent`
2184
1346
  @storybook/addon-vitest is now configured and you're ready to run your tests!
2185
1347
 
2186
1348
  Here are a couple of tips to get you started:
2187
- • You can run tests with "${runCommand}"
1349
+ • You can run tests with "${rootConfig ? "npx vitest --project=storybook" : "npx vitest"}"
2188
1350
  • When using the Vitest extension in your editor, all of your stories will be shown as tests!
2189
1351
 
2190
1352
  Check the documentation for more information about its features and options at:
2191
1353
  https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}
2192
1354
  `
2193
- );
2194
- } else {
2195
- printWarning(
2196
- "\u26A0\uFE0F Done, but with errors!",
2197
- dedent`
2198
- @storybook/addon-vitest was installed successfully, but there were some errors during the setup process.
2199
-
2200
- Please refer to the documentation to complete the setup manually and check the errors above:
2201
- https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#manual-setup
2202
- `
2203
- );
2204
- }
2205
- logger2.line(1);
1355
+ ), logger2.line(1);
2206
1356
  }
2207
- __name(postInstall, "postInstall");
2208
1357
  async function getPackageNameFromPath(input) {
2209
- const path = input.startsWith("file://") ? fileURLToPath(input) : input;
2210
- if (!isAbsolute(path)) {
1358
+ let path = input.startsWith("file://") ? fileURLToPath(input) : input;
1359
+ if (!isAbsolute(path))
2211
1360
  return path;
2212
- }
2213
- const packageJsonPath = up2({ cwd: path });
2214
- if (!packageJsonPath) {
1361
+ let packageJsonPath = up2({ cwd: path });
1362
+ if (!packageJsonPath)
2215
1363
  throw new Error(`Could not find package.json in path: ${path}`);
2216
- }
2217
- const { default: packageJson } = await import(pathToFileURL(packageJsonPath).href, {
1364
+ let { default: packageJson } = await import(pathToFileURL(packageJsonPath).href, {
2218
1365
  with: { type: "json" }
2219
1366
  });
2220
1367
  return packageJson.name;
2221
1368
  }
2222
- __name(getPackageNameFromPath, "getPackageNameFromPath");
2223
1369
  async function getStorybookInfo({ configDir, packageManager: pkgMgr }) {
2224
- const packageManager = JsPackageManagerFactory.getPackageManager({ force: pkgMgr, configDir });
2225
- const { packageJson } = packageManager.primaryPackageJson;
2226
- const config = await loadMainConfig({ configDir });
2227
- const { presets } = await experimental_loadStorybook({
1370
+ let packageManager = JsPackageManagerFactory.getPackageManager({ force: pkgMgr, configDir }), { packageJson } = packageManager.primaryPackageJson, config = await loadMainConfig({ configDir }), { presets } = await experimental_loadStorybook({
2228
1371
  configDir,
2229
1372
  packageJson
2230
- });
2231
- const framework = await presets.apply("framework", {});
2232
- const core = await presets.apply("core", {});
2233
- const { builder, renderer } = core;
2234
- if (!builder) {
1373
+ }), framework = await presets.apply("framework", {}), core = await presets.apply("core", {}), { builder, renderer } = core;
1374
+ if (!builder)
2235
1375
  throw new Error("Could not detect your Storybook builder.");
2236
- }
2237
- const frameworkPackageName = await getPackageNameFromPath(
2238
- typeof framework === "string" ? framework : framework.name
2239
- );
2240
- const builderPackageName = await getPackageNameFromPath(
2241
- typeof builder === "string" ? builder : builder.name
2242
- );
2243
- let rendererPackageName;
2244
- if (renderer) {
2245
- rendererPackageName = await getPackageNameFromPath(renderer);
2246
- }
2247
- return {
1376
+ let frameworkPackageName = await getPackageNameFromPath(
1377
+ typeof framework == "string" ? framework : framework.name
1378
+ ), builderPackageName = await getPackageNameFromPath(
1379
+ typeof builder == "string" ? builder : builder.name
1380
+ ), rendererPackageName;
1381
+ return renderer && (rendererPackageName = await getPackageNameFromPath(renderer)), {
2248
1382
  frameworkPackageName,
2249
1383
  builderPackageName,
2250
1384
  rendererPackageName,
2251
1385
  addons: getAddonNames(config)
2252
1386
  };
2253
1387
  }
2254
- __name(getStorybookInfo, "getStorybookInfo");
2255
1388
  export {
2256
1389
  postInstall as default
2257
1390
  };