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