@storybook/addon-vitest 10.1.0-alpha.8 → 10.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_browser-chunks/chunk-TJXI7EIW.js +61 -0
- package/dist/_node-chunks/chunk-4GXXLLOJ.js +61 -0
- package/dist/_node-chunks/chunk-AP5IIXAM.js +339 -0
- package/dist/_node-chunks/chunk-BGBUUVQU.js +45 -0
- package/dist/_node-chunks/chunk-EDXFFK3M.js +38 -0
- package/dist/_node-chunks/chunk-ERO7LVWY.js +71 -0
- package/dist/_node-chunks/{chunk-E2BHHDMM.js → chunk-J7YOLKRX.js} +15 -24
- package/dist/_node-chunks/chunk-KJQIXLJD.js +138 -0
- package/dist/_node-chunks/chunk-LZHFU3IY.js +44 -0
- package/dist/_node-chunks/chunk-NTUEKICW.js +158 -0
- package/dist/index.js +1 -5
- package/dist/manager.js +274 -491
- package/dist/node/coverage-reporter.js +319 -864
- package/dist/node/vitest.js +201 -456
- package/dist/postinstall.js +497 -1502
- package/dist/preset.js +166 -349
- package/dist/vitest-plugin/global-setup.js +50 -106
- package/dist/vitest-plugin/index.js +1163 -2378
- package/dist/vitest-plugin/setup-file.js +6 -12
- package/dist/vitest-plugin/test-utils.js +31 -71
- package/package.json +3 -7
- package/dist/_browser-chunks/chunk-CAYLRBRX.js +0 -77
- package/dist/_browser-chunks/chunk-JK72E6FR.js +0 -6
- package/dist/_node-chunks/chunk-37QBGOBL.js +0 -2574
- package/dist/_node-chunks/chunk-4EU2HFAD.js +0 -37
- package/dist/_node-chunks/chunk-6S4X4RWE.js +0 -247
- package/dist/_node-chunks/chunk-CZTTZYY4.js +0 -481
- package/dist/_node-chunks/chunk-KKAUWLBT.js +0 -98
- package/dist/_node-chunks/chunk-OYLANTK3.js +0 -105
- package/dist/_node-chunks/chunk-QAVSDLTJ.js +0 -50
package/dist/postinstall.js
CHANGED
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_2cm23o1mqpi from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_2cm23o1mqpi from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_2cm23o1mqpi from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_2cm23o1mqpi.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_2cm23o1mqpi.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_2cm23o1mqpi.createRequire(import.meta.url);
|
|
8
8
|
|
|
9
9
|
// ------------------------------------------------------------
|
|
10
10
|
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
|
|
11
11
|
// ------------------------------------------------------------
|
|
12
12
|
import {
|
|
13
|
-
execa,
|
|
14
13
|
resolvePackageDir
|
|
15
|
-
} from "./_node-chunks/chunk-
|
|
14
|
+
} from "./_node-chunks/chunk-NTUEKICW.js";
|
|
16
15
|
import {
|
|
17
|
-
any
|
|
18
|
-
|
|
19
|
-
up
|
|
20
|
-
} from "./_node-chunks/chunk-KKAUWLBT.js";
|
|
16
|
+
any
|
|
17
|
+
} from "./_node-chunks/chunk-LZHFU3IY.js";
|
|
21
18
|
import {
|
|
22
|
-
DOCUMENTATION_LINK
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
DOCUMENTATION_LINK
|
|
20
|
+
} from "./_node-chunks/chunk-ERO7LVWY.js";
|
|
21
|
+
import {
|
|
22
|
+
require_dist
|
|
23
|
+
} from "./_node-chunks/chunk-4GXXLLOJ.js";
|
|
25
24
|
import {
|
|
26
25
|
dirname,
|
|
27
26
|
join,
|
|
28
27
|
relative,
|
|
29
28
|
resolve
|
|
30
|
-
} from "./_node-chunks/chunk-
|
|
29
|
+
} from "./_node-chunks/chunk-KJQIXLJD.js";
|
|
31
30
|
import {
|
|
32
31
|
require_compare,
|
|
33
32
|
require_constants,
|
|
@@ -37,31 +36,27 @@ import {
|
|
|
37
36
|
require_parse_options,
|
|
38
37
|
require_re,
|
|
39
38
|
require_semver
|
|
40
|
-
} from "./_node-chunks/chunk-
|
|
39
|
+
} from "./_node-chunks/chunk-AP5IIXAM.js";
|
|
41
40
|
import {
|
|
42
41
|
__commonJS,
|
|
43
|
-
__name,
|
|
44
42
|
__toESM
|
|
45
|
-
} from "./_node-chunks/chunk-
|
|
43
|
+
} from "./_node-chunks/chunk-BGBUUVQU.js";
|
|
46
44
|
|
|
47
45
|
// ../../node_modules/semver/functions/parse.js
|
|
48
46
|
var require_parse = __commonJS({
|
|
49
47
|
"../../node_modules/semver/functions/parse.js"(exports, module) {
|
|
50
48
|
"use strict";
|
|
51
|
-
var SemVer = require_semver()
|
|
52
|
-
|
|
53
|
-
if (version instanceof SemVer) {
|
|
49
|
+
var SemVer = require_semver(), parse = (version, options, throwErrors = !1) => {
|
|
50
|
+
if (version instanceof SemVer)
|
|
54
51
|
return version;
|
|
55
|
-
}
|
|
56
52
|
try {
|
|
57
53
|
return new SemVer(version, options);
|
|
58
54
|
} catch (er) {
|
|
59
|
-
if (!throwErrors)
|
|
55
|
+
if (!throwErrors)
|
|
60
56
|
return null;
|
|
61
|
-
}
|
|
62
57
|
throw er;
|
|
63
58
|
}
|
|
64
|
-
}
|
|
59
|
+
};
|
|
65
60
|
module.exports = parse;
|
|
66
61
|
}
|
|
67
62
|
});
|
|
@@ -70,11 +65,10 @@ var require_parse = __commonJS({
|
|
|
70
65
|
var require_valid = __commonJS({
|
|
71
66
|
"../../node_modules/semver/functions/valid.js"(exports, module) {
|
|
72
67
|
"use strict";
|
|
73
|
-
var parse = require_parse()
|
|
74
|
-
|
|
75
|
-
const v = parse(version, options);
|
|
68
|
+
var parse = require_parse(), valid = (version, options) => {
|
|
69
|
+
let v = parse(version, options);
|
|
76
70
|
return v ? v.version : null;
|
|
77
|
-
}
|
|
71
|
+
};
|
|
78
72
|
module.exports = valid;
|
|
79
73
|
}
|
|
80
74
|
});
|
|
@@ -83,11 +77,10 @@ var require_valid = __commonJS({
|
|
|
83
77
|
var require_clean = __commonJS({
|
|
84
78
|
"../../node_modules/semver/functions/clean.js"(exports, module) {
|
|
85
79
|
"use strict";
|
|
86
|
-
var parse = require_parse()
|
|
87
|
-
|
|
88
|
-
const s = parse(version.trim().replace(/^[=v]+/, ""), options);
|
|
80
|
+
var parse = require_parse(), clean = (version, options) => {
|
|
81
|
+
let s = parse(version.trim().replace(/^[=v]+/, ""), options);
|
|
89
82
|
return s ? s.version : null;
|
|
90
|
-
}
|
|
83
|
+
};
|
|
91
84
|
module.exports = clean;
|
|
92
85
|
}
|
|
93
86
|
});
|
|
@@ -96,22 +89,17 @@ var require_clean = __commonJS({
|
|
|
96
89
|
var require_inc = __commonJS({
|
|
97
90
|
"../../node_modules/semver/functions/inc.js"(exports, module) {
|
|
98
91
|
"use strict";
|
|
99
|
-
var SemVer = require_semver()
|
|
100
|
-
|
|
101
|
-
if (typeof options === "string") {
|
|
102
|
-
identifierBase = identifier;
|
|
103
|
-
identifier = options;
|
|
104
|
-
options = void 0;
|
|
105
|
-
}
|
|
92
|
+
var SemVer = require_semver(), inc = (version, release, options, identifier, identifierBase) => {
|
|
93
|
+
typeof options == "string" && (identifierBase = identifier, identifier = options, options = void 0);
|
|
106
94
|
try {
|
|
107
95
|
return new SemVer(
|
|
108
96
|
version instanceof SemVer ? version.version : version,
|
|
109
97
|
options
|
|
110
98
|
).inc(release, identifier, identifierBase).version;
|
|
111
|
-
} catch
|
|
99
|
+
} catch {
|
|
112
100
|
return null;
|
|
113
101
|
}
|
|
114
|
-
}
|
|
102
|
+
};
|
|
115
103
|
module.exports = inc;
|
|
116
104
|
}
|
|
117
105
|
});
|
|
@@ -120,42 +108,20 @@ var require_inc = __commonJS({
|
|
|
120
108
|
var require_diff = __commonJS({
|
|
121
109
|
"../../node_modules/semver/functions/diff.js"(exports, module) {
|
|
122
110
|
"use strict";
|
|
123
|
-
var parse = require_parse()
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const v2 = parse(version2, null, true);
|
|
127
|
-
const comparison = v1.compare(v2);
|
|
128
|
-
if (comparison === 0) {
|
|
111
|
+
var parse = require_parse(), diff = (version1, version2) => {
|
|
112
|
+
let v1 = parse(version1, null, !0), v2 = parse(version2, null, !0), comparison = v1.compare(v2);
|
|
113
|
+
if (comparison === 0)
|
|
129
114
|
return null;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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) {
|
|
115
|
+
let v1Higher = comparison > 0, highVersion = v1Higher ? v1 : v2, lowVersion = v1Higher ? v2 : v1, highHasPre = !!highVersion.prerelease.length;
|
|
116
|
+
if (!!lowVersion.prerelease.length && !highHasPre) {
|
|
117
|
+
if (!lowVersion.patch && !lowVersion.minor)
|
|
138
118
|
return "major";
|
|
139
|
-
|
|
140
|
-
|
|
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";
|
|
119
|
+
if (lowVersion.compareMain(highVersion) === 0)
|
|
120
|
+
return lowVersion.minor && !lowVersion.patch ? "minor" : "patch";
|
|
150
121
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
if (v1.patch !== v2.patch) {
|
|
155
|
-
return prefix + "patch";
|
|
156
|
-
}
|
|
157
|
-
return "prerelease";
|
|
158
|
-
}, "diff");
|
|
122
|
+
let prefix = highHasPre ? "pre" : "";
|
|
123
|
+
return v1.major !== v2.major ? prefix + "major" : v1.minor !== v2.minor ? prefix + "minor" : v1.patch !== v2.patch ? prefix + "patch" : "prerelease";
|
|
124
|
+
};
|
|
159
125
|
module.exports = diff;
|
|
160
126
|
}
|
|
161
127
|
});
|
|
@@ -164,8 +130,7 @@ var require_diff = __commonJS({
|
|
|
164
130
|
var require_major = __commonJS({
|
|
165
131
|
"../../node_modules/semver/functions/major.js"(exports, module) {
|
|
166
132
|
"use strict";
|
|
167
|
-
var SemVer = require_semver();
|
|
168
|
-
var major = /* @__PURE__ */ __name((a, loose) => new SemVer(a, loose).major, "major");
|
|
133
|
+
var SemVer = require_semver(), major = (a, loose) => new SemVer(a, loose).major;
|
|
169
134
|
module.exports = major;
|
|
170
135
|
}
|
|
171
136
|
});
|
|
@@ -174,8 +139,7 @@ var require_major = __commonJS({
|
|
|
174
139
|
var require_minor = __commonJS({
|
|
175
140
|
"../../node_modules/semver/functions/minor.js"(exports, module) {
|
|
176
141
|
"use strict";
|
|
177
|
-
var SemVer = require_semver();
|
|
178
|
-
var minor = /* @__PURE__ */ __name((a, loose) => new SemVer(a, loose).minor, "minor");
|
|
142
|
+
var SemVer = require_semver(), minor = (a, loose) => new SemVer(a, loose).minor;
|
|
179
143
|
module.exports = minor;
|
|
180
144
|
}
|
|
181
145
|
});
|
|
@@ -184,8 +148,7 @@ var require_minor = __commonJS({
|
|
|
184
148
|
var require_patch = __commonJS({
|
|
185
149
|
"../../node_modules/semver/functions/patch.js"(exports, module) {
|
|
186
150
|
"use strict";
|
|
187
|
-
var SemVer = require_semver();
|
|
188
|
-
var patch = /* @__PURE__ */ __name((a, loose) => new SemVer(a, loose).patch, "patch");
|
|
151
|
+
var SemVer = require_semver(), patch = (a, loose) => new SemVer(a, loose).patch;
|
|
189
152
|
module.exports = patch;
|
|
190
153
|
}
|
|
191
154
|
});
|
|
@@ -194,11 +157,10 @@ var require_patch = __commonJS({
|
|
|
194
157
|
var require_prerelease = __commonJS({
|
|
195
158
|
"../../node_modules/semver/functions/prerelease.js"(exports, module) {
|
|
196
159
|
"use strict";
|
|
197
|
-
var parse = require_parse()
|
|
198
|
-
|
|
199
|
-
const parsed = parse(version, options);
|
|
160
|
+
var parse = require_parse(), prerelease = (version, options) => {
|
|
161
|
+
let parsed = parse(version, options);
|
|
200
162
|
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
201
|
-
}
|
|
163
|
+
};
|
|
202
164
|
module.exports = prerelease;
|
|
203
165
|
}
|
|
204
166
|
});
|
|
@@ -207,8 +169,7 @@ var require_prerelease = __commonJS({
|
|
|
207
169
|
var require_rcompare = __commonJS({
|
|
208
170
|
"../../node_modules/semver/functions/rcompare.js"(exports, module) {
|
|
209
171
|
"use strict";
|
|
210
|
-
var compare = require_compare();
|
|
211
|
-
var rcompare = /* @__PURE__ */ __name((a, b, loose) => compare(b, a, loose), "rcompare");
|
|
172
|
+
var compare = require_compare(), rcompare = (a, b, loose) => compare(b, a, loose);
|
|
212
173
|
module.exports = rcompare;
|
|
213
174
|
}
|
|
214
175
|
});
|
|
@@ -217,8 +178,7 @@ var require_rcompare = __commonJS({
|
|
|
217
178
|
var require_compare_loose = __commonJS({
|
|
218
179
|
"../../node_modules/semver/functions/compare-loose.js"(exports, module) {
|
|
219
180
|
"use strict";
|
|
220
|
-
var compare = require_compare();
|
|
221
|
-
var compareLoose = /* @__PURE__ */ __name((a, b) => compare(a, b, true), "compareLoose");
|
|
181
|
+
var compare = require_compare(), compareLoose = (a, b) => compare(a, b, !0);
|
|
222
182
|
module.exports = compareLoose;
|
|
223
183
|
}
|
|
224
184
|
});
|
|
@@ -227,12 +187,10 @@ var require_compare_loose = __commonJS({
|
|
|
227
187
|
var require_compare_build = __commonJS({
|
|
228
188
|
"../../node_modules/semver/functions/compare-build.js"(exports, module) {
|
|
229
189
|
"use strict";
|
|
230
|
-
var SemVer = require_semver()
|
|
231
|
-
|
|
232
|
-
const versionA = new SemVer(a, loose);
|
|
233
|
-
const versionB = new SemVer(b, loose);
|
|
190
|
+
var SemVer = require_semver(), compareBuild = (a, b, loose) => {
|
|
191
|
+
let versionA = new SemVer(a, loose), versionB = new SemVer(b, loose);
|
|
234
192
|
return versionA.compare(versionB) || versionA.compareBuild(versionB);
|
|
235
|
-
}
|
|
193
|
+
};
|
|
236
194
|
module.exports = compareBuild;
|
|
237
195
|
}
|
|
238
196
|
});
|
|
@@ -241,8 +199,7 @@ var require_compare_build = __commonJS({
|
|
|
241
199
|
var require_sort = __commonJS({
|
|
242
200
|
"../../node_modules/semver/functions/sort.js"(exports, module) {
|
|
243
201
|
"use strict";
|
|
244
|
-
var compareBuild = require_compare_build();
|
|
245
|
-
var sort = /* @__PURE__ */ __name((list, loose) => list.sort((a, b) => compareBuild(a, b, loose)), "sort");
|
|
202
|
+
var compareBuild = require_compare_build(), sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
|
|
246
203
|
module.exports = sort;
|
|
247
204
|
}
|
|
248
205
|
});
|
|
@@ -251,8 +208,7 @@ var require_sort = __commonJS({
|
|
|
251
208
|
var require_rsort = __commonJS({
|
|
252
209
|
"../../node_modules/semver/functions/rsort.js"(exports, module) {
|
|
253
210
|
"use strict";
|
|
254
|
-
var compareBuild = require_compare_build();
|
|
255
|
-
var rsort = /* @__PURE__ */ __name((list, loose) => list.sort((a, b) => compareBuild(b, a, loose)), "rsort");
|
|
211
|
+
var compareBuild = require_compare_build(), rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
|
|
256
212
|
module.exports = rsort;
|
|
257
213
|
}
|
|
258
214
|
});
|
|
@@ -261,8 +217,7 @@ var require_rsort = __commonJS({
|
|
|
261
217
|
var require_gt = __commonJS({
|
|
262
218
|
"../../node_modules/semver/functions/gt.js"(exports, module) {
|
|
263
219
|
"use strict";
|
|
264
|
-
var compare = require_compare();
|
|
265
|
-
var gt = /* @__PURE__ */ __name((a, b, loose) => compare(a, b, loose) > 0, "gt");
|
|
220
|
+
var compare = require_compare(), gt = (a, b, loose) => compare(a, b, loose) > 0;
|
|
266
221
|
module.exports = gt;
|
|
267
222
|
}
|
|
268
223
|
});
|
|
@@ -271,8 +226,7 @@ var require_gt = __commonJS({
|
|
|
271
226
|
var require_lt = __commonJS({
|
|
272
227
|
"../../node_modules/semver/functions/lt.js"(exports, module) {
|
|
273
228
|
"use strict";
|
|
274
|
-
var compare = require_compare();
|
|
275
|
-
var lt = /* @__PURE__ */ __name((a, b, loose) => compare(a, b, loose) < 0, "lt");
|
|
229
|
+
var compare = require_compare(), lt = (a, b, loose) => compare(a, b, loose) < 0;
|
|
276
230
|
module.exports = lt;
|
|
277
231
|
}
|
|
278
232
|
});
|
|
@@ -281,8 +235,7 @@ var require_lt = __commonJS({
|
|
|
281
235
|
var require_eq = __commonJS({
|
|
282
236
|
"../../node_modules/semver/functions/eq.js"(exports, module) {
|
|
283
237
|
"use strict";
|
|
284
|
-
var compare = require_compare();
|
|
285
|
-
var eq = /* @__PURE__ */ __name((a, b, loose) => compare(a, b, loose) === 0, "eq");
|
|
238
|
+
var compare = require_compare(), eq = (a, b, loose) => compare(a, b, loose) === 0;
|
|
286
239
|
module.exports = eq;
|
|
287
240
|
}
|
|
288
241
|
});
|
|
@@ -291,8 +244,7 @@ var require_eq = __commonJS({
|
|
|
291
244
|
var require_neq = __commonJS({
|
|
292
245
|
"../../node_modules/semver/functions/neq.js"(exports, module) {
|
|
293
246
|
"use strict";
|
|
294
|
-
var compare = require_compare();
|
|
295
|
-
var neq = /* @__PURE__ */ __name((a, b, loose) => compare(a, b, loose) !== 0, "neq");
|
|
247
|
+
var compare = require_compare(), neq = (a, b, loose) => compare(a, b, loose) !== 0;
|
|
296
248
|
module.exports = neq;
|
|
297
249
|
}
|
|
298
250
|
});
|
|
@@ -301,8 +253,7 @@ var require_neq = __commonJS({
|
|
|
301
253
|
var require_lte = __commonJS({
|
|
302
254
|
"../../node_modules/semver/functions/lte.js"(exports, module) {
|
|
303
255
|
"use strict";
|
|
304
|
-
var compare = require_compare();
|
|
305
|
-
var lte = /* @__PURE__ */ __name((a, b, loose) => compare(a, b, loose) <= 0, "lte");
|
|
256
|
+
var compare = require_compare(), lte = (a, b, loose) => compare(a, b, loose) <= 0;
|
|
306
257
|
module.exports = lte;
|
|
307
258
|
}
|
|
308
259
|
});
|
|
@@ -311,30 +262,12 @@ var require_lte = __commonJS({
|
|
|
311
262
|
var require_cmp = __commonJS({
|
|
312
263
|
"../../node_modules/semver/functions/cmp.js"(exports, module) {
|
|
313
264
|
"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) => {
|
|
265
|
+
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
266
|
switch (op) {
|
|
322
267
|
case "===":
|
|
323
|
-
|
|
324
|
-
a = a.version;
|
|
325
|
-
}
|
|
326
|
-
if (typeof b === "object") {
|
|
327
|
-
b = b.version;
|
|
328
|
-
}
|
|
329
|
-
return a === b;
|
|
268
|
+
return typeof a == "object" && (a = a.version), typeof b == "object" && (b = b.version), a === b;
|
|
330
269
|
case "!==":
|
|
331
|
-
|
|
332
|
-
a = a.version;
|
|
333
|
-
}
|
|
334
|
-
if (typeof b === "object") {
|
|
335
|
-
b = b.version;
|
|
336
|
-
}
|
|
337
|
-
return a !== b;
|
|
270
|
+
return typeof a == "object" && (a = a.version), typeof b == "object" && (b = b.version), a !== b;
|
|
338
271
|
case "":
|
|
339
272
|
case "=":
|
|
340
273
|
case "==":
|
|
@@ -352,7 +285,7 @@ var require_cmp = __commonJS({
|
|
|
352
285
|
default:
|
|
353
286
|
throw new TypeError(`Invalid operator: ${op}`);
|
|
354
287
|
}
|
|
355
|
-
}
|
|
288
|
+
};
|
|
356
289
|
module.exports = cmp;
|
|
357
290
|
}
|
|
358
291
|
});
|
|
@@ -361,45 +294,27 @@ var require_cmp = __commonJS({
|
|
|
361
294
|
var require_coerce = __commonJS({
|
|
362
295
|
"../../node_modules/semver/functions/coerce.js"(exports, module) {
|
|
363
296
|
"use strict";
|
|
364
|
-
var SemVer = require_semver()
|
|
365
|
-
|
|
366
|
-
var { safeRe: re, t } = require_re();
|
|
367
|
-
var coerce2 = /* @__PURE__ */ __name((version, options) => {
|
|
368
|
-
if (version instanceof SemVer) {
|
|
297
|
+
var SemVer = require_semver(), parse = require_parse(), { safeRe: re, t } = require_re(), coerce = (version, options) => {
|
|
298
|
+
if (version instanceof SemVer)
|
|
369
299
|
return version;
|
|
370
|
-
|
|
371
|
-
if (typeof version === "number") {
|
|
372
|
-
version = String(version);
|
|
373
|
-
}
|
|
374
|
-
if (typeof version !== "string") {
|
|
300
|
+
if (typeof version == "number" && (version = String(version)), typeof version != "string")
|
|
375
301
|
return null;
|
|
376
|
-
}
|
|
377
302
|
options = options || {};
|
|
378
303
|
let match = null;
|
|
379
|
-
if (!options.rtl)
|
|
304
|
+
if (!options.rtl)
|
|
380
305
|
match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
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
|
-
}
|
|
306
|
+
else {
|
|
307
|
+
let coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL], next;
|
|
308
|
+
for (; (next = coerceRtlRegex.exec(version)) && (!match || match.index + match[0].length !== version.length); )
|
|
309
|
+
(!match || next.index + next[0].length !== match.index + match[0].length) && (match = next), coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
|
|
390
310
|
coerceRtlRegex.lastIndex = -1;
|
|
391
311
|
}
|
|
392
|
-
if (match === null)
|
|
312
|
+
if (match === null)
|
|
393
313
|
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]}` : "";
|
|
314
|
+
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
315
|
return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options);
|
|
401
|
-
}
|
|
402
|
-
module.exports =
|
|
316
|
+
};
|
|
317
|
+
module.exports = coerce;
|
|
403
318
|
}
|
|
404
319
|
});
|
|
405
320
|
|
|
@@ -408,31 +323,21 @@ var require_lrucache = __commonJS({
|
|
|
408
323
|
"../../node_modules/semver/internal/lrucache.js"(exports, module) {
|
|
409
324
|
"use strict";
|
|
410
325
|
var LRUCache = class {
|
|
411
|
-
static {
|
|
412
|
-
__name(this, "LRUCache");
|
|
413
|
-
}
|
|
414
326
|
constructor() {
|
|
415
|
-
this.max = 1e3;
|
|
416
|
-
this.map = /* @__PURE__ */ new Map();
|
|
327
|
+
this.max = 1e3, this.map = /* @__PURE__ */ new Map();
|
|
417
328
|
}
|
|
418
329
|
get(key) {
|
|
419
|
-
|
|
420
|
-
if (value
|
|
421
|
-
return
|
|
422
|
-
} else {
|
|
423
|
-
this.map.delete(key);
|
|
424
|
-
this.map.set(key, value);
|
|
425
|
-
return value;
|
|
426
|
-
}
|
|
330
|
+
let value = this.map.get(key);
|
|
331
|
+
if (value !== void 0)
|
|
332
|
+
return this.map.delete(key), this.map.set(key, value), value;
|
|
427
333
|
}
|
|
428
334
|
delete(key) {
|
|
429
335
|
return this.map.delete(key);
|
|
430
336
|
}
|
|
431
337
|
set(key, value) {
|
|
432
|
-
|
|
433
|
-
if (!deleted && value !== void 0) {
|
|
338
|
+
if (!this.delete(key) && value !== void 0) {
|
|
434
339
|
if (this.map.size >= this.max) {
|
|
435
|
-
|
|
340
|
+
let firstKey = this.map.keys().next().value;
|
|
436
341
|
this.delete(firstKey);
|
|
437
342
|
}
|
|
438
343
|
this.map.set(key, value);
|
|
@@ -448,46 +353,24 @@ var require_lrucache = __commonJS({
|
|
|
448
353
|
var require_range = __commonJS({
|
|
449
354
|
"../../node_modules/semver/classes/range.js"(exports, module) {
|
|
450
355
|
"use strict";
|
|
451
|
-
var SPACE_CHARACTERS = /\s+/g
|
|
452
|
-
var Range = class _Range {
|
|
453
|
-
static {
|
|
454
|
-
__name(this, "Range");
|
|
455
|
-
}
|
|
356
|
+
var SPACE_CHARACTERS = /\s+/g, Range = class _Range {
|
|
456
357
|
constructor(range, options) {
|
|
457
|
-
options = parseOptions(options)
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
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) {
|
|
358
|
+
if (options = parseOptions(options), range instanceof _Range)
|
|
359
|
+
return range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease ? range : new _Range(range.raw, options);
|
|
360
|
+
if (range instanceof Comparator)
|
|
361
|
+
return this.raw = range.value, this.set = [[range]], this.formatted = void 0, this;
|
|
362
|
+
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
363
|
throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
|
|
478
|
-
}
|
|
479
364
|
if (this.set.length > 1) {
|
|
480
|
-
|
|
481
|
-
this.set = this.set.filter((c) => !isNullSet(c[0]))
|
|
482
|
-
if (this.set.length === 0) {
|
|
365
|
+
let first = this.set[0];
|
|
366
|
+
if (this.set = this.set.filter((c) => !isNullSet(c[0])), this.set.length === 0)
|
|
483
367
|
this.set = [first];
|
|
484
|
-
|
|
485
|
-
for (
|
|
368
|
+
else if (this.set.length > 1) {
|
|
369
|
+
for (let c of this.set)
|
|
486
370
|
if (c.length === 1 && isAny(c[0])) {
|
|
487
371
|
this.set = [c];
|
|
488
372
|
break;
|
|
489
373
|
}
|
|
490
|
-
}
|
|
491
374
|
}
|
|
492
375
|
}
|
|
493
376
|
this.formatted = void 0;
|
|
@@ -496,16 +379,10 @@ var require_range = __commonJS({
|
|
|
496
379
|
if (this.formatted === void 0) {
|
|
497
380
|
this.formatted = "";
|
|
498
381
|
for (let i = 0; i < this.set.length; i++) {
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
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
|
-
}
|
|
382
|
+
i > 0 && (this.formatted += "||");
|
|
383
|
+
let comps = this.set[i];
|
|
384
|
+
for (let k = 0; k < comps.length; k++)
|
|
385
|
+
k > 0 && (this.formatted += " "), this.formatted += comps[k].toString().trim();
|
|
509
386
|
}
|
|
510
387
|
}
|
|
511
388
|
return this.formatted;
|
|
@@ -517,309 +394,94 @@ var require_range = __commonJS({
|
|
|
517
394
|
return this.range;
|
|
518
395
|
}
|
|
519
396
|
parseRange(range) {
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
const cached = cache.get(memoKey);
|
|
523
|
-
if (cached) {
|
|
397
|
+
let memoKey = ((this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE)) + ":" + range, cached = cache.get(memoKey);
|
|
398
|
+
if (cached)
|
|
524
399
|
return cached;
|
|
525
|
-
|
|
526
|
-
|
|
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);
|
|
400
|
+
let loose = this.options.loose, hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
|
|
401
|
+
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
402
|
let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
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)) {
|
|
403
|
+
loose && (rangeList = rangeList.filter((comp) => (debug("loose invalid filter", comp, this.options), !!comp.match(re[t.COMPARATORLOOSE])))), debug("range list", rangeList);
|
|
404
|
+
let rangeMap = /* @__PURE__ */ new Map(), comparators = rangeList.map((comp) => new Comparator(comp, this.options));
|
|
405
|
+
for (let comp of comparators) {
|
|
406
|
+
if (isNullSet(comp))
|
|
548
407
|
return [comp];
|
|
549
|
-
}
|
|
550
408
|
rangeMap.set(comp.value, comp);
|
|
551
409
|
}
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
const result = [...rangeMap.values()];
|
|
556
|
-
cache.set(memoKey, result);
|
|
557
|
-
return result;
|
|
410
|
+
rangeMap.size > 1 && rangeMap.has("") && rangeMap.delete("");
|
|
411
|
+
let result = [...rangeMap.values()];
|
|
412
|
+
return cache.set(memoKey, result), result;
|
|
558
413
|
}
|
|
559
414
|
intersects(range, options) {
|
|
560
|
-
if (!(range instanceof _Range))
|
|
415
|
+
if (!(range instanceof _Range))
|
|
561
416
|
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
|
-
});
|
|
417
|
+
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
418
|
}
|
|
573
419
|
// if ANY of the sets match ALL of its comparators, then pass
|
|
574
420
|
test(version) {
|
|
575
|
-
if (!version)
|
|
576
|
-
return
|
|
577
|
-
|
|
578
|
-
if (typeof version === "string") {
|
|
421
|
+
if (!version)
|
|
422
|
+
return !1;
|
|
423
|
+
if (typeof version == "string")
|
|
579
424
|
try {
|
|
580
425
|
version = new SemVer(version, this.options);
|
|
581
|
-
} catch
|
|
582
|
-
return
|
|
426
|
+
} catch {
|
|
427
|
+
return !1;
|
|
583
428
|
}
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
}
|
|
589
|
-
}
|
|
590
|
-
return false;
|
|
429
|
+
for (let i = 0; i < this.set.length; i++)
|
|
430
|
+
if (testSet(this.set[i], version, this.options))
|
|
431
|
+
return !0;
|
|
432
|
+
return !1;
|
|
591
433
|
}
|
|
592
434
|
};
|
|
593
435
|
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 {
|
|
436
|
+
var LRU = require_lrucache(), cache = new LRU(), parseOptions = require_parse_options(), Comparator = require_comparator(), debug = require_debug(), SemVer = require_semver(), {
|
|
601
437
|
safeRe: re,
|
|
602
438
|
t,
|
|
603
439
|
comparatorTrimReplace,
|
|
604
440
|
tildeTrimReplace,
|
|
605
441
|
caretTrimReplace
|
|
606
|
-
} = require_re()
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
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
|
-
}
|
|
442
|
+
} = require_re(), { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants(), isNullSet = (c) => c.value === "<0.0.0-0", isAny = (c) => c.value === "", isSatisfiable = (comparators, options) => {
|
|
443
|
+
let result = !0, remainingComparators = comparators.slice(), testComparator = remainingComparators.pop();
|
|
444
|
+
for (; result && remainingComparators.length; )
|
|
445
|
+
result = remainingComparators.every((otherComparator) => testComparator.intersects(otherComparator, options)), testComparator = remainingComparators.pop();
|
|
620
446
|
return result;
|
|
621
|
-
}, "
|
|
622
|
-
|
|
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];
|
|
447
|
+
}, 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) => {
|
|
448
|
+
let r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
640
449
|
return comp.replace(r, (_, M, m, p, pr) => {
|
|
641
450
|
debug("tilde", comp, _, M, m, p, pr);
|
|
642
451
|
let ret;
|
|
643
|
-
|
|
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;
|
|
452
|
+
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
453
|
});
|
|
658
|
-
}, "
|
|
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) => {
|
|
454
|
+
}, replaceCarets = (comp, options) => comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" "), replaceCaret = (comp, options) => {
|
|
663
455
|
debug("caret", comp, options);
|
|
664
|
-
|
|
665
|
-
const z = options.includePrerelease ? "-0" : "";
|
|
456
|
+
let r = options.loose ? re[t.CARETLOOSE] : re[t.CARET], z = options.includePrerelease ? "-0" : "";
|
|
666
457
|
return comp.replace(r, (_, M, m, p, pr) => {
|
|
667
458
|
debug("caret", comp, _, M, m, p, pr);
|
|
668
459
|
let ret;
|
|
669
|
-
|
|
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;
|
|
460
|
+
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
461
|
});
|
|
705
|
-
}, "
|
|
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) => {
|
|
462
|
+
}, replaceXRanges = (comp, options) => (debug("replaceXRanges", comp, options), comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ")), replaceXRange = (comp, options) => {
|
|
711
463
|
comp = comp.trim();
|
|
712
|
-
|
|
464
|
+
let r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
713
465
|
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
|
|
714
466
|
debug("xRange", comp, ret, gtlt, M, m, p, pr);
|
|
715
|
-
|
|
716
|
-
|
|
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;
|
|
467
|
+
let xM = isX(M), xm = xM || isX(m), xp = xm || isX(p), anyX = xp;
|
|
468
|
+
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
469
|
});
|
|
764
|
-
}, "
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
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
|
-
}
|
|
470
|
+
}, 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) => {
|
|
471
|
+
for (let i = 0; i < set.length; i++)
|
|
472
|
+
if (!set[i].test(version))
|
|
473
|
+
return !1;
|
|
806
474
|
if (version.prerelease.length && !options.includePrerelease) {
|
|
807
|
-
for (let i = 0; i < set.length; i++)
|
|
808
|
-
debug(set[i].semver)
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
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
|
-
}
|
|
475
|
+
for (let i = 0; i < set.length; i++)
|
|
476
|
+
if (debug(set[i].semver), set[i].semver !== Comparator.ANY && set[i].semver.prerelease.length > 0) {
|
|
477
|
+
let allowed = set[i].semver;
|
|
478
|
+
if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch)
|
|
479
|
+
return !0;
|
|
817
480
|
}
|
|
818
|
-
|
|
819
|
-
return false;
|
|
481
|
+
return !1;
|
|
820
482
|
}
|
|
821
|
-
return
|
|
822
|
-
}
|
|
483
|
+
return !0;
|
|
484
|
+
};
|
|
823
485
|
}
|
|
824
486
|
});
|
|
825
487
|
|
|
@@ -827,115 +489,46 @@ var require_range = __commonJS({
|
|
|
827
489
|
var require_comparator = __commonJS({
|
|
828
490
|
"../../node_modules/semver/classes/comparator.js"(exports, module) {
|
|
829
491
|
"use strict";
|
|
830
|
-
var ANY = Symbol("SemVer ANY")
|
|
831
|
-
var Comparator = class _Comparator {
|
|
832
|
-
static {
|
|
833
|
-
__name(this, "Comparator");
|
|
834
|
-
}
|
|
492
|
+
var ANY = Symbol("SemVer ANY"), Comparator = class _Comparator {
|
|
835
493
|
static get ANY() {
|
|
836
494
|
return ANY;
|
|
837
495
|
}
|
|
838
496
|
constructor(comp, options) {
|
|
839
|
-
options = parseOptions(options)
|
|
840
|
-
|
|
841
|
-
if (comp.loose === !!options.loose) {
|
|
497
|
+
if (options = parseOptions(options), comp instanceof _Comparator) {
|
|
498
|
+
if (comp.loose === !!options.loose)
|
|
842
499
|
return comp;
|
|
843
|
-
|
|
844
|
-
comp = comp.value;
|
|
845
|
-
}
|
|
500
|
+
comp = comp.value;
|
|
846
501
|
}
|
|
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);
|
|
502
|
+
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
503
|
}
|
|
859
504
|
parse(comp) {
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
if (!m) {
|
|
505
|
+
let r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR], m = comp.match(r);
|
|
506
|
+
if (!m)
|
|
863
507
|
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
|
-
}
|
|
508
|
+
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
509
|
}
|
|
875
510
|
toString() {
|
|
876
511
|
return this.value;
|
|
877
512
|
}
|
|
878
513
|
test(version) {
|
|
879
|
-
debug("Comparator.test", version, this.options.loose)
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
}
|
|
883
|
-
if (typeof version === "string") {
|
|
514
|
+
if (debug("Comparator.test", version, this.options.loose), this.semver === ANY || version === ANY)
|
|
515
|
+
return !0;
|
|
516
|
+
if (typeof version == "string")
|
|
884
517
|
try {
|
|
885
518
|
version = new SemVer(version, this.options);
|
|
886
|
-
} catch
|
|
887
|
-
return
|
|
519
|
+
} catch {
|
|
520
|
+
return !1;
|
|
888
521
|
}
|
|
889
|
-
}
|
|
890
522
|
return cmp(version, this.operator, this.semver, this.options);
|
|
891
523
|
}
|
|
892
524
|
intersects(comp, options) {
|
|
893
|
-
if (!(comp instanceof _Comparator))
|
|
525
|
+
if (!(comp instanceof _Comparator))
|
|
894
526
|
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;
|
|
527
|
+
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
528
|
}
|
|
931
529
|
};
|
|
932
530
|
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();
|
|
531
|
+
var parseOptions = require_parse_options(), { safeRe: re, t } = require_re(), cmp = require_cmp(), debug = require_debug(), SemVer = require_semver(), Range = require_range();
|
|
939
532
|
}
|
|
940
533
|
});
|
|
941
534
|
|
|
@@ -943,15 +536,14 @@ var require_comparator = __commonJS({
|
|
|
943
536
|
var require_satisfies = __commonJS({
|
|
944
537
|
"../../node_modules/semver/functions/satisfies.js"(exports, module) {
|
|
945
538
|
"use strict";
|
|
946
|
-
var Range = require_range()
|
|
947
|
-
var satisfies2 = /* @__PURE__ */ __name((version, range, options) => {
|
|
539
|
+
var Range = require_range(), satisfies2 = (version, range, options) => {
|
|
948
540
|
try {
|
|
949
541
|
range = new Range(range, options);
|
|
950
|
-
} catch
|
|
951
|
-
return
|
|
542
|
+
} catch {
|
|
543
|
+
return !1;
|
|
952
544
|
}
|
|
953
545
|
return range.test(version);
|
|
954
|
-
}
|
|
546
|
+
};
|
|
955
547
|
module.exports = satisfies2;
|
|
956
548
|
}
|
|
957
549
|
});
|
|
@@ -960,8 +552,7 @@ var require_satisfies = __commonJS({
|
|
|
960
552
|
var require_to_comparators = __commonJS({
|
|
961
553
|
"../../node_modules/semver/ranges/to-comparators.js"(exports, module) {
|
|
962
554
|
"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");
|
|
555
|
+
var Range = require_range(), toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
|
|
965
556
|
module.exports = toComparators;
|
|
966
557
|
}
|
|
967
558
|
});
|
|
@@ -970,27 +561,17 @@ var require_to_comparators = __commonJS({
|
|
|
970
561
|
var require_max_satisfying = __commonJS({
|
|
971
562
|
"../../node_modules/semver/ranges/max-satisfying.js"(exports, module) {
|
|
972
563
|
"use strict";
|
|
973
|
-
var SemVer = require_semver()
|
|
974
|
-
|
|
975
|
-
var maxSatisfying = /* @__PURE__ */ __name((versions, range, options) => {
|
|
976
|
-
let max = null;
|
|
977
|
-
let maxSV = null;
|
|
978
|
-
let rangeObj = null;
|
|
564
|
+
var SemVer = require_semver(), Range = require_range(), maxSatisfying = (versions, range, options) => {
|
|
565
|
+
let max = null, maxSV = null, rangeObj = null;
|
|
979
566
|
try {
|
|
980
567
|
rangeObj = new Range(range, options);
|
|
981
|
-
} catch
|
|
568
|
+
} catch {
|
|
982
569
|
return null;
|
|
983
570
|
}
|
|
984
|
-
versions.forEach((v) => {
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
maxSV = new SemVer(max, options);
|
|
989
|
-
}
|
|
990
|
-
}
|
|
991
|
-
});
|
|
992
|
-
return max;
|
|
993
|
-
}, "maxSatisfying");
|
|
571
|
+
return versions.forEach((v) => {
|
|
572
|
+
rangeObj.test(v) && (!max || maxSV.compare(v) === -1) && (max = v, maxSV = new SemVer(max, options));
|
|
573
|
+
}), max;
|
|
574
|
+
};
|
|
994
575
|
module.exports = maxSatisfying;
|
|
995
576
|
}
|
|
996
577
|
});
|
|
@@ -999,27 +580,17 @@ var require_max_satisfying = __commonJS({
|
|
|
999
580
|
var require_min_satisfying = __commonJS({
|
|
1000
581
|
"../../node_modules/semver/ranges/min-satisfying.js"(exports, module) {
|
|
1001
582
|
"use strict";
|
|
1002
|
-
var SemVer = require_semver()
|
|
1003
|
-
|
|
1004
|
-
var minSatisfying = /* @__PURE__ */ __name((versions, range, options) => {
|
|
1005
|
-
let min = null;
|
|
1006
|
-
let minSV = null;
|
|
1007
|
-
let rangeObj = null;
|
|
583
|
+
var SemVer = require_semver(), Range = require_range(), minSatisfying = (versions, range, options) => {
|
|
584
|
+
let min = null, minSV = null, rangeObj = null;
|
|
1008
585
|
try {
|
|
1009
586
|
rangeObj = new Range(range, options);
|
|
1010
|
-
} catch
|
|
587
|
+
} catch {
|
|
1011
588
|
return null;
|
|
1012
589
|
}
|
|
1013
|
-
versions.forEach((v) => {
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
minSV = new SemVer(min, options);
|
|
1018
|
-
}
|
|
1019
|
-
}
|
|
1020
|
-
});
|
|
1021
|
-
return min;
|
|
1022
|
-
}, "minSatisfying");
|
|
590
|
+
return versions.forEach((v) => {
|
|
591
|
+
rangeObj.test(v) && (!min || minSV.compare(v) === 1) && (min = v, minSV = new SemVer(min, options));
|
|
592
|
+
}), min;
|
|
593
|
+
};
|
|
1023
594
|
module.exports = minSatisfying;
|
|
1024
595
|
}
|
|
1025
596
|
});
|
|
@@ -1028,39 +599,23 @@ var require_min_satisfying = __commonJS({
|
|
|
1028
599
|
var require_min_version = __commonJS({
|
|
1029
600
|
"../../node_modules/semver/ranges/min-version.js"(exports, module) {
|
|
1030
601
|
"use strict";
|
|
1031
|
-
var SemVer = require_semver()
|
|
1032
|
-
var Range = require_range();
|
|
1033
|
-
var gt = require_gt();
|
|
1034
|
-
var minVersion = /* @__PURE__ */ __name((range, loose) => {
|
|
602
|
+
var SemVer = require_semver(), Range = require_range(), gt = require_gt(), minVersion = (range, loose) => {
|
|
1035
603
|
range = new Range(range, loose);
|
|
1036
604
|
let minver = new SemVer("0.0.0");
|
|
1037
|
-
if (range.test(minver))
|
|
1038
|
-
return minver;
|
|
1039
|
-
}
|
|
1040
|
-
minver = new SemVer("0.0.0-0");
|
|
1041
|
-
if (range.test(minver)) {
|
|
605
|
+
if (range.test(minver) || (minver = new SemVer("0.0.0-0"), range.test(minver)))
|
|
1042
606
|
return minver;
|
|
1043
|
-
}
|
|
1044
607
|
minver = null;
|
|
1045
608
|
for (let i = 0; i < range.set.length; ++i) {
|
|
1046
|
-
|
|
1047
|
-
let setMin = null;
|
|
609
|
+
let comparators = range.set[i], setMin = null;
|
|
1048
610
|
comparators.forEach((comparator) => {
|
|
1049
|
-
|
|
611
|
+
let compver = new SemVer(comparator.semver.version);
|
|
1050
612
|
switch (comparator.operator) {
|
|
1051
613
|
case ">":
|
|
1052
|
-
|
|
1053
|
-
compver.patch++;
|
|
1054
|
-
} else {
|
|
1055
|
-
compver.prerelease.push(0);
|
|
1056
|
-
}
|
|
1057
|
-
compver.raw = compver.format();
|
|
614
|
+
compver.prerelease.length === 0 ? compver.patch++ : compver.prerelease.push(0), compver.raw = compver.format();
|
|
1058
615
|
/* fallthrough */
|
|
1059
616
|
case "":
|
|
1060
617
|
case ">=":
|
|
1061
|
-
|
|
1062
|
-
setMin = compver;
|
|
1063
|
-
}
|
|
618
|
+
(!setMin || gt(compver, setMin)) && (setMin = compver);
|
|
1064
619
|
break;
|
|
1065
620
|
case "<":
|
|
1066
621
|
case "<=":
|
|
@@ -1069,16 +624,10 @@ var require_min_version = __commonJS({
|
|
|
1069
624
|
default:
|
|
1070
625
|
throw new Error(`Unexpected operation: ${comparator.operator}`);
|
|
1071
626
|
}
|
|
1072
|
-
});
|
|
1073
|
-
if (setMin && (!minver || gt(minver, setMin))) {
|
|
1074
|
-
minver = setMin;
|
|
1075
|
-
}
|
|
627
|
+
}), setMin && (!minver || gt(minver, setMin)) && (minver = setMin);
|
|
1076
628
|
}
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
}
|
|
1080
|
-
return null;
|
|
1081
|
-
}, "minVersion");
|
|
629
|
+
return minver && range.test(minver) ? minver : null;
|
|
630
|
+
};
|
|
1082
631
|
module.exports = minVersion;
|
|
1083
632
|
}
|
|
1084
633
|
});
|
|
@@ -1087,14 +636,13 @@ var require_min_version = __commonJS({
|
|
|
1087
636
|
var require_valid2 = __commonJS({
|
|
1088
637
|
"../../node_modules/semver/ranges/valid.js"(exports, module) {
|
|
1089
638
|
"use strict";
|
|
1090
|
-
var Range = require_range()
|
|
1091
|
-
var validRange = /* @__PURE__ */ __name((range, options) => {
|
|
639
|
+
var Range = require_range(), validRange = (range, options) => {
|
|
1092
640
|
try {
|
|
1093
641
|
return new Range(range, options).range || "*";
|
|
1094
|
-
} catch
|
|
642
|
+
} catch {
|
|
1095
643
|
return null;
|
|
1096
644
|
}
|
|
1097
|
-
}
|
|
645
|
+
};
|
|
1098
646
|
module.exports = validRange;
|
|
1099
647
|
}
|
|
1100
648
|
});
|
|
@@ -1103,67 +651,32 @@ var require_valid2 = __commonJS({
|
|
|
1103
651
|
var require_outside = __commonJS({
|
|
1104
652
|
"../../node_modules/semver/ranges/outside.js"(exports, module) {
|
|
1105
653
|
"use strict";
|
|
1106
|
-
var SemVer = require_semver()
|
|
1107
|
-
|
|
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);
|
|
654
|
+
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) => {
|
|
655
|
+
version = new SemVer(version, options), range = new Range(range, options);
|
|
1118
656
|
let gtfn, ltefn, ltfn, comp, ecomp;
|
|
1119
657
|
switch (hilo) {
|
|
1120
658
|
case ">":
|
|
1121
|
-
gtfn = gt;
|
|
1122
|
-
ltefn = lte;
|
|
1123
|
-
ltfn = lt;
|
|
1124
|
-
comp = ">";
|
|
1125
|
-
ecomp = ">=";
|
|
659
|
+
gtfn = gt, ltefn = lte, ltfn = lt, comp = ">", ecomp = ">=";
|
|
1126
660
|
break;
|
|
1127
661
|
case "<":
|
|
1128
|
-
gtfn = lt;
|
|
1129
|
-
ltefn = gte;
|
|
1130
|
-
ltfn = gt;
|
|
1131
|
-
comp = "<";
|
|
1132
|
-
ecomp = "<=";
|
|
662
|
+
gtfn = lt, ltefn = gte, ltfn = gt, comp = "<", ecomp = "<=";
|
|
1133
663
|
break;
|
|
1134
664
|
default:
|
|
1135
665
|
throw new TypeError('Must provide a hilo val of "<" or ">"');
|
|
1136
666
|
}
|
|
1137
|
-
if (satisfies2(version, range, options))
|
|
1138
|
-
return
|
|
1139
|
-
}
|
|
667
|
+
if (satisfies2(version, range, options))
|
|
668
|
+
return !1;
|
|
1140
669
|
for (let i = 0; i < range.set.length; ++i) {
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
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");
|
|
670
|
+
let comparators = range.set[i], high = null, low = null;
|
|
671
|
+
if (comparators.forEach((comparator) => {
|
|
672
|
+
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);
|
|
673
|
+
}), high.operator === comp || high.operator === ecomp || (!low.operator || low.operator === comp) && ltefn(version, low.semver))
|
|
674
|
+
return !1;
|
|
675
|
+
if (low.operator === ecomp && ltfn(version, low.semver))
|
|
676
|
+
return !1;
|
|
677
|
+
}
|
|
678
|
+
return !0;
|
|
679
|
+
};
|
|
1167
680
|
module.exports = outside;
|
|
1168
681
|
}
|
|
1169
682
|
});
|
|
@@ -1172,8 +685,7 @@ var require_outside = __commonJS({
|
|
|
1172
685
|
var require_gtr = __commonJS({
|
|
1173
686
|
"../../node_modules/semver/ranges/gtr.js"(exports, module) {
|
|
1174
687
|
"use strict";
|
|
1175
|
-
var outside = require_outside();
|
|
1176
|
-
var gtr = /* @__PURE__ */ __name((version, range, options) => outside(version, range, ">", options), "gtr");
|
|
688
|
+
var outside = require_outside(), gtr = (version, range, options) => outside(version, range, ">", options);
|
|
1177
689
|
module.exports = gtr;
|
|
1178
690
|
}
|
|
1179
691
|
});
|
|
@@ -1182,8 +694,7 @@ var require_gtr = __commonJS({
|
|
|
1182
694
|
var require_ltr = __commonJS({
|
|
1183
695
|
"../../node_modules/semver/ranges/ltr.js"(exports, module) {
|
|
1184
696
|
"use strict";
|
|
1185
|
-
var outside = require_outside();
|
|
1186
|
-
var ltr = /* @__PURE__ */ __name((version, range, options) => outside(version, range, "<", options), "ltr");
|
|
697
|
+
var outside = require_outside(), ltr = (version, range, options) => outside(version, range, "<", options);
|
|
1187
698
|
module.exports = ltr;
|
|
1188
699
|
}
|
|
1189
700
|
});
|
|
@@ -1192,12 +703,7 @@ var require_ltr = __commonJS({
|
|
|
1192
703
|
var require_intersects = __commonJS({
|
|
1193
704
|
"../../node_modules/semver/ranges/intersects.js"(exports, module) {
|
|
1194
705
|
"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");
|
|
706
|
+
var Range = require_range(), intersects = (r1, r2, options) => (r1 = new Range(r1, options), r2 = new Range(r2, options), r1.intersects(r2, options));
|
|
1201
707
|
module.exports = intersects;
|
|
1202
708
|
}
|
|
1203
709
|
});
|
|
@@ -1206,47 +712,16 @@ var require_intersects = __commonJS({
|
|
|
1206
712
|
var require_simplify = __commonJS({
|
|
1207
713
|
"../../node_modules/semver/ranges/simplify.js"(exports, module) {
|
|
1208
714
|
"use strict";
|
|
1209
|
-
var satisfies2 = require_satisfies();
|
|
1210
|
-
var compare = require_compare();
|
|
715
|
+
var satisfies2 = require_satisfies(), compare = require_compare();
|
|
1211
716
|
module.exports = (versions, range, options) => {
|
|
1212
|
-
|
|
1213
|
-
let
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
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);
|
|
717
|
+
let set = [], first = null, prev = null, v = versions.sort((a, b) => compare(a, b, options));
|
|
718
|
+
for (let version of v)
|
|
719
|
+
satisfies2(version, range, options) ? (prev = version, first || (first = version)) : (prev && set.push([first, prev]), prev = null, first = null);
|
|
720
|
+
first && set.push([first, null]);
|
|
721
|
+
let ranges = [];
|
|
722
|
+
for (let [min, max] of set)
|
|
723
|
+
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}`);
|
|
724
|
+
let simplified = ranges.join(" || "), original = typeof range.raw == "string" ? range.raw : String(range);
|
|
1250
725
|
return simplified.length < original.length ? simplified : range;
|
|
1251
726
|
};
|
|
1252
727
|
}
|
|
@@ -1256,160 +731,86 @@ var require_simplify = __commonJS({
|
|
|
1256
731
|
var require_subset = __commonJS({
|
|
1257
732
|
"../../node_modules/semver/ranges/subset.js"(exports, module) {
|
|
1258
733
|
"use strict";
|
|
1259
|
-
var Range = require_range()
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
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) {
|
|
734
|
+
var Range = require_range(), Comparator = require_comparator(), { ANY } = Comparator, satisfies2 = require_satisfies(), compare = require_compare(), subset = (sub, dom, options = {}) => {
|
|
735
|
+
if (sub === dom)
|
|
736
|
+
return !0;
|
|
737
|
+
sub = new Range(sub, options), dom = new Range(dom, options);
|
|
738
|
+
let sawNonNull = !1;
|
|
739
|
+
OUTER: for (let simpleSub of sub.set) {
|
|
740
|
+
for (let simpleDom of dom.set) {
|
|
741
|
+
let isSub = simpleSubset(simpleSub, simpleDom, options);
|
|
742
|
+
if (sawNonNull = sawNonNull || isSub !== null, isSub)
|
|
1276
743
|
continue OUTER;
|
|
1277
|
-
}
|
|
1278
744
|
}
|
|
1279
|
-
if (sawNonNull)
|
|
1280
|
-
return
|
|
1281
|
-
}
|
|
1282
|
-
}
|
|
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;
|
|
745
|
+
if (sawNonNull)
|
|
746
|
+
return !1;
|
|
1290
747
|
}
|
|
748
|
+
return !0;
|
|
749
|
+
}, minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")], minimumVersion = [new Comparator(">=0.0.0")], simpleSubset = (sub, dom, options) => {
|
|
750
|
+
if (sub === dom)
|
|
751
|
+
return !0;
|
|
1291
752
|
if (sub.length === 1 && sub[0].semver === ANY) {
|
|
1292
|
-
if (dom.length === 1 && dom[0].semver === ANY)
|
|
1293
|
-
return
|
|
1294
|
-
|
|
1295
|
-
sub = minimumVersionWithPreRelease;
|
|
1296
|
-
} else {
|
|
1297
|
-
sub = minimumVersion;
|
|
1298
|
-
}
|
|
753
|
+
if (dom.length === 1 && dom[0].semver === ANY)
|
|
754
|
+
return !0;
|
|
755
|
+
options.includePrerelease ? sub = minimumVersionWithPreRelease : sub = minimumVersion;
|
|
1299
756
|
}
|
|
1300
757
|
if (dom.length === 1 && dom[0].semver === ANY) {
|
|
1301
|
-
if (options.includePrerelease)
|
|
1302
|
-
return
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
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) {
|
|
758
|
+
if (options.includePrerelease)
|
|
759
|
+
return !0;
|
|
760
|
+
dom = minimumVersion;
|
|
761
|
+
}
|
|
762
|
+
let eqSet = /* @__PURE__ */ new Set(), gt, lt;
|
|
763
|
+
for (let c of sub)
|
|
764
|
+
c.operator === ">" || c.operator === ">=" ? gt = higherGT(gt, c, options) : c.operator === "<" || c.operator === "<=" ? lt = lowerLT(lt, c, options) : eqSet.add(c.semver);
|
|
765
|
+
if (eqSet.size > 1)
|
|
1319
766
|
return null;
|
|
1320
|
-
}
|
|
1321
767
|
let gtltComp;
|
|
1322
768
|
if (gt && lt) {
|
|
1323
|
-
gtltComp = compare(gt.semver, lt.semver, options)
|
|
1324
|
-
if (gtltComp > 0) {
|
|
769
|
+
if (gtltComp = compare(gt.semver, lt.semver, options), gtltComp > 0)
|
|
1325
770
|
return null;
|
|
1326
|
-
|
|
771
|
+
if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<="))
|
|
1327
772
|
return null;
|
|
1328
|
-
}
|
|
1329
773
|
}
|
|
1330
|
-
for (
|
|
1331
|
-
if (gt && !satisfies2(eq, String(gt), options))
|
|
1332
|
-
return null;
|
|
1333
|
-
}
|
|
1334
|
-
if (lt && !satisfies2(eq, String(lt), options)) {
|
|
774
|
+
for (let eq of eqSet) {
|
|
775
|
+
if (gt && !satisfies2(eq, String(gt), options) || lt && !satisfies2(eq, String(lt), options))
|
|
1335
776
|
return null;
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
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
|
-
}
|
|
777
|
+
for (let c of dom)
|
|
778
|
+
if (!satisfies2(eq, String(c), options))
|
|
779
|
+
return !1;
|
|
780
|
+
return !0;
|
|
781
|
+
}
|
|
782
|
+
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;
|
|
783
|
+
needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0 && (needDomLTPre = !1);
|
|
784
|
+
for (let c of dom) {
|
|
785
|
+
if (hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=", hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=", gt) {
|
|
786
|
+
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 === ">=") {
|
|
787
|
+
if (higher = higherGT(gt, c, options), higher === c && higher !== gt)
|
|
788
|
+
return !1;
|
|
789
|
+
} else if (gt.operator === ">=" && !satisfies2(gt.semver, String(c), options))
|
|
790
|
+
return !1;
|
|
1368
791
|
}
|
|
1369
792
|
if (lt) {
|
|
1370
|
-
if (needDomLTPre) {
|
|
1371
|
-
if (
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
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) {
|
|
793
|
+
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 === "<=") {
|
|
794
|
+
if (lower = lowerLT(lt, c, options), lower === c && lower !== lt)
|
|
795
|
+
return !1;
|
|
796
|
+
} else if (lt.operator === "<=" && !satisfies2(lt.semver, String(c), options))
|
|
797
|
+
return !1;
|
|
798
|
+
}
|
|
799
|
+
if (!c.operator && (lt || gt) && gtltComp !== 0)
|
|
800
|
+
return !1;
|
|
801
|
+
}
|
|
802
|
+
return !(gt && hasDomLT && !lt && gtltComp !== 0 || lt && hasDomGT && !gt && gtltComp !== 0 || needDomGTPre || needDomLTPre);
|
|
803
|
+
}, higherGT = (a, b, options) => {
|
|
804
|
+
if (!a)
|
|
1401
805
|
return b;
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
var lowerLT = /* @__PURE__ */ __name((a, b, options) => {
|
|
1407
|
-
if (!a) {
|
|
806
|
+
let comp = compare(a.semver, b.semver, options);
|
|
807
|
+
return comp > 0 ? a : comp < 0 || b.operator === ">" && a.operator === ">=" ? b : a;
|
|
808
|
+
}, lowerLT = (a, b, options) => {
|
|
809
|
+
if (!a)
|
|
1408
810
|
return b;
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
}, "lowerLT");
|
|
811
|
+
let comp = compare(a.semver, b.semver, options);
|
|
812
|
+
return comp < 0 ? a : comp > 0 || b.operator === "<" && a.operator === "<=" ? b : a;
|
|
813
|
+
};
|
|
1413
814
|
module.exports = subset;
|
|
1414
815
|
}
|
|
1415
816
|
});
|
|
@@ -1418,47 +819,7 @@ var require_subset = __commonJS({
|
|
|
1418
819
|
var require_semver2 = __commonJS({
|
|
1419
820
|
"../../node_modules/semver/index.js"(exports, module) {
|
|
1420
821
|
"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();
|
|
822
|
+
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(), coerce = 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
823
|
module.exports = {
|
|
1463
824
|
parse,
|
|
1464
825
|
valid,
|
|
@@ -1482,7 +843,7 @@ var require_semver2 = __commonJS({
|
|
|
1482
843
|
gte,
|
|
1483
844
|
lte,
|
|
1484
845
|
cmp,
|
|
1485
|
-
coerce
|
|
846
|
+
coerce,
|
|
1486
847
|
Comparator,
|
|
1487
848
|
Range,
|
|
1488
849
|
satisfies: satisfies2,
|
|
@@ -1513,120 +874,58 @@ var require_semver2 = __commonJS({
|
|
|
1513
874
|
import { existsSync } from "node:fs";
|
|
1514
875
|
import * as fs2 from "node:fs/promises";
|
|
1515
876
|
import { writeFile } from "node:fs/promises";
|
|
1516
|
-
import {
|
|
1517
|
-
import {
|
|
1518
|
-
import { babelParse, generate, traverse } from "storybook/internal/babel";
|
|
877
|
+
import { babelParse, generate } from "storybook/internal/babel";
|
|
878
|
+
import { AddonVitestService } from "storybook/internal/cli";
|
|
1519
879
|
import {
|
|
1520
880
|
JsPackageManagerFactory,
|
|
1521
881
|
formatFileContent,
|
|
1522
|
-
getInterpretedFile,
|
|
1523
882
|
getProjectRoot,
|
|
1524
|
-
|
|
1525
|
-
loadMainConfig,
|
|
1526
|
-
scanAndTransformFiles,
|
|
1527
|
-
transformImportFiles
|
|
883
|
+
getStorybookInfo
|
|
1528
884
|
} from "storybook/internal/common";
|
|
1529
|
-
import {
|
|
1530
|
-
import {
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
}
|
|
1537
|
-
__name(up2, "up");
|
|
1538
|
-
|
|
1539
|
-
// src/postinstall.ts
|
|
1540
|
-
var import_semver = __toESM(require_semver2(), 1);
|
|
1541
|
-
import prompts from "prompts";
|
|
1542
|
-
import { dedent } from "ts-dedent";
|
|
1543
|
-
|
|
1544
|
-
// src/postinstall-logger.ts
|
|
1545
|
-
import { isCI } from "storybook/internal/common";
|
|
1546
|
-
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 = {
|
|
1554
|
-
borderStyle: "round",
|
|
1555
|
-
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");
|
|
885
|
+
import { CLI_COLORS } from "storybook/internal/node-logger";
|
|
886
|
+
import {
|
|
887
|
+
AddonVitestPostinstallError,
|
|
888
|
+
AddonVitestPostinstallPrerequisiteCheckError
|
|
889
|
+
} from "storybook/internal/server-errors";
|
|
890
|
+
import { SupportedFramework } from "storybook/internal/types";
|
|
891
|
+
var import_semver = __toESM(require_semver2(), 1), import_ts_dedent = __toESM(require_dist(), 1);
|
|
1565
892
|
|
|
1566
893
|
// src/updateVitestFile.ts
|
|
1567
894
|
import * as fs from "node:fs/promises";
|
|
1568
|
-
var loadTemplate =
|
|
895
|
+
var loadTemplate = async (name, replacements) => {
|
|
1569
896
|
let template = await fs.readFile(
|
|
1570
897
|
join(resolvePackageDir("@storybook/addon-vitest"), "templates", name),
|
|
1571
898
|
"utf8"
|
|
1572
899
|
);
|
|
1573
|
-
Object.entries(replacements).forEach(([key, value]) => template = template.replace(key, value));
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
var mergeProperties = /* @__PURE__ */ __name((source, target) => {
|
|
1577
|
-
for (const sourceProp of source) {
|
|
900
|
+
return Object.entries(replacements).forEach(([key, value]) => template = template.replace(key, value)), template;
|
|
901
|
+
}, mergeProperties = (source, target) => {
|
|
902
|
+
for (let sourceProp of source)
|
|
1578
903
|
if (sourceProp.type === "ObjectProperty") {
|
|
1579
|
-
|
|
904
|
+
let targetProp = target.find(
|
|
1580
905
|
(p) => sourceProp.key.type === "Identifier" && p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === sourceProp.key.name
|
|
1581
906
|
);
|
|
1582
|
-
|
|
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
|
-
}
|
|
907
|
+
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
908
|
}
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
var updateConfigFile = /* @__PURE__ */ __name((source, target) => {
|
|
1597
|
-
let updated = false;
|
|
1598
|
-
const sourceExportDefault = source.program.body.find(
|
|
909
|
+
}, updateConfigFile = (source, target) => {
|
|
910
|
+
let updated = !1, sourceExportDefault = source.program.body.find(
|
|
1599
911
|
(n) => n.type === "ExportDefaultDeclaration"
|
|
1600
912
|
);
|
|
1601
|
-
if (!sourceExportDefault || sourceExportDefault.declaration.type !== "CallExpression")
|
|
1602
|
-
return
|
|
1603
|
-
|
|
1604
|
-
const targetExportDefault = target.program.body.find(
|
|
913
|
+
if (!sourceExportDefault || sourceExportDefault.declaration.type !== "CallExpression")
|
|
914
|
+
return !1;
|
|
915
|
+
let targetExportDefault = target.program.body.find(
|
|
1605
916
|
(n) => n.type === "ExportDefaultDeclaration"
|
|
1606
917
|
);
|
|
1607
|
-
if (!targetExportDefault)
|
|
1608
|
-
return
|
|
1609
|
-
|
|
1610
|
-
if (targetExportDefault.declaration.type === "CallExpression" && targetExportDefault.declaration.callee.type === "Identifier" && targetExportDefault.declaration.callee.name === "defineConfig" && targetExportDefault.declaration.arguments.
|
|
1611
|
-
return
|
|
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) {
|
|
918
|
+
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")
|
|
919
|
+
return !1;
|
|
920
|
+
let canHandleConfig = !1;
|
|
921
|
+
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)
|
|
922
|
+
return !1;
|
|
923
|
+
for (let sourceNode of source.program.body)
|
|
1625
924
|
if (sourceNode.type === "ImportDeclaration") {
|
|
1626
925
|
if (!target.program.body.some(
|
|
1627
926
|
(targetNode) => targetNode.type === sourceNode.type && targetNode.specifiers.some((s) => s.local.name === sourceNode.specifiers[0].local.name)
|
|
1628
927
|
)) {
|
|
1629
|
-
|
|
928
|
+
let lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
|
|
1630
929
|
target.program.body.splice(lastImport + 1, 0, sourceNode);
|
|
1631
930
|
}
|
|
1632
931
|
} else if (sourceNode.type === "VariableDeclaration") {
|
|
@@ -1635,110 +934,88 @@ var updateConfigFile = /* @__PURE__ */ __name((source, target) => {
|
|
|
1635
934
|
(d) => "name" in d.id && "name" in sourceNode.declarations[0].id && d.id.name === sourceNode.declarations[0].id.name
|
|
1636
935
|
)
|
|
1637
936
|
)) {
|
|
1638
|
-
|
|
937
|
+
let lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
|
|
1639
938
|
target.program.body.splice(lastImport + 1, 0, sourceNode);
|
|
1640
939
|
}
|
|
1641
940
|
} else if (sourceNode.type === "ExportDefaultDeclaration") {
|
|
1642
|
-
|
|
941
|
+
let exportDefault = target.program.body.find((n) => n.type === "ExportDefaultDeclaration");
|
|
1643
942
|
if (exportDefault && sourceNode.declaration.type === "CallExpression" && sourceNode.declaration.arguments.length > 0 && sourceNode.declaration.arguments[0].type === "ObjectExpression") {
|
|
1644
|
-
|
|
1645
|
-
if (exportDefault.declaration.type === "ObjectExpression")
|
|
1646
|
-
mergeProperties(properties, exportDefault.declaration.properties);
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
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(
|
|
943
|
+
let { properties } = sourceNode.declaration.arguments[0];
|
|
944
|
+
if (exportDefault.declaration.type === "ObjectExpression")
|
|
945
|
+
mergeProperties(properties, exportDefault.declaration.properties), updated = !0;
|
|
946
|
+
else if (exportDefault.declaration.type === "CallExpression" && exportDefault.declaration.callee.type === "Identifier" && exportDefault.declaration.callee.name === "defineConfig" && exportDefault.declaration.arguments[0]?.type === "ObjectExpression")
|
|
947
|
+
mergeProperties(properties, exportDefault.declaration.arguments[0].properties), updated = !0;
|
|
948
|
+
else if (exportDefault.declaration.type === "CallExpression" && exportDefault.declaration.callee.type === "Identifier" && exportDefault.declaration.callee.name === "mergeConfig" && exportDefault.declaration.arguments.length >= 2) {
|
|
949
|
+
let configObjectNodes = [];
|
|
950
|
+
for (let arg of exportDefault.declaration.arguments)
|
|
951
|
+
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);
|
|
952
|
+
let targetConfigObject = configObjectNodes.find(
|
|
1661
953
|
(obj) => obj.properties.some(
|
|
1662
954
|
(p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "test"
|
|
1663
955
|
)
|
|
1664
|
-
);
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
}
|
|
1669
|
-
const existingTestProp = targetConfigObject.properties.find(
|
|
956
|
+
) || configObjectNodes[0];
|
|
957
|
+
if (!targetConfigObject)
|
|
958
|
+
return !1;
|
|
959
|
+
let existingTestProp = targetConfigObject.properties.find(
|
|
1670
960
|
(p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "test"
|
|
1671
961
|
);
|
|
1672
962
|
if (existingTestProp && existingTestProp.value.type === "ObjectExpression") {
|
|
1673
|
-
|
|
963
|
+
let templateTestProp = properties.find(
|
|
1674
964
|
(p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "test"
|
|
1675
965
|
);
|
|
1676
966
|
if (templateTestProp && templateTestProp.value.type === "ObjectExpression") {
|
|
1677
|
-
|
|
967
|
+
let workspaceOrProjectsProp = templateTestProp.value.properties.find(
|
|
1678
968
|
(p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && (p.key.name === "workspace" || p.key.name === "projects")
|
|
1679
969
|
);
|
|
1680
970
|
if (workspaceOrProjectsProp && workspaceOrProjectsProp.value.type === "ArrayExpression") {
|
|
1681
|
-
|
|
971
|
+
let coverageProp = existingTestProp.value.properties.find(
|
|
1682
972
|
(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 = {
|
|
973
|
+
), testConfigForProject = {
|
|
1688
974
|
type: "ObjectExpression",
|
|
1689
|
-
properties:
|
|
1690
|
-
|
|
1691
|
-
|
|
975
|
+
properties: existingTestProp.value.properties.filter(
|
|
976
|
+
(p) => p !== coverageProp
|
|
977
|
+
)
|
|
978
|
+
}, existingTestProject = {
|
|
1692
979
|
type: "ObjectExpression",
|
|
1693
980
|
properties: [
|
|
1694
981
|
{
|
|
1695
982
|
type: "ObjectProperty",
|
|
1696
983
|
key: { type: "Identifier", name: "extends" },
|
|
1697
|
-
value: { type: "BooleanLiteral", value:
|
|
1698
|
-
computed:
|
|
1699
|
-
shorthand:
|
|
984
|
+
value: { type: "BooleanLiteral", value: !0 },
|
|
985
|
+
computed: !1,
|
|
986
|
+
shorthand: !1
|
|
1700
987
|
},
|
|
1701
988
|
{
|
|
1702
989
|
type: "ObjectProperty",
|
|
1703
990
|
key: { type: "Identifier", name: "test" },
|
|
1704
991
|
value: testConfigForProject,
|
|
1705
|
-
computed:
|
|
1706
|
-
shorthand:
|
|
992
|
+
computed: !1,
|
|
993
|
+
shorthand: !1
|
|
1707
994
|
}
|
|
1708
995
|
]
|
|
1709
996
|
};
|
|
1710
|
-
workspaceOrProjectsProp.value.elements.unshift(existingTestProject)
|
|
1711
|
-
targetConfigObject.properties = targetConfigObject.properties.filter(
|
|
997
|
+
workspaceOrProjectsProp.value.elements.unshift(existingTestProject), targetConfigObject.properties = targetConfigObject.properties.filter(
|
|
1712
998
|
(p) => p !== existingTestProp
|
|
1713
|
-
);
|
|
1714
|
-
|
|
1715
|
-
templateTestProp.value.properties.unshift(coverageProp);
|
|
1716
|
-
}
|
|
1717
|
-
mergeProperties(properties, targetConfigObject.properties);
|
|
1718
|
-
} else {
|
|
999
|
+
), coverageProp && templateTestProp.value.type === "ObjectExpression" && templateTestProp.value.properties.unshift(coverageProp), mergeProperties(properties, targetConfigObject.properties);
|
|
1000
|
+
} else
|
|
1719
1001
|
mergeProperties(properties, targetConfigObject.properties);
|
|
1720
|
-
|
|
1721
|
-
} else {
|
|
1002
|
+
} else
|
|
1722
1003
|
mergeProperties(properties, targetConfigObject.properties);
|
|
1723
|
-
|
|
1724
|
-
} else {
|
|
1004
|
+
} else
|
|
1725
1005
|
mergeProperties(properties, targetConfigObject.properties);
|
|
1726
|
-
|
|
1727
|
-
updated = true;
|
|
1006
|
+
updated = !0;
|
|
1728
1007
|
}
|
|
1729
1008
|
}
|
|
1730
1009
|
}
|
|
1731
|
-
}
|
|
1732
1010
|
return updated;
|
|
1733
|
-
},
|
|
1734
|
-
|
|
1735
|
-
let
|
|
1736
|
-
for (const sourceNode of source.program.body) {
|
|
1011
|
+
}, updateWorkspaceFile = (source, target) => {
|
|
1012
|
+
let updated = !1;
|
|
1013
|
+
for (let sourceNode of source.program.body)
|
|
1737
1014
|
if (sourceNode.type === "ImportDeclaration") {
|
|
1738
1015
|
if (!target.program.body.some(
|
|
1739
1016
|
(targetNode) => targetNode.type === sourceNode.type && targetNode.source.value === sourceNode.source.value && targetNode.specifiers.some((s) => s.local.name === sourceNode.specifiers[0].local.name)
|
|
1740
1017
|
)) {
|
|
1741
|
-
|
|
1018
|
+
let lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
|
|
1742
1019
|
target.program.body.splice(lastImport + 1, 0, sourceNode);
|
|
1743
1020
|
}
|
|
1744
1021
|
} else if (sourceNode.type === "VariableDeclaration") {
|
|
@@ -1747,338 +1024,134 @@ var updateWorkspaceFile = /* @__PURE__ */ __name((source, target) => {
|
|
|
1747
1024
|
(d) => "name" in d.id && "name" in sourceNode.declarations[0].id && d.id.name === sourceNode.declarations[0].id.name
|
|
1748
1025
|
)
|
|
1749
1026
|
)) {
|
|
1750
|
-
|
|
1027
|
+
let lastImport = target.program.body.findLastIndex((n) => n.type === "ImportDeclaration");
|
|
1751
1028
|
target.program.body.splice(lastImport + 1, 0, sourceNode);
|
|
1752
1029
|
}
|
|
1753
1030
|
} else if (sourceNode.type === "ExportDefaultDeclaration") {
|
|
1754
|
-
|
|
1031
|
+
let exportDefault = target.program.body.find((n) => n.type === "ExportDefaultDeclaration");
|
|
1755
1032
|
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
|
-
|
|
1757
|
-
|
|
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
|
-
}
|
|
1033
|
+
let { elements } = sourceNode.declaration.arguments[0];
|
|
1034
|
+
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
1035
|
}
|
|
1765
1036
|
}
|
|
1766
|
-
}
|
|
1767
1037
|
return updated;
|
|
1768
|
-
}
|
|
1038
|
+
};
|
|
1769
1039
|
|
|
1770
1040
|
// 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;
|
|
1775
|
-
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;
|
|
1786
|
-
}
|
|
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(
|
|
1793
|
-
extensions.map((ext) => basename + ext),
|
|
1794
|
-
{ last: getProjectRoot() }
|
|
1795
|
-
), "findFile");
|
|
1041
|
+
var ADDON_NAME = "@storybook/addon-vitest", EXTENSIONS = [".ts", ".tsx", ".js", ".jsx", ".cts", ".mts", ".cjs", ".mjs"], addonA11yName = "@storybook/addon-a11y";
|
|
1796
1042
|
async function postInstall(options) {
|
|
1797
|
-
|
|
1798
|
-
"\u{1F44B} Howdy!",
|
|
1799
|
-
dedent`
|
|
1800
|
-
I'm the installation helper for ${ADDON_NAME}
|
|
1801
|
-
|
|
1802
|
-
Hold on for a moment while I look at your project and get it set up...
|
|
1803
|
-
`
|
|
1804
|
-
);
|
|
1805
|
-
const packageManager = JsPackageManagerFactory.getPackageManager({
|
|
1043
|
+
let errors = [], { logger, prompt } = options, packageManager = JsPackageManagerFactory.getPackageManager({
|
|
1806
1044
|
force: options.packageManager
|
|
1807
|
-
})
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
type: "confirm",
|
|
1827
|
-
name: "migrateToNextjsVite",
|
|
1828
|
-
message: dedent`
|
|
1829
|
-
The addon requires the use of @storybook/nextjs-vite to work with Next.js.
|
|
1830
|
-
https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#install-and-set-up
|
|
1045
|
+
}), findFile = (basename, extensions = EXTENSIONS) => any(
|
|
1046
|
+
extensions.map((ext) => basename + ext),
|
|
1047
|
+
{ last: getProjectRoot(), cwd: options.configDir }
|
|
1048
|
+
), vitestVersionSpecifier = await packageManager.getInstalledVersion("vitest");
|
|
1049
|
+
logger.debug(`Vitest version specifier: ${vitestVersionSpecifier}`);
|
|
1050
|
+
let 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, info = await getStorybookInfo(options.configDir), allDeps = packageManager.getAllDependencies(), addonVitestService = new AddonVitestService(), compatibilityResult = await addonVitestService.validateCompatibility({
|
|
1051
|
+
packageManager,
|
|
1052
|
+
framework: info.framework,
|
|
1053
|
+
builder: info.builder
|
|
1054
|
+
}), result = null;
|
|
1055
|
+
if (!compatibilityResult.compatible && compatibilityResult.reasons) {
|
|
1056
|
+
let reasons = compatibilityResult.reasons.map((r) => `\u2022 ${CLI_COLORS.error(r)}`);
|
|
1057
|
+
reasons.unshift(import_ts_dedent.dedent`
|
|
1058
|
+
Automated setup failed
|
|
1059
|
+
The following packages have incompatibilities that prevent automated setup:
|
|
1060
|
+
`), reasons.push(
|
|
1061
|
+
import_ts_dedent.dedent`
|
|
1062
|
+
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
|
|
1063
|
+
in your main Storybook config file and remove the dependency from your package.json file.
|
|
1831
1064
|
|
|
1832
|
-
|
|
1833
|
-
|
|
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
|
-
});
|
|
1860
|
-
}
|
|
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
|
-
);
|
|
1875
|
-
}
|
|
1876
|
-
if (!isRendererSupported) {
|
|
1877
|
-
reasons.push(dedent`
|
|
1878
|
-
• 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`
|
|
1883
|
-
• The addon requires Vitest 3.0.0 or higher. You are currently using ${vitestVersionSpecifier}.
|
|
1884
|
-
Please update all of your Vitest dependencies and try again.
|
|
1885
|
-
`);
|
|
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`
|
|
1891
|
-
• 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
|
-
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`
|
|
1899
|
-
• You are using @storybook/nextjs without having "next" installed.
|
|
1900
|
-
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`
|
|
1911
|
-
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
|
-
in your main Storybook config file and remove the dependency from your package.json file.
|
|
1913
|
-
`
|
|
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`
|
|
1925
|
-
Fear not, however, you can follow the manual installation process instead at:
|
|
1926
|
-
https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#manual-setup
|
|
1927
|
-
`
|
|
1928
|
-
);
|
|
1929
|
-
}
|
|
1930
|
-
return reasons.map((r) => r.trim()).join("\n\n");
|
|
1931
|
-
}
|
|
1932
|
-
return null;
|
|
1933
|
-
}, "prerequisiteCheck");
|
|
1934
|
-
const result = await prerequisiteCheck();
|
|
1935
|
-
if (result) {
|
|
1936
|
-
logErrors("\u26D4\uFE0F Sorry!", result);
|
|
1937
|
-
logger2.line(1);
|
|
1938
|
-
return;
|
|
1939
|
-
}
|
|
1940
|
-
if (info2.frameworkPackageName === "@storybook/nextjs") {
|
|
1941
|
-
printInfo(
|
|
1942
|
-
"\u{1F37F} Just so you know...",
|
|
1943
|
-
dedent`
|
|
1944
|
-
It looks like you're using Next.js.
|
|
1945
|
-
|
|
1946
|
-
Adding "@storybook/nextjs-vite/vite-plugin" so you can use it with Vitest.
|
|
1947
|
-
|
|
1948
|
-
More info about the plugin at https://github.com/storybookjs/vite-plugin-storybook-nextjs
|
|
1065
|
+
Please check the documentation for more information about its requirements and installation:
|
|
1066
|
+
https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}
|
|
1949
1067
|
`
|
|
1950
|
-
)
|
|
1951
|
-
try {
|
|
1952
|
-
const storybookVersion = await packageManager.getInstalledVersion("storybook");
|
|
1953
|
-
uniqueDependencies.push(`@storybook/nextjs-vite@^${storybookVersion}`);
|
|
1954
|
-
} catch (e) {
|
|
1955
|
-
console.error("Failed to install @storybook/nextjs-vite. Please install it manually");
|
|
1956
|
-
}
|
|
1957
|
-
}
|
|
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`
|
|
1964
|
-
You don't seem to have a coverage reporter installed. Vitest needs either V8 or Istanbul to generate coverage reports.
|
|
1068
|
+
), result = reasons.map((r) => r.trim()).join(`
|
|
1965
1069
|
|
|
1966
|
-
|
|
1967
|
-
Read more about Vitest coverage providers at https://vitest.dev/guide/coverage.html#coverage-providers
|
|
1968
|
-
`
|
|
1969
|
-
);
|
|
1970
|
-
uniqueDependencies.push(`@vitest/coverage-v8`);
|
|
1070
|
+
`);
|
|
1971
1071
|
}
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
}
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
await packageManager.
|
|
1980
|
-
|
|
1072
|
+
if (result)
|
|
1073
|
+
throw logger.error(result), new AddonVitestPostinstallPrerequisiteCheckError({
|
|
1074
|
+
reasons: compatibilityResult.reasons
|
|
1075
|
+
});
|
|
1076
|
+
if (!options.skipDependencyManagement) {
|
|
1077
|
+
let versionedDependencies = await addonVitestService.collectDependencies(packageManager);
|
|
1078
|
+
info.framework === SupportedFramework.NEXTJS && packageManager.getAllDependencies()["@storybook/nextjs-vite"];
|
|
1079
|
+
let v8Version = await packageManager.getInstalledVersion("@vitest/coverage-v8"), istanbulVersion = await packageManager.getInstalledVersion("@vitest/coverage-istanbul");
|
|
1080
|
+
!v8Version && !istanbulVersion && logger.step(
|
|
1081
|
+
import_ts_dedent.dedent`
|
|
1082
|
+
You don't seem to have a coverage reporter installed. Vitest needs either V8 or Istanbul to generate coverage reports.
|
|
1083
|
+
|
|
1084
|
+
Adding "@vitest/coverage-v8" to enable coverage reporting.
|
|
1085
|
+
Read more about Vitest coverage providers at https://vitest.dev/guide/coverage.html#coverage-providers
|
|
1086
|
+
`
|
|
1087
|
+
), versionedDependencies.length > 0 && (logger.step("Adding dependencies to your package.json"), logger.log(" " + versionedDependencies.join(", ")), await packageManager.addDependencies(
|
|
1088
|
+
{ type: "devDependencies", skipInstall: !0 },
|
|
1981
1089
|
versionedDependencies
|
|
1982
|
-
);
|
|
1983
|
-
logger2.line(1);
|
|
1984
|
-
logger2.plain(`${step} Installing dependencies:`);
|
|
1985
|
-
logger2.plain(" " + versionedDependencies.join(", "));
|
|
1090
|
+
)), options.skipInstall || await packageManager.installDependencies();
|
|
1986
1091
|
}
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
console.error("Failed to install Playwright. Please install it manually");
|
|
1092
|
+
if (!options.skipDependencyManagement)
|
|
1093
|
+
if (options.skipInstall)
|
|
1094
|
+
logger.warn(import_ts_dedent.dedent`
|
|
1095
|
+
Playwright browser binaries installation skipped. Please run the following command manually later:
|
|
1096
|
+
${CLI_COLORS.cta("npx playwright install chromium --with-deps")}
|
|
1097
|
+
`);
|
|
1098
|
+
else {
|
|
1099
|
+
let { errors: playwrightErrors } = await addonVitestService.installPlaywright(
|
|
1100
|
+
packageManager,
|
|
1101
|
+
{
|
|
1102
|
+
yes: options.yes
|
|
1103
|
+
}
|
|
1104
|
+
);
|
|
1105
|
+
errors.push(...playwrightErrors);
|
|
2002
1106
|
}
|
|
2003
|
-
}
|
|
2004
|
-
const fileExtension = allDeps.typescript || findFile("tsconfig", [...EXTENSIONS, ".json"]) ? "ts" : "js";
|
|
2005
|
-
const vitestSetupFile = resolve(options.configDir, `vitest.setup.${fileExtension}`);
|
|
1107
|
+
let fileExtension = allDeps.typescript || findFile("tsconfig", [...EXTENSIONS, ".json"]) ? "ts" : "js", vitestSetupFile = resolve(options.configDir, `vitest.setup.${fileExtension}`);
|
|
2006
1108
|
if (existsSync(vitestSetupFile)) {
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
)
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
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(
|
|
2033
|
-
vitestSetupFile,
|
|
2034
|
-
dedent`
|
|
2035
|
-
${imports.join("\n")}
|
|
1109
|
+
let errorMessage = import_ts_dedent.dedent`
|
|
1110
|
+
Found an existing Vitest setup file:
|
|
1111
|
+
${vitestSetupFile}
|
|
1112
|
+
Please refer to the documentation to complete the setup manually:
|
|
1113
|
+
https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#manual-setup
|
|
1114
|
+
`;
|
|
1115
|
+
logger.line(), logger.error(`${errorMessage}
|
|
1116
|
+
`), errors.push("Found existing Vitest setup file");
|
|
1117
|
+
} else {
|
|
1118
|
+
logger.step("Creating a Vitest setup file for Storybook:"), logger.log(`${vitestSetupFile}
|
|
1119
|
+
`);
|
|
1120
|
+
let previewExists = EXTENSIONS.map((ext) => resolve(options.configDir, `preview${ext}`)).some(
|
|
1121
|
+
existsSync
|
|
1122
|
+
), imports = [`import { setProjectAnnotations } from '${info.frameworkPackage}';`], projectAnnotations = [];
|
|
1123
|
+
previewExists && (imports.push("import * as projectAnnotations from './preview';"), projectAnnotations.push("projectAnnotations")), await writeFile(
|
|
1124
|
+
vitestSetupFile,
|
|
1125
|
+
import_ts_dedent.dedent`
|
|
1126
|
+
${imports.join(`
|
|
1127
|
+
`)}
|
|
2036
1128
|
|
|
2037
1129
|
// This is an important step to apply the right configuration when testing your stories.
|
|
2038
1130
|
// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
|
|
2039
1131
|
setProjectAnnotations([${projectAnnotations.join(", ")}]);
|
|
2040
1132
|
`
|
|
2041
|
-
);
|
|
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
1133
|
);
|
|
2052
1134
|
}
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
return "vitest.config.template.ts";
|
|
2060
|
-
}, "getTemplateName");
|
|
1135
|
+
let vitestWorkspaceFile = findFile("vitest.workspace", [".ts", ".js", ".json"]), viteConfigFile = findFile("vite.config"), vitestConfigFile = findFile("vitest.config"), vitestShimFile = findFile("vitest.shims.d"), rootConfig = vitestConfigFile || viteConfigFile;
|
|
1136
|
+
fileExtension === "ts" && !vitestShimFile && await writeFile(
|
|
1137
|
+
"vitest.shims.d.ts",
|
|
1138
|
+
isVitest4OrNewer ? '/// <reference types="@vitest/browser-playwright" />' : '/// <reference types="@vitest/browser/providers/playwright" />'
|
|
1139
|
+
);
|
|
1140
|
+
let getTemplateName = () => isVitest4OrNewer ? "vitest.config.4.template.ts" : isVitest3_2To4 ? "vitest.config.3.2.template.ts" : "vitest.config.template.ts";
|
|
2061
1141
|
if (vitestWorkspaceFile) {
|
|
2062
|
-
|
|
1142
|
+
let workspaceTemplate = await loadTemplate("vitest.workspace.template.ts", {
|
|
2063
1143
|
EXTENDS_WORKSPACE: viteConfigFile ? relative(dirname(vitestWorkspaceFile), viteConfigFile) : "",
|
|
2064
1144
|
CONFIG_DIR: options.configDir,
|
|
2065
1145
|
SETUP_FILE: relative(dirname(vitestWorkspaceFile), vitestSetupFile)
|
|
2066
1146
|
}).then((t) => t.replace(`
|
|
2067
|
-
'ROOT_CONFIG',`, "").replace(/\s+extends: '',/, ""));
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
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);
|
|
1147
|
+
'ROOT_CONFIG',`, "").replace(/\s+extends: '',/, "")), workspaceFile = await fs2.readFile(vitestWorkspaceFile, "utf8"), source = babelParse(workspaceTemplate), target = babelParse(workspaceFile);
|
|
1148
|
+
if (updateWorkspaceFile(source, target)) {
|
|
1149
|
+
logger.step("Updating your Vitest workspace file..."), logger.log(`${vitestWorkspaceFile}`);
|
|
1150
|
+
let formattedContent = await formatFileContent(vitestWorkspaceFile, generate(target).code);
|
|
2077
1151
|
await writeFile(vitestWorkspaceFile, formattedContent);
|
|
2078
|
-
} else
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
dedent`
|
|
1152
|
+
} else
|
|
1153
|
+
logger.error(
|
|
1154
|
+
import_ts_dedent.dedent`
|
|
2082
1155
|
Could not update existing Vitest workspace file:
|
|
2083
1156
|
${vitestWorkspaceFile}
|
|
2084
1157
|
|
|
@@ -2088,170 +1161,92 @@ async function postInstall(options) {
|
|
|
2088
1161
|
Please refer to the documentation to complete the setup manually:
|
|
2089
1162
|
https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#manual-setup
|
|
2090
1163
|
`
|
|
2091
|
-
);
|
|
2092
|
-
logger2.line(1);
|
|
2093
|
-
return;
|
|
2094
|
-
}
|
|
1164
|
+
), errors.push("Unable to update existing Vitest workspace file");
|
|
2095
1165
|
} else if (rootConfig) {
|
|
2096
|
-
let target, updated
|
|
2097
|
-
const configFile = await fs2.readFile(rootConfig, "utf8");
|
|
2098
|
-
const configFileHasTypeReference = configFile.match(
|
|
1166
|
+
let target, updated, configFile = await fs2.readFile(rootConfig, "utf8"), configFileHasTypeReference = configFile.match(
|
|
2099
1167
|
/\/\/\/\s*<reference\s+types=["']vitest\/config["']\s*\/>/
|
|
2100
|
-
);
|
|
2101
|
-
const templateName = getTemplateName();
|
|
1168
|
+
), templateName = getTemplateName();
|
|
2102
1169
|
if (templateName) {
|
|
2103
|
-
|
|
1170
|
+
let configTemplate = await loadTemplate(templateName, {
|
|
2104
1171
|
CONFIG_DIR: options.configDir,
|
|
2105
1172
|
SETUP_FILE: relative(dirname(rootConfig), vitestSetupFile)
|
|
2106
|
-
});
|
|
2107
|
-
|
|
2108
|
-
target = babelParse(configFile);
|
|
2109
|
-
updated = updateConfigFile(source, target);
|
|
1173
|
+
}), source = babelParse(configTemplate);
|
|
1174
|
+
target = babelParse(configFile), updated = updateConfigFile(source, target);
|
|
2110
1175
|
}
|
|
2111
1176
|
if (target && updated) {
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
logger2.plain(` ${rootConfig}`);
|
|
2115
|
-
const formattedContent = await formatFileContent(rootConfig, generate(target).code);
|
|
2116
|
-
const shouldAddReference = !configFileHasTypeReference && !vitestConfigFile;
|
|
1177
|
+
logger.step(`Updating your ${vitestConfigFile ? "Vitest" : "Vite"} config file:`), logger.log(` ${rootConfig}`);
|
|
1178
|
+
let formattedContent = await formatFileContent(rootConfig, generate(target).code);
|
|
2117
1179
|
await writeFile(
|
|
2118
1180
|
rootConfig,
|
|
2119
|
-
|
|
1181
|
+
!configFileHasTypeReference && !vitestConfigFile ? `/// <reference types="vitest/config" />
|
|
1182
|
+
` + formattedContent : formattedContent
|
|
2120
1183
|
);
|
|
2121
|
-
} else
|
|
2122
|
-
|
|
2123
|
-
"\u{1F6A8} Oh no!",
|
|
2124
|
-
dedent`
|
|
1184
|
+
} else
|
|
1185
|
+
logger.error(import_ts_dedent.dedent`
|
|
2125
1186
|
We were unable to update your existing ${vitestConfigFile ? "Vitest" : "Vite"} config file.
|
|
2126
1187
|
|
|
2127
1188
|
Please refer to the documentation to complete the setup manually:
|
|
2128
1189
|
https://storybook.js.org/docs/writing-tests/integrations/vitest-addon#manual-setup
|
|
2129
|
-
`
|
|
2130
|
-
);
|
|
2131
|
-
}
|
|
1190
|
+
`), errors.push("Unable to update existing Vitest config file");
|
|
2132
1191
|
} else {
|
|
2133
|
-
|
|
2134
|
-
const configTemplate = await loadTemplate(getTemplateName(), {
|
|
1192
|
+
let parentDir = dirname(options.configDir), newConfigFile = resolve(parentDir, `vitest.config.${fileExtension}`), configTemplate = await loadTemplate(getTemplateName(), {
|
|
2135
1193
|
CONFIG_DIR: options.configDir,
|
|
2136
1194
|
SETUP_FILE: relative(dirname(newConfigFile), vitestSetupFile)
|
|
2137
1195
|
});
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
logger2.plain(` ${newConfigFile}`);
|
|
2141
|
-
const formattedContent = await formatFileContent(newConfigFile, configTemplate);
|
|
1196
|
+
logger.step("Creating a Vitest config file:"), logger.log(`${newConfigFile}`);
|
|
1197
|
+
let formattedContent = await formatFileContent(newConfigFile, configTemplate);
|
|
2142
1198
|
await writeFile(newConfigFile, formattedContent);
|
|
2143
1199
|
}
|
|
2144
|
-
|
|
2145
|
-
if (a11yAddon) {
|
|
1200
|
+
if (info.addons.find((addon) => addon.includes(addonA11yName)))
|
|
2146
1201
|
try {
|
|
2147
|
-
|
|
2148
|
-
await execa(
|
|
1202
|
+
let command = [
|
|
2149
1203
|
"storybook",
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
],
|
|
1204
|
+
"automigrate",
|
|
1205
|
+
"addon-a11y-addon-test",
|
|
1206
|
+
"--loglevel",
|
|
1207
|
+
"silent",
|
|
1208
|
+
"--yes",
|
|
1209
|
+
"--skip-doctor"
|
|
1210
|
+
];
|
|
1211
|
+
options.packageManager && command.push("--package-manager", options.packageManager), options.skipInstall && command.push("--skip-install"), options.configDir !== ".storybook" && command.push("--config-dir", options.configDir), await prompt.executeTask(
|
|
1212
|
+
// TODO: Remove stdio: 'ignore' once we have a way to log the output of the command properly
|
|
1213
|
+
() => packageManager.runPackageCommand({ args: command, stdio: "ignore" }),
|
|
2161
1214
|
{
|
|
2162
|
-
|
|
1215
|
+
intro: "Setting up a11y addon for @storybook/addon-vitest",
|
|
1216
|
+
error: "Failed to setup a11y addon for @storybook/addon-vitest",
|
|
1217
|
+
success: "a11y addon setup successfully"
|
|
2163
1218
|
}
|
|
2164
1219
|
);
|
|
2165
1220
|
} catch (e) {
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
dedent`
|
|
2169
|
-
We have detected that you have ${addonA11yName} installed but could not automatically set it up for @storybook/addon-vitest:
|
|
2170
|
-
|
|
2171
|
-
${e instanceof Error ? e.message : String(e)}
|
|
2172
|
-
|
|
1221
|
+
logger.error(import_ts_dedent.dedent`
|
|
1222
|
+
Could not automatically set up ${addonA11yName} for @storybook/addon-vitest.
|
|
2173
1223
|
Please refer to the documentation to complete the setup manually:
|
|
2174
1224
|
https://storybook.js.org/docs/writing-tests/accessibility-testing#test-addon-integration
|
|
2175
|
-
`
|
|
1225
|
+
`), errors.push(
|
|
1226
|
+
"The @storybook/addon-a11y couldn't be set up for the Vitest addon" + (e instanceof Error ? e.stack : String(e))
|
|
2176
1227
|
);
|
|
2177
1228
|
}
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
printSuccess(
|
|
2182
|
-
"\u{1F389} All done!",
|
|
2183
|
-
dedent`
|
|
1229
|
+
let runCommand = rootConfig ? "npx vitest --project=storybook" : "npx vitest";
|
|
1230
|
+
if (errors.length === 0)
|
|
1231
|
+
logger.step(CLI_COLORS.success("@storybook/addon-vitest setup completed successfully")), logger.log(import_ts_dedent.dedent`
|
|
2184
1232
|
@storybook/addon-vitest is now configured and you're ready to run your tests!
|
|
2185
|
-
|
|
2186
1233
|
Here are a couple of tips to get you started:
|
|
2187
|
-
|
|
2188
|
-
•
|
|
2189
|
-
|
|
1234
|
+
|
|
1235
|
+
• You can run tests with "${CLI_COLORS.cta(runCommand)}"
|
|
1236
|
+
• Vitest IDE extension shows all stories as tests in your editor!
|
|
1237
|
+
|
|
2190
1238
|
Check the documentation for more information about its features and options at:
|
|
2191
1239
|
https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}
|
|
2192
|
-
`
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
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:
|
|
1240
|
+
`);
|
|
1241
|
+
else
|
|
1242
|
+
throw logger.warn(
|
|
1243
|
+
import_ts_dedent.dedent`
|
|
1244
|
+
Done, but with errors!
|
|
1245
|
+
@storybook/addon-vitest was installed successfully, but there were some errors during the setup process. Please refer to the documentation to complete the setup manually and check the errors above:
|
|
2201
1246
|
https://storybook.js.org/docs/next/${DOCUMENTATION_LINK}#manual-setup
|
|
2202
1247
|
`
|
|
2203
|
-
);
|
|
2204
|
-
}
|
|
2205
|
-
logger2.line(1);
|
|
2206
|
-
}
|
|
2207
|
-
__name(postInstall, "postInstall");
|
|
2208
|
-
async function getPackageNameFromPath(input) {
|
|
2209
|
-
const path = input.startsWith("file://") ? fileURLToPath(input) : input;
|
|
2210
|
-
if (!isAbsolute(path)) {
|
|
2211
|
-
return path;
|
|
2212
|
-
}
|
|
2213
|
-
const packageJsonPath = up2({ cwd: path });
|
|
2214
|
-
if (!packageJsonPath) {
|
|
2215
|
-
throw new Error(`Could not find package.json in path: ${path}`);
|
|
2216
|
-
}
|
|
2217
|
-
const { default: packageJson } = await import(pathToFileURL(packageJsonPath).href, {
|
|
2218
|
-
with: { type: "json" }
|
|
2219
|
-
});
|
|
2220
|
-
return packageJson.name;
|
|
2221
|
-
}
|
|
2222
|
-
__name(getPackageNameFromPath, "getPackageNameFromPath");
|
|
2223
|
-
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({
|
|
2228
|
-
configDir,
|
|
2229
|
-
packageJson
|
|
2230
|
-
});
|
|
2231
|
-
const framework = await presets.apply("framework", {});
|
|
2232
|
-
const core = await presets.apply("core", {});
|
|
2233
|
-
const { builder, renderer } = core;
|
|
2234
|
-
if (!builder) {
|
|
2235
|
-
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 {
|
|
2248
|
-
frameworkPackageName,
|
|
2249
|
-
builderPackageName,
|
|
2250
|
-
rendererPackageName,
|
|
2251
|
-
addons: getAddonNames(config)
|
|
2252
|
-
};
|
|
1248
|
+
), new AddonVitestPostinstallError({ errors });
|
|
2253
1249
|
}
|
|
2254
|
-
__name(getStorybookInfo, "getStorybookInfo");
|
|
2255
1250
|
export {
|
|
2256
1251
|
postInstall as default
|
|
2257
1252
|
};
|