@cloudsnorkel/cdk-github-runners 0.3.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +1 -0
- package/.jsii +1413 -431
- package/API.md +1082 -126
- package/README.md +12 -10
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -1
- package/lib/lambdas/aws-image-builder-versioner/index.js +2469 -0
- package/lib/lambdas/build-image/index.js +77 -43
- package/lib/lambdas/delete-runner/index.js +114 -79
- package/lib/lambdas/setup/index.html +10 -10
- package/lib/lambdas/setup/index.js +27 -12
- package/lib/lambdas/status/index.js +147 -82
- package/lib/lambdas/token-retriever/index.js +114 -79
- package/lib/lambdas/update-lambda/index.js +5 -2
- package/lib/lambdas/webhook-handler/index.js +11 -5
- package/lib/providers/codebuild.d.ts +5 -1
- package/lib/providers/codebuild.js +16 -6
- package/lib/providers/common.d.ts +25 -6
- package/lib/providers/common.js +4 -4
- package/lib/providers/docker-images/fargate/linux-arm64/Dockerfile +0 -2
- package/lib/providers/docker-images/fargate/linux-x64/Dockerfile +0 -3
- package/lib/providers/fargate.d.ts +6 -1
- package/lib/providers/fargate.js +56 -15
- package/lib/providers/image-builders/codebuild.d.ts +6 -2
- package/lib/providers/image-builders/codebuild.js +14 -11
- package/lib/providers/image-builders/container.d.ts +220 -0
- package/lib/providers/image-builders/container.js +509 -0
- package/lib/providers/image-builders/static.js +2 -3
- package/lib/providers/lambda.d.ts +6 -1
- package/lib/providers/lambda.js +79 -8
- package/lib/runner.js +29 -13
- package/lib/secrets.js +1 -1
- package/package.json +16 -12
- package/lib/providers/docker-images/fargate/linux-arm64/runner.sh +0 -5
- package/lib/providers/docker-images/fargate/linux-x64/runner.sh +0 -5
|
@@ -0,0 +1,2469 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
9
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
10
|
+
};
|
|
11
|
+
var __export = (target, all) => {
|
|
12
|
+
for (var name in all)
|
|
13
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from))
|
|
18
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
19
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
20
|
+
}
|
|
21
|
+
return to;
|
|
22
|
+
};
|
|
23
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// node_modules/semver/internal/constants.js
|
|
30
|
+
var require_constants = __commonJS({
|
|
31
|
+
"node_modules/semver/internal/constants.js"(exports, module2) {
|
|
32
|
+
var SEMVER_SPEC_VERSION = "2.0.0";
|
|
33
|
+
var MAX_LENGTH = 256;
|
|
34
|
+
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
|
|
35
|
+
var MAX_SAFE_COMPONENT_LENGTH = 16;
|
|
36
|
+
module2.exports = {
|
|
37
|
+
SEMVER_SPEC_VERSION,
|
|
38
|
+
MAX_LENGTH,
|
|
39
|
+
MAX_SAFE_INTEGER,
|
|
40
|
+
MAX_SAFE_COMPONENT_LENGTH
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
// node_modules/semver/internal/debug.js
|
|
46
|
+
var require_debug = __commonJS({
|
|
47
|
+
"node_modules/semver/internal/debug.js"(exports, module2) {
|
|
48
|
+
var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
|
|
49
|
+
};
|
|
50
|
+
module2.exports = debug;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// node_modules/semver/internal/re.js
|
|
55
|
+
var require_re = __commonJS({
|
|
56
|
+
"node_modules/semver/internal/re.js"(exports, module2) {
|
|
57
|
+
var { MAX_SAFE_COMPONENT_LENGTH } = require_constants();
|
|
58
|
+
var debug = require_debug();
|
|
59
|
+
exports = module2.exports = {};
|
|
60
|
+
var re = exports.re = [];
|
|
61
|
+
var src = exports.src = [];
|
|
62
|
+
var t = exports.t = {};
|
|
63
|
+
var R = 0;
|
|
64
|
+
var createToken = (name, value, isGlobal) => {
|
|
65
|
+
const index = R++;
|
|
66
|
+
debug(name, index, value);
|
|
67
|
+
t[name] = index;
|
|
68
|
+
src[index] = value;
|
|
69
|
+
re[index] = new RegExp(value, isGlobal ? "g" : void 0);
|
|
70
|
+
};
|
|
71
|
+
createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
|
|
72
|
+
createToken("NUMERICIDENTIFIERLOOSE", "[0-9]+");
|
|
73
|
+
createToken("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*");
|
|
74
|
+
createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
|
|
75
|
+
createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
|
|
76
|
+
createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
|
|
77
|
+
createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
|
|
78
|
+
createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
|
|
79
|
+
createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
|
|
80
|
+
createToken("BUILDIDENTIFIER", "[0-9A-Za-z-]+");
|
|
81
|
+
createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
|
|
82
|
+
createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
|
|
83
|
+
createToken("FULL", `^${src[t.FULLPLAIN]}$`);
|
|
84
|
+
createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
|
|
85
|
+
createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
|
|
86
|
+
createToken("GTLT", "((?:<|>)?=?)");
|
|
87
|
+
createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
|
|
88
|
+
createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
|
|
89
|
+
createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
|
|
90
|
+
createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
|
|
91
|
+
createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
|
|
92
|
+
createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
|
|
93
|
+
createToken("COERCE", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:$|[^\\d])`);
|
|
94
|
+
createToken("COERCERTL", src[t.COERCE], true);
|
|
95
|
+
createToken("LONETILDE", "(?:~>?)");
|
|
96
|
+
createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
|
|
97
|
+
exports.tildeTrimReplace = "$1~";
|
|
98
|
+
createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
|
|
99
|
+
createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
|
|
100
|
+
createToken("LONECARET", "(?:\\^)");
|
|
101
|
+
createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
|
|
102
|
+
exports.caretTrimReplace = "$1^";
|
|
103
|
+
createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
|
|
104
|
+
createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
|
|
105
|
+
createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
|
|
106
|
+
createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
|
|
107
|
+
createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
|
|
108
|
+
exports.comparatorTrimReplace = "$1$2$3";
|
|
109
|
+
createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
|
|
110
|
+
createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
|
|
111
|
+
createToken("STAR", "(<|>)?=?\\s*\\*");
|
|
112
|
+
createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
|
|
113
|
+
createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
// node_modules/semver/internal/parse-options.js
|
|
118
|
+
var require_parse_options = __commonJS({
|
|
119
|
+
"node_modules/semver/internal/parse-options.js"(exports, module2) {
|
|
120
|
+
var opts = ["includePrerelease", "loose", "rtl"];
|
|
121
|
+
var parseOptions = (options) => !options ? {} : typeof options !== "object" ? { loose: true } : opts.filter((k) => options[k]).reduce((o, k) => {
|
|
122
|
+
o[k] = true;
|
|
123
|
+
return o;
|
|
124
|
+
}, {});
|
|
125
|
+
module2.exports = parseOptions;
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
// node_modules/semver/internal/identifiers.js
|
|
130
|
+
var require_identifiers = __commonJS({
|
|
131
|
+
"node_modules/semver/internal/identifiers.js"(exports, module2) {
|
|
132
|
+
var numeric = /^[0-9]+$/;
|
|
133
|
+
var compareIdentifiers = (a, b) => {
|
|
134
|
+
const anum = numeric.test(a);
|
|
135
|
+
const bnum = numeric.test(b);
|
|
136
|
+
if (anum && bnum) {
|
|
137
|
+
a = +a;
|
|
138
|
+
b = +b;
|
|
139
|
+
}
|
|
140
|
+
return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
|
|
141
|
+
};
|
|
142
|
+
var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
|
|
143
|
+
module2.exports = {
|
|
144
|
+
compareIdentifiers,
|
|
145
|
+
rcompareIdentifiers
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
// node_modules/semver/classes/semver.js
|
|
151
|
+
var require_semver = __commonJS({
|
|
152
|
+
"node_modules/semver/classes/semver.js"(exports, module2) {
|
|
153
|
+
var debug = require_debug();
|
|
154
|
+
var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
|
|
155
|
+
var { re, t } = require_re();
|
|
156
|
+
var parseOptions = require_parse_options();
|
|
157
|
+
var { compareIdentifiers } = require_identifiers();
|
|
158
|
+
var SemVer = class {
|
|
159
|
+
constructor(version, options) {
|
|
160
|
+
options = parseOptions(options);
|
|
161
|
+
if (version instanceof SemVer) {
|
|
162
|
+
if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {
|
|
163
|
+
return version;
|
|
164
|
+
} else {
|
|
165
|
+
version = version.version;
|
|
166
|
+
}
|
|
167
|
+
} else if (typeof version !== "string") {
|
|
168
|
+
throw new TypeError(`Invalid Version: ${version}`);
|
|
169
|
+
}
|
|
170
|
+
if (version.length > MAX_LENGTH) {
|
|
171
|
+
throw new TypeError(
|
|
172
|
+
`version is longer than ${MAX_LENGTH} characters`
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
debug("SemVer", version, options);
|
|
176
|
+
this.options = options;
|
|
177
|
+
this.loose = !!options.loose;
|
|
178
|
+
this.includePrerelease = !!options.includePrerelease;
|
|
179
|
+
const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
|
|
180
|
+
if (!m) {
|
|
181
|
+
throw new TypeError(`Invalid Version: ${version}`);
|
|
182
|
+
}
|
|
183
|
+
this.raw = version;
|
|
184
|
+
this.major = +m[1];
|
|
185
|
+
this.minor = +m[2];
|
|
186
|
+
this.patch = +m[3];
|
|
187
|
+
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
|
|
188
|
+
throw new TypeError("Invalid major version");
|
|
189
|
+
}
|
|
190
|
+
if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
|
|
191
|
+
throw new TypeError("Invalid minor version");
|
|
192
|
+
}
|
|
193
|
+
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
|
|
194
|
+
throw new TypeError("Invalid patch version");
|
|
195
|
+
}
|
|
196
|
+
if (!m[4]) {
|
|
197
|
+
this.prerelease = [];
|
|
198
|
+
} else {
|
|
199
|
+
this.prerelease = m[4].split(".").map((id) => {
|
|
200
|
+
if (/^[0-9]+$/.test(id)) {
|
|
201
|
+
const num = +id;
|
|
202
|
+
if (num >= 0 && num < MAX_SAFE_INTEGER) {
|
|
203
|
+
return num;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return id;
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
this.build = m[5] ? m[5].split(".") : [];
|
|
210
|
+
this.format();
|
|
211
|
+
}
|
|
212
|
+
format() {
|
|
213
|
+
this.version = `${this.major}.${this.minor}.${this.patch}`;
|
|
214
|
+
if (this.prerelease.length) {
|
|
215
|
+
this.version += `-${this.prerelease.join(".")}`;
|
|
216
|
+
}
|
|
217
|
+
return this.version;
|
|
218
|
+
}
|
|
219
|
+
toString() {
|
|
220
|
+
return this.version;
|
|
221
|
+
}
|
|
222
|
+
compare(other) {
|
|
223
|
+
debug("SemVer.compare", this.version, this.options, other);
|
|
224
|
+
if (!(other instanceof SemVer)) {
|
|
225
|
+
if (typeof other === "string" && other === this.version) {
|
|
226
|
+
return 0;
|
|
227
|
+
}
|
|
228
|
+
other = new SemVer(other, this.options);
|
|
229
|
+
}
|
|
230
|
+
if (other.version === this.version) {
|
|
231
|
+
return 0;
|
|
232
|
+
}
|
|
233
|
+
return this.compareMain(other) || this.comparePre(other);
|
|
234
|
+
}
|
|
235
|
+
compareMain(other) {
|
|
236
|
+
if (!(other instanceof SemVer)) {
|
|
237
|
+
other = new SemVer(other, this.options);
|
|
238
|
+
}
|
|
239
|
+
return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
|
|
240
|
+
}
|
|
241
|
+
comparePre(other) {
|
|
242
|
+
if (!(other instanceof SemVer)) {
|
|
243
|
+
other = new SemVer(other, this.options);
|
|
244
|
+
}
|
|
245
|
+
if (this.prerelease.length && !other.prerelease.length) {
|
|
246
|
+
return -1;
|
|
247
|
+
} else if (!this.prerelease.length && other.prerelease.length) {
|
|
248
|
+
return 1;
|
|
249
|
+
} else if (!this.prerelease.length && !other.prerelease.length) {
|
|
250
|
+
return 0;
|
|
251
|
+
}
|
|
252
|
+
let i = 0;
|
|
253
|
+
do {
|
|
254
|
+
const a = this.prerelease[i];
|
|
255
|
+
const b = other.prerelease[i];
|
|
256
|
+
debug("prerelease compare", i, a, b);
|
|
257
|
+
if (a === void 0 && b === void 0) {
|
|
258
|
+
return 0;
|
|
259
|
+
} else if (b === void 0) {
|
|
260
|
+
return 1;
|
|
261
|
+
} else if (a === void 0) {
|
|
262
|
+
return -1;
|
|
263
|
+
} else if (a === b) {
|
|
264
|
+
continue;
|
|
265
|
+
} else {
|
|
266
|
+
return compareIdentifiers(a, b);
|
|
267
|
+
}
|
|
268
|
+
} while (++i);
|
|
269
|
+
}
|
|
270
|
+
compareBuild(other) {
|
|
271
|
+
if (!(other instanceof SemVer)) {
|
|
272
|
+
other = new SemVer(other, this.options);
|
|
273
|
+
}
|
|
274
|
+
let i = 0;
|
|
275
|
+
do {
|
|
276
|
+
const a = this.build[i];
|
|
277
|
+
const b = other.build[i];
|
|
278
|
+
debug("prerelease compare", i, a, b);
|
|
279
|
+
if (a === void 0 && b === void 0) {
|
|
280
|
+
return 0;
|
|
281
|
+
} else if (b === void 0) {
|
|
282
|
+
return 1;
|
|
283
|
+
} else if (a === void 0) {
|
|
284
|
+
return -1;
|
|
285
|
+
} else if (a === b) {
|
|
286
|
+
continue;
|
|
287
|
+
} else {
|
|
288
|
+
return compareIdentifiers(a, b);
|
|
289
|
+
}
|
|
290
|
+
} while (++i);
|
|
291
|
+
}
|
|
292
|
+
inc(release, identifier) {
|
|
293
|
+
switch (release) {
|
|
294
|
+
case "premajor":
|
|
295
|
+
this.prerelease.length = 0;
|
|
296
|
+
this.patch = 0;
|
|
297
|
+
this.minor = 0;
|
|
298
|
+
this.major++;
|
|
299
|
+
this.inc("pre", identifier);
|
|
300
|
+
break;
|
|
301
|
+
case "preminor":
|
|
302
|
+
this.prerelease.length = 0;
|
|
303
|
+
this.patch = 0;
|
|
304
|
+
this.minor++;
|
|
305
|
+
this.inc("pre", identifier);
|
|
306
|
+
break;
|
|
307
|
+
case "prepatch":
|
|
308
|
+
this.prerelease.length = 0;
|
|
309
|
+
this.inc("patch", identifier);
|
|
310
|
+
this.inc("pre", identifier);
|
|
311
|
+
break;
|
|
312
|
+
case "prerelease":
|
|
313
|
+
if (this.prerelease.length === 0) {
|
|
314
|
+
this.inc("patch", identifier);
|
|
315
|
+
}
|
|
316
|
+
this.inc("pre", identifier);
|
|
317
|
+
break;
|
|
318
|
+
case "major":
|
|
319
|
+
if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
|
|
320
|
+
this.major++;
|
|
321
|
+
}
|
|
322
|
+
this.minor = 0;
|
|
323
|
+
this.patch = 0;
|
|
324
|
+
this.prerelease = [];
|
|
325
|
+
break;
|
|
326
|
+
case "minor":
|
|
327
|
+
if (this.patch !== 0 || this.prerelease.length === 0) {
|
|
328
|
+
this.minor++;
|
|
329
|
+
}
|
|
330
|
+
this.patch = 0;
|
|
331
|
+
this.prerelease = [];
|
|
332
|
+
break;
|
|
333
|
+
case "patch":
|
|
334
|
+
if (this.prerelease.length === 0) {
|
|
335
|
+
this.patch++;
|
|
336
|
+
}
|
|
337
|
+
this.prerelease = [];
|
|
338
|
+
break;
|
|
339
|
+
case "pre":
|
|
340
|
+
if (this.prerelease.length === 0) {
|
|
341
|
+
this.prerelease = [0];
|
|
342
|
+
} else {
|
|
343
|
+
let i = this.prerelease.length;
|
|
344
|
+
while (--i >= 0) {
|
|
345
|
+
if (typeof this.prerelease[i] === "number") {
|
|
346
|
+
this.prerelease[i]++;
|
|
347
|
+
i = -2;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
if (i === -1) {
|
|
351
|
+
this.prerelease.push(0);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
if (identifier) {
|
|
355
|
+
if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
|
|
356
|
+
if (isNaN(this.prerelease[1])) {
|
|
357
|
+
this.prerelease = [identifier, 0];
|
|
358
|
+
}
|
|
359
|
+
} else {
|
|
360
|
+
this.prerelease = [identifier, 0];
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
break;
|
|
364
|
+
default:
|
|
365
|
+
throw new Error(`invalid increment argument: ${release}`);
|
|
366
|
+
}
|
|
367
|
+
this.format();
|
|
368
|
+
this.raw = this.version;
|
|
369
|
+
return this;
|
|
370
|
+
}
|
|
371
|
+
};
|
|
372
|
+
module2.exports = SemVer;
|
|
373
|
+
}
|
|
374
|
+
});
|
|
375
|
+
|
|
376
|
+
// node_modules/semver/functions/parse.js
|
|
377
|
+
var require_parse = __commonJS({
|
|
378
|
+
"node_modules/semver/functions/parse.js"(exports, module2) {
|
|
379
|
+
var { MAX_LENGTH } = require_constants();
|
|
380
|
+
var { re, t } = require_re();
|
|
381
|
+
var SemVer = require_semver();
|
|
382
|
+
var parseOptions = require_parse_options();
|
|
383
|
+
var parse = (version, options) => {
|
|
384
|
+
options = parseOptions(options);
|
|
385
|
+
if (version instanceof SemVer) {
|
|
386
|
+
return version;
|
|
387
|
+
}
|
|
388
|
+
if (typeof version !== "string") {
|
|
389
|
+
return null;
|
|
390
|
+
}
|
|
391
|
+
if (version.length > MAX_LENGTH) {
|
|
392
|
+
return null;
|
|
393
|
+
}
|
|
394
|
+
const r = options.loose ? re[t.LOOSE] : re[t.FULL];
|
|
395
|
+
if (!r.test(version)) {
|
|
396
|
+
return null;
|
|
397
|
+
}
|
|
398
|
+
try {
|
|
399
|
+
return new SemVer(version, options);
|
|
400
|
+
} catch (er) {
|
|
401
|
+
return null;
|
|
402
|
+
}
|
|
403
|
+
};
|
|
404
|
+
module2.exports = parse;
|
|
405
|
+
}
|
|
406
|
+
});
|
|
407
|
+
|
|
408
|
+
// node_modules/semver/functions/valid.js
|
|
409
|
+
var require_valid = __commonJS({
|
|
410
|
+
"node_modules/semver/functions/valid.js"(exports, module2) {
|
|
411
|
+
var parse = require_parse();
|
|
412
|
+
var valid = (version, options) => {
|
|
413
|
+
const v = parse(version, options);
|
|
414
|
+
return v ? v.version : null;
|
|
415
|
+
};
|
|
416
|
+
module2.exports = valid;
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
|
|
420
|
+
// node_modules/semver/functions/clean.js
|
|
421
|
+
var require_clean = __commonJS({
|
|
422
|
+
"node_modules/semver/functions/clean.js"(exports, module2) {
|
|
423
|
+
var parse = require_parse();
|
|
424
|
+
var clean = (version, options) => {
|
|
425
|
+
const s = parse(version.trim().replace(/^[=v]+/, ""), options);
|
|
426
|
+
return s ? s.version : null;
|
|
427
|
+
};
|
|
428
|
+
module2.exports = clean;
|
|
429
|
+
}
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
// node_modules/semver/functions/inc.js
|
|
433
|
+
var require_inc = __commonJS({
|
|
434
|
+
"node_modules/semver/functions/inc.js"(exports, module2) {
|
|
435
|
+
var SemVer = require_semver();
|
|
436
|
+
var inc2 = (version, release, options, identifier) => {
|
|
437
|
+
if (typeof options === "string") {
|
|
438
|
+
identifier = options;
|
|
439
|
+
options = void 0;
|
|
440
|
+
}
|
|
441
|
+
try {
|
|
442
|
+
return new SemVer(
|
|
443
|
+
version instanceof SemVer ? version.version : version,
|
|
444
|
+
options
|
|
445
|
+
).inc(release, identifier).version;
|
|
446
|
+
} catch (er) {
|
|
447
|
+
return null;
|
|
448
|
+
}
|
|
449
|
+
};
|
|
450
|
+
module2.exports = inc2;
|
|
451
|
+
}
|
|
452
|
+
});
|
|
453
|
+
|
|
454
|
+
// node_modules/semver/functions/compare.js
|
|
455
|
+
var require_compare = __commonJS({
|
|
456
|
+
"node_modules/semver/functions/compare.js"(exports, module2) {
|
|
457
|
+
var SemVer = require_semver();
|
|
458
|
+
var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
|
|
459
|
+
module2.exports = compare;
|
|
460
|
+
}
|
|
461
|
+
});
|
|
462
|
+
|
|
463
|
+
// node_modules/semver/functions/eq.js
|
|
464
|
+
var require_eq = __commonJS({
|
|
465
|
+
"node_modules/semver/functions/eq.js"(exports, module2) {
|
|
466
|
+
var compare = require_compare();
|
|
467
|
+
var eq = (a, b, loose) => compare(a, b, loose) === 0;
|
|
468
|
+
module2.exports = eq;
|
|
469
|
+
}
|
|
470
|
+
});
|
|
471
|
+
|
|
472
|
+
// node_modules/semver/functions/diff.js
|
|
473
|
+
var require_diff = __commonJS({
|
|
474
|
+
"node_modules/semver/functions/diff.js"(exports, module2) {
|
|
475
|
+
var parse = require_parse();
|
|
476
|
+
var eq = require_eq();
|
|
477
|
+
var diff = (version1, version2) => {
|
|
478
|
+
if (eq(version1, version2)) {
|
|
479
|
+
return null;
|
|
480
|
+
} else {
|
|
481
|
+
const v1 = parse(version1);
|
|
482
|
+
const v2 = parse(version2);
|
|
483
|
+
const hasPre = v1.prerelease.length || v2.prerelease.length;
|
|
484
|
+
const prefix = hasPre ? "pre" : "";
|
|
485
|
+
const defaultResult = hasPre ? "prerelease" : "";
|
|
486
|
+
for (const key in v1) {
|
|
487
|
+
if (key === "major" || key === "minor" || key === "patch") {
|
|
488
|
+
if (v1[key] !== v2[key]) {
|
|
489
|
+
return prefix + key;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
return defaultResult;
|
|
494
|
+
}
|
|
495
|
+
};
|
|
496
|
+
module2.exports = diff;
|
|
497
|
+
}
|
|
498
|
+
});
|
|
499
|
+
|
|
500
|
+
// node_modules/semver/functions/major.js
|
|
501
|
+
var require_major = __commonJS({
|
|
502
|
+
"node_modules/semver/functions/major.js"(exports, module2) {
|
|
503
|
+
var SemVer = require_semver();
|
|
504
|
+
var major = (a, loose) => new SemVer(a, loose).major;
|
|
505
|
+
module2.exports = major;
|
|
506
|
+
}
|
|
507
|
+
});
|
|
508
|
+
|
|
509
|
+
// node_modules/semver/functions/minor.js
|
|
510
|
+
var require_minor = __commonJS({
|
|
511
|
+
"node_modules/semver/functions/minor.js"(exports, module2) {
|
|
512
|
+
var SemVer = require_semver();
|
|
513
|
+
var minor = (a, loose) => new SemVer(a, loose).minor;
|
|
514
|
+
module2.exports = minor;
|
|
515
|
+
}
|
|
516
|
+
});
|
|
517
|
+
|
|
518
|
+
// node_modules/semver/functions/patch.js
|
|
519
|
+
var require_patch = __commonJS({
|
|
520
|
+
"node_modules/semver/functions/patch.js"(exports, module2) {
|
|
521
|
+
var SemVer = require_semver();
|
|
522
|
+
var patch = (a, loose) => new SemVer(a, loose).patch;
|
|
523
|
+
module2.exports = patch;
|
|
524
|
+
}
|
|
525
|
+
});
|
|
526
|
+
|
|
527
|
+
// node_modules/semver/functions/prerelease.js
|
|
528
|
+
var require_prerelease = __commonJS({
|
|
529
|
+
"node_modules/semver/functions/prerelease.js"(exports, module2) {
|
|
530
|
+
var parse = require_parse();
|
|
531
|
+
var prerelease = (version, options) => {
|
|
532
|
+
const parsed = parse(version, options);
|
|
533
|
+
return parsed && parsed.prerelease.length ? parsed.prerelease : null;
|
|
534
|
+
};
|
|
535
|
+
module2.exports = prerelease;
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
|
|
539
|
+
// node_modules/semver/functions/rcompare.js
|
|
540
|
+
var require_rcompare = __commonJS({
|
|
541
|
+
"node_modules/semver/functions/rcompare.js"(exports, module2) {
|
|
542
|
+
var compare = require_compare();
|
|
543
|
+
var rcompare = (a, b, loose) => compare(b, a, loose);
|
|
544
|
+
module2.exports = rcompare;
|
|
545
|
+
}
|
|
546
|
+
});
|
|
547
|
+
|
|
548
|
+
// node_modules/semver/functions/compare-loose.js
|
|
549
|
+
var require_compare_loose = __commonJS({
|
|
550
|
+
"node_modules/semver/functions/compare-loose.js"(exports, module2) {
|
|
551
|
+
var compare = require_compare();
|
|
552
|
+
var compareLoose = (a, b) => compare(a, b, true);
|
|
553
|
+
module2.exports = compareLoose;
|
|
554
|
+
}
|
|
555
|
+
});
|
|
556
|
+
|
|
557
|
+
// node_modules/semver/functions/compare-build.js
|
|
558
|
+
var require_compare_build = __commonJS({
|
|
559
|
+
"node_modules/semver/functions/compare-build.js"(exports, module2) {
|
|
560
|
+
var SemVer = require_semver();
|
|
561
|
+
var compareBuild = (a, b, loose) => {
|
|
562
|
+
const versionA = new SemVer(a, loose);
|
|
563
|
+
const versionB = new SemVer(b, loose);
|
|
564
|
+
return versionA.compare(versionB) || versionA.compareBuild(versionB);
|
|
565
|
+
};
|
|
566
|
+
module2.exports = compareBuild;
|
|
567
|
+
}
|
|
568
|
+
});
|
|
569
|
+
|
|
570
|
+
// node_modules/semver/functions/sort.js
|
|
571
|
+
var require_sort = __commonJS({
|
|
572
|
+
"node_modules/semver/functions/sort.js"(exports, module2) {
|
|
573
|
+
var compareBuild = require_compare_build();
|
|
574
|
+
var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
|
|
575
|
+
module2.exports = sort;
|
|
576
|
+
}
|
|
577
|
+
});
|
|
578
|
+
|
|
579
|
+
// node_modules/semver/functions/rsort.js
|
|
580
|
+
var require_rsort = __commonJS({
|
|
581
|
+
"node_modules/semver/functions/rsort.js"(exports, module2) {
|
|
582
|
+
var compareBuild = require_compare_build();
|
|
583
|
+
var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
|
|
584
|
+
module2.exports = rsort;
|
|
585
|
+
}
|
|
586
|
+
});
|
|
587
|
+
|
|
588
|
+
// node_modules/semver/functions/gt.js
|
|
589
|
+
var require_gt = __commonJS({
|
|
590
|
+
"node_modules/semver/functions/gt.js"(exports, module2) {
|
|
591
|
+
var compare = require_compare();
|
|
592
|
+
var gt = (a, b, loose) => compare(a, b, loose) > 0;
|
|
593
|
+
module2.exports = gt;
|
|
594
|
+
}
|
|
595
|
+
});
|
|
596
|
+
|
|
597
|
+
// node_modules/semver/functions/lt.js
|
|
598
|
+
var require_lt = __commonJS({
|
|
599
|
+
"node_modules/semver/functions/lt.js"(exports, module2) {
|
|
600
|
+
var compare = require_compare();
|
|
601
|
+
var lt = (a, b, loose) => compare(a, b, loose) < 0;
|
|
602
|
+
module2.exports = lt;
|
|
603
|
+
}
|
|
604
|
+
});
|
|
605
|
+
|
|
606
|
+
// node_modules/semver/functions/neq.js
|
|
607
|
+
var require_neq = __commonJS({
|
|
608
|
+
"node_modules/semver/functions/neq.js"(exports, module2) {
|
|
609
|
+
var compare = require_compare();
|
|
610
|
+
var neq = (a, b, loose) => compare(a, b, loose) !== 0;
|
|
611
|
+
module2.exports = neq;
|
|
612
|
+
}
|
|
613
|
+
});
|
|
614
|
+
|
|
615
|
+
// node_modules/semver/functions/gte.js
|
|
616
|
+
var require_gte = __commonJS({
|
|
617
|
+
"node_modules/semver/functions/gte.js"(exports, module2) {
|
|
618
|
+
var compare = require_compare();
|
|
619
|
+
var gte = (a, b, loose) => compare(a, b, loose) >= 0;
|
|
620
|
+
module2.exports = gte;
|
|
621
|
+
}
|
|
622
|
+
});
|
|
623
|
+
|
|
624
|
+
// node_modules/semver/functions/lte.js
|
|
625
|
+
var require_lte = __commonJS({
|
|
626
|
+
"node_modules/semver/functions/lte.js"(exports, module2) {
|
|
627
|
+
var compare = require_compare();
|
|
628
|
+
var lte = (a, b, loose) => compare(a, b, loose) <= 0;
|
|
629
|
+
module2.exports = lte;
|
|
630
|
+
}
|
|
631
|
+
});
|
|
632
|
+
|
|
633
|
+
// node_modules/semver/functions/cmp.js
|
|
634
|
+
var require_cmp = __commonJS({
|
|
635
|
+
"node_modules/semver/functions/cmp.js"(exports, module2) {
|
|
636
|
+
var eq = require_eq();
|
|
637
|
+
var neq = require_neq();
|
|
638
|
+
var gt = require_gt();
|
|
639
|
+
var gte = require_gte();
|
|
640
|
+
var lt = require_lt();
|
|
641
|
+
var lte = require_lte();
|
|
642
|
+
var cmp = (a, op, b, loose) => {
|
|
643
|
+
switch (op) {
|
|
644
|
+
case "===":
|
|
645
|
+
if (typeof a === "object") {
|
|
646
|
+
a = a.version;
|
|
647
|
+
}
|
|
648
|
+
if (typeof b === "object") {
|
|
649
|
+
b = b.version;
|
|
650
|
+
}
|
|
651
|
+
return a === b;
|
|
652
|
+
case "!==":
|
|
653
|
+
if (typeof a === "object") {
|
|
654
|
+
a = a.version;
|
|
655
|
+
}
|
|
656
|
+
if (typeof b === "object") {
|
|
657
|
+
b = b.version;
|
|
658
|
+
}
|
|
659
|
+
return a !== b;
|
|
660
|
+
case "":
|
|
661
|
+
case "=":
|
|
662
|
+
case "==":
|
|
663
|
+
return eq(a, b, loose);
|
|
664
|
+
case "!=":
|
|
665
|
+
return neq(a, b, loose);
|
|
666
|
+
case ">":
|
|
667
|
+
return gt(a, b, loose);
|
|
668
|
+
case ">=":
|
|
669
|
+
return gte(a, b, loose);
|
|
670
|
+
case "<":
|
|
671
|
+
return lt(a, b, loose);
|
|
672
|
+
case "<=":
|
|
673
|
+
return lte(a, b, loose);
|
|
674
|
+
default:
|
|
675
|
+
throw new TypeError(`Invalid operator: ${op}`);
|
|
676
|
+
}
|
|
677
|
+
};
|
|
678
|
+
module2.exports = cmp;
|
|
679
|
+
}
|
|
680
|
+
});
|
|
681
|
+
|
|
682
|
+
// node_modules/semver/functions/coerce.js
|
|
683
|
+
var require_coerce = __commonJS({
|
|
684
|
+
"node_modules/semver/functions/coerce.js"(exports, module2) {
|
|
685
|
+
var SemVer = require_semver();
|
|
686
|
+
var parse = require_parse();
|
|
687
|
+
var { re, t } = require_re();
|
|
688
|
+
var coerce = (version, options) => {
|
|
689
|
+
if (version instanceof SemVer) {
|
|
690
|
+
return version;
|
|
691
|
+
}
|
|
692
|
+
if (typeof version === "number") {
|
|
693
|
+
version = String(version);
|
|
694
|
+
}
|
|
695
|
+
if (typeof version !== "string") {
|
|
696
|
+
return null;
|
|
697
|
+
}
|
|
698
|
+
options = options || {};
|
|
699
|
+
let match = null;
|
|
700
|
+
if (!options.rtl) {
|
|
701
|
+
match = version.match(re[t.COERCE]);
|
|
702
|
+
} else {
|
|
703
|
+
let next;
|
|
704
|
+
while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) {
|
|
705
|
+
if (!match || next.index + next[0].length !== match.index + match[0].length) {
|
|
706
|
+
match = next;
|
|
707
|
+
}
|
|
708
|
+
re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length;
|
|
709
|
+
}
|
|
710
|
+
re[t.COERCERTL].lastIndex = -1;
|
|
711
|
+
}
|
|
712
|
+
if (match === null) {
|
|
713
|
+
return null;
|
|
714
|
+
}
|
|
715
|
+
return parse(`${match[2]}.${match[3] || "0"}.${match[4] || "0"}`, options);
|
|
716
|
+
};
|
|
717
|
+
module2.exports = coerce;
|
|
718
|
+
}
|
|
719
|
+
});
|
|
720
|
+
|
|
721
|
+
// node_modules/yallist/iterator.js
|
|
722
|
+
var require_iterator = __commonJS({
|
|
723
|
+
"node_modules/yallist/iterator.js"(exports, module2) {
|
|
724
|
+
"use strict";
|
|
725
|
+
module2.exports = function(Yallist) {
|
|
726
|
+
Yallist.prototype[Symbol.iterator] = function* () {
|
|
727
|
+
for (let walker = this.head; walker; walker = walker.next) {
|
|
728
|
+
yield walker.value;
|
|
729
|
+
}
|
|
730
|
+
};
|
|
731
|
+
};
|
|
732
|
+
}
|
|
733
|
+
});
|
|
734
|
+
|
|
735
|
+
// node_modules/yallist/yallist.js
|
|
736
|
+
var require_yallist = __commonJS({
|
|
737
|
+
"node_modules/yallist/yallist.js"(exports, module2) {
|
|
738
|
+
"use strict";
|
|
739
|
+
module2.exports = Yallist;
|
|
740
|
+
Yallist.Node = Node;
|
|
741
|
+
Yallist.create = Yallist;
|
|
742
|
+
function Yallist(list) {
|
|
743
|
+
var self = this;
|
|
744
|
+
if (!(self instanceof Yallist)) {
|
|
745
|
+
self = new Yallist();
|
|
746
|
+
}
|
|
747
|
+
self.tail = null;
|
|
748
|
+
self.head = null;
|
|
749
|
+
self.length = 0;
|
|
750
|
+
if (list && typeof list.forEach === "function") {
|
|
751
|
+
list.forEach(function(item) {
|
|
752
|
+
self.push(item);
|
|
753
|
+
});
|
|
754
|
+
} else if (arguments.length > 0) {
|
|
755
|
+
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
756
|
+
self.push(arguments[i]);
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
return self;
|
|
760
|
+
}
|
|
761
|
+
Yallist.prototype.removeNode = function(node) {
|
|
762
|
+
if (node.list !== this) {
|
|
763
|
+
throw new Error("removing node which does not belong to this list");
|
|
764
|
+
}
|
|
765
|
+
var next = node.next;
|
|
766
|
+
var prev = node.prev;
|
|
767
|
+
if (next) {
|
|
768
|
+
next.prev = prev;
|
|
769
|
+
}
|
|
770
|
+
if (prev) {
|
|
771
|
+
prev.next = next;
|
|
772
|
+
}
|
|
773
|
+
if (node === this.head) {
|
|
774
|
+
this.head = next;
|
|
775
|
+
}
|
|
776
|
+
if (node === this.tail) {
|
|
777
|
+
this.tail = prev;
|
|
778
|
+
}
|
|
779
|
+
node.list.length--;
|
|
780
|
+
node.next = null;
|
|
781
|
+
node.prev = null;
|
|
782
|
+
node.list = null;
|
|
783
|
+
return next;
|
|
784
|
+
};
|
|
785
|
+
Yallist.prototype.unshiftNode = function(node) {
|
|
786
|
+
if (node === this.head) {
|
|
787
|
+
return;
|
|
788
|
+
}
|
|
789
|
+
if (node.list) {
|
|
790
|
+
node.list.removeNode(node);
|
|
791
|
+
}
|
|
792
|
+
var head = this.head;
|
|
793
|
+
node.list = this;
|
|
794
|
+
node.next = head;
|
|
795
|
+
if (head) {
|
|
796
|
+
head.prev = node;
|
|
797
|
+
}
|
|
798
|
+
this.head = node;
|
|
799
|
+
if (!this.tail) {
|
|
800
|
+
this.tail = node;
|
|
801
|
+
}
|
|
802
|
+
this.length++;
|
|
803
|
+
};
|
|
804
|
+
Yallist.prototype.pushNode = function(node) {
|
|
805
|
+
if (node === this.tail) {
|
|
806
|
+
return;
|
|
807
|
+
}
|
|
808
|
+
if (node.list) {
|
|
809
|
+
node.list.removeNode(node);
|
|
810
|
+
}
|
|
811
|
+
var tail = this.tail;
|
|
812
|
+
node.list = this;
|
|
813
|
+
node.prev = tail;
|
|
814
|
+
if (tail) {
|
|
815
|
+
tail.next = node;
|
|
816
|
+
}
|
|
817
|
+
this.tail = node;
|
|
818
|
+
if (!this.head) {
|
|
819
|
+
this.head = node;
|
|
820
|
+
}
|
|
821
|
+
this.length++;
|
|
822
|
+
};
|
|
823
|
+
Yallist.prototype.push = function() {
|
|
824
|
+
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
825
|
+
push(this, arguments[i]);
|
|
826
|
+
}
|
|
827
|
+
return this.length;
|
|
828
|
+
};
|
|
829
|
+
Yallist.prototype.unshift = function() {
|
|
830
|
+
for (var i = 0, l = arguments.length; i < l; i++) {
|
|
831
|
+
unshift(this, arguments[i]);
|
|
832
|
+
}
|
|
833
|
+
return this.length;
|
|
834
|
+
};
|
|
835
|
+
Yallist.prototype.pop = function() {
|
|
836
|
+
if (!this.tail) {
|
|
837
|
+
return void 0;
|
|
838
|
+
}
|
|
839
|
+
var res = this.tail.value;
|
|
840
|
+
this.tail = this.tail.prev;
|
|
841
|
+
if (this.tail) {
|
|
842
|
+
this.tail.next = null;
|
|
843
|
+
} else {
|
|
844
|
+
this.head = null;
|
|
845
|
+
}
|
|
846
|
+
this.length--;
|
|
847
|
+
return res;
|
|
848
|
+
};
|
|
849
|
+
Yallist.prototype.shift = function() {
|
|
850
|
+
if (!this.head) {
|
|
851
|
+
return void 0;
|
|
852
|
+
}
|
|
853
|
+
var res = this.head.value;
|
|
854
|
+
this.head = this.head.next;
|
|
855
|
+
if (this.head) {
|
|
856
|
+
this.head.prev = null;
|
|
857
|
+
} else {
|
|
858
|
+
this.tail = null;
|
|
859
|
+
}
|
|
860
|
+
this.length--;
|
|
861
|
+
return res;
|
|
862
|
+
};
|
|
863
|
+
Yallist.prototype.forEach = function(fn, thisp) {
|
|
864
|
+
thisp = thisp || this;
|
|
865
|
+
for (var walker = this.head, i = 0; walker !== null; i++) {
|
|
866
|
+
fn.call(thisp, walker.value, i, this);
|
|
867
|
+
walker = walker.next;
|
|
868
|
+
}
|
|
869
|
+
};
|
|
870
|
+
Yallist.prototype.forEachReverse = function(fn, thisp) {
|
|
871
|
+
thisp = thisp || this;
|
|
872
|
+
for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
|
|
873
|
+
fn.call(thisp, walker.value, i, this);
|
|
874
|
+
walker = walker.prev;
|
|
875
|
+
}
|
|
876
|
+
};
|
|
877
|
+
Yallist.prototype.get = function(n) {
|
|
878
|
+
for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
|
|
879
|
+
walker = walker.next;
|
|
880
|
+
}
|
|
881
|
+
if (i === n && walker !== null) {
|
|
882
|
+
return walker.value;
|
|
883
|
+
}
|
|
884
|
+
};
|
|
885
|
+
Yallist.prototype.getReverse = function(n) {
|
|
886
|
+
for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
|
|
887
|
+
walker = walker.prev;
|
|
888
|
+
}
|
|
889
|
+
if (i === n && walker !== null) {
|
|
890
|
+
return walker.value;
|
|
891
|
+
}
|
|
892
|
+
};
|
|
893
|
+
Yallist.prototype.map = function(fn, thisp) {
|
|
894
|
+
thisp = thisp || this;
|
|
895
|
+
var res = new Yallist();
|
|
896
|
+
for (var walker = this.head; walker !== null; ) {
|
|
897
|
+
res.push(fn.call(thisp, walker.value, this));
|
|
898
|
+
walker = walker.next;
|
|
899
|
+
}
|
|
900
|
+
return res;
|
|
901
|
+
};
|
|
902
|
+
Yallist.prototype.mapReverse = function(fn, thisp) {
|
|
903
|
+
thisp = thisp || this;
|
|
904
|
+
var res = new Yallist();
|
|
905
|
+
for (var walker = this.tail; walker !== null; ) {
|
|
906
|
+
res.push(fn.call(thisp, walker.value, this));
|
|
907
|
+
walker = walker.prev;
|
|
908
|
+
}
|
|
909
|
+
return res;
|
|
910
|
+
};
|
|
911
|
+
Yallist.prototype.reduce = function(fn, initial) {
|
|
912
|
+
var acc;
|
|
913
|
+
var walker = this.head;
|
|
914
|
+
if (arguments.length > 1) {
|
|
915
|
+
acc = initial;
|
|
916
|
+
} else if (this.head) {
|
|
917
|
+
walker = this.head.next;
|
|
918
|
+
acc = this.head.value;
|
|
919
|
+
} else {
|
|
920
|
+
throw new TypeError("Reduce of empty list with no initial value");
|
|
921
|
+
}
|
|
922
|
+
for (var i = 0; walker !== null; i++) {
|
|
923
|
+
acc = fn(acc, walker.value, i);
|
|
924
|
+
walker = walker.next;
|
|
925
|
+
}
|
|
926
|
+
return acc;
|
|
927
|
+
};
|
|
928
|
+
Yallist.prototype.reduceReverse = function(fn, initial) {
|
|
929
|
+
var acc;
|
|
930
|
+
var walker = this.tail;
|
|
931
|
+
if (arguments.length > 1) {
|
|
932
|
+
acc = initial;
|
|
933
|
+
} else if (this.tail) {
|
|
934
|
+
walker = this.tail.prev;
|
|
935
|
+
acc = this.tail.value;
|
|
936
|
+
} else {
|
|
937
|
+
throw new TypeError("Reduce of empty list with no initial value");
|
|
938
|
+
}
|
|
939
|
+
for (var i = this.length - 1; walker !== null; i--) {
|
|
940
|
+
acc = fn(acc, walker.value, i);
|
|
941
|
+
walker = walker.prev;
|
|
942
|
+
}
|
|
943
|
+
return acc;
|
|
944
|
+
};
|
|
945
|
+
Yallist.prototype.toArray = function() {
|
|
946
|
+
var arr = new Array(this.length);
|
|
947
|
+
for (var i = 0, walker = this.head; walker !== null; i++) {
|
|
948
|
+
arr[i] = walker.value;
|
|
949
|
+
walker = walker.next;
|
|
950
|
+
}
|
|
951
|
+
return arr;
|
|
952
|
+
};
|
|
953
|
+
Yallist.prototype.toArrayReverse = function() {
|
|
954
|
+
var arr = new Array(this.length);
|
|
955
|
+
for (var i = 0, walker = this.tail; walker !== null; i++) {
|
|
956
|
+
arr[i] = walker.value;
|
|
957
|
+
walker = walker.prev;
|
|
958
|
+
}
|
|
959
|
+
return arr;
|
|
960
|
+
};
|
|
961
|
+
Yallist.prototype.slice = function(from, to) {
|
|
962
|
+
to = to || this.length;
|
|
963
|
+
if (to < 0) {
|
|
964
|
+
to += this.length;
|
|
965
|
+
}
|
|
966
|
+
from = from || 0;
|
|
967
|
+
if (from < 0) {
|
|
968
|
+
from += this.length;
|
|
969
|
+
}
|
|
970
|
+
var ret = new Yallist();
|
|
971
|
+
if (to < from || to < 0) {
|
|
972
|
+
return ret;
|
|
973
|
+
}
|
|
974
|
+
if (from < 0) {
|
|
975
|
+
from = 0;
|
|
976
|
+
}
|
|
977
|
+
if (to > this.length) {
|
|
978
|
+
to = this.length;
|
|
979
|
+
}
|
|
980
|
+
for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
|
|
981
|
+
walker = walker.next;
|
|
982
|
+
}
|
|
983
|
+
for (; walker !== null && i < to; i++, walker = walker.next) {
|
|
984
|
+
ret.push(walker.value);
|
|
985
|
+
}
|
|
986
|
+
return ret;
|
|
987
|
+
};
|
|
988
|
+
Yallist.prototype.sliceReverse = function(from, to) {
|
|
989
|
+
to = to || this.length;
|
|
990
|
+
if (to < 0) {
|
|
991
|
+
to += this.length;
|
|
992
|
+
}
|
|
993
|
+
from = from || 0;
|
|
994
|
+
if (from < 0) {
|
|
995
|
+
from += this.length;
|
|
996
|
+
}
|
|
997
|
+
var ret = new Yallist();
|
|
998
|
+
if (to < from || to < 0) {
|
|
999
|
+
return ret;
|
|
1000
|
+
}
|
|
1001
|
+
if (from < 0) {
|
|
1002
|
+
from = 0;
|
|
1003
|
+
}
|
|
1004
|
+
if (to > this.length) {
|
|
1005
|
+
to = this.length;
|
|
1006
|
+
}
|
|
1007
|
+
for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
|
|
1008
|
+
walker = walker.prev;
|
|
1009
|
+
}
|
|
1010
|
+
for (; walker !== null && i > from; i--, walker = walker.prev) {
|
|
1011
|
+
ret.push(walker.value);
|
|
1012
|
+
}
|
|
1013
|
+
return ret;
|
|
1014
|
+
};
|
|
1015
|
+
Yallist.prototype.splice = function(start, deleteCount, ...nodes) {
|
|
1016
|
+
if (start > this.length) {
|
|
1017
|
+
start = this.length - 1;
|
|
1018
|
+
}
|
|
1019
|
+
if (start < 0) {
|
|
1020
|
+
start = this.length + start;
|
|
1021
|
+
}
|
|
1022
|
+
for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
|
|
1023
|
+
walker = walker.next;
|
|
1024
|
+
}
|
|
1025
|
+
var ret = [];
|
|
1026
|
+
for (var i = 0; walker && i < deleteCount; i++) {
|
|
1027
|
+
ret.push(walker.value);
|
|
1028
|
+
walker = this.removeNode(walker);
|
|
1029
|
+
}
|
|
1030
|
+
if (walker === null) {
|
|
1031
|
+
walker = this.tail;
|
|
1032
|
+
}
|
|
1033
|
+
if (walker !== this.head && walker !== this.tail) {
|
|
1034
|
+
walker = walker.prev;
|
|
1035
|
+
}
|
|
1036
|
+
for (var i = 0; i < nodes.length; i++) {
|
|
1037
|
+
walker = insert(this, walker, nodes[i]);
|
|
1038
|
+
}
|
|
1039
|
+
return ret;
|
|
1040
|
+
};
|
|
1041
|
+
Yallist.prototype.reverse = function() {
|
|
1042
|
+
var head = this.head;
|
|
1043
|
+
var tail = this.tail;
|
|
1044
|
+
for (var walker = head; walker !== null; walker = walker.prev) {
|
|
1045
|
+
var p = walker.prev;
|
|
1046
|
+
walker.prev = walker.next;
|
|
1047
|
+
walker.next = p;
|
|
1048
|
+
}
|
|
1049
|
+
this.head = tail;
|
|
1050
|
+
this.tail = head;
|
|
1051
|
+
return this;
|
|
1052
|
+
};
|
|
1053
|
+
function insert(self, node, value) {
|
|
1054
|
+
var inserted = node === self.head ? new Node(value, null, node, self) : new Node(value, node, node.next, self);
|
|
1055
|
+
if (inserted.next === null) {
|
|
1056
|
+
self.tail = inserted;
|
|
1057
|
+
}
|
|
1058
|
+
if (inserted.prev === null) {
|
|
1059
|
+
self.head = inserted;
|
|
1060
|
+
}
|
|
1061
|
+
self.length++;
|
|
1062
|
+
return inserted;
|
|
1063
|
+
}
|
|
1064
|
+
function push(self, item) {
|
|
1065
|
+
self.tail = new Node(item, self.tail, null, self);
|
|
1066
|
+
if (!self.head) {
|
|
1067
|
+
self.head = self.tail;
|
|
1068
|
+
}
|
|
1069
|
+
self.length++;
|
|
1070
|
+
}
|
|
1071
|
+
function unshift(self, item) {
|
|
1072
|
+
self.head = new Node(item, null, self.head, self);
|
|
1073
|
+
if (!self.tail) {
|
|
1074
|
+
self.tail = self.head;
|
|
1075
|
+
}
|
|
1076
|
+
self.length++;
|
|
1077
|
+
}
|
|
1078
|
+
function Node(value, prev, next, list) {
|
|
1079
|
+
if (!(this instanceof Node)) {
|
|
1080
|
+
return new Node(value, prev, next, list);
|
|
1081
|
+
}
|
|
1082
|
+
this.list = list;
|
|
1083
|
+
this.value = value;
|
|
1084
|
+
if (prev) {
|
|
1085
|
+
prev.next = this;
|
|
1086
|
+
this.prev = prev;
|
|
1087
|
+
} else {
|
|
1088
|
+
this.prev = null;
|
|
1089
|
+
}
|
|
1090
|
+
if (next) {
|
|
1091
|
+
next.prev = this;
|
|
1092
|
+
this.next = next;
|
|
1093
|
+
} else {
|
|
1094
|
+
this.next = null;
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1097
|
+
try {
|
|
1098
|
+
require_iterator()(Yallist);
|
|
1099
|
+
} catch (er) {
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1102
|
+
});
|
|
1103
|
+
|
|
1104
|
+
// node_modules/semver/node_modules/lru-cache/index.js
|
|
1105
|
+
var require_lru_cache = __commonJS({
|
|
1106
|
+
"node_modules/semver/node_modules/lru-cache/index.js"(exports, module2) {
|
|
1107
|
+
"use strict";
|
|
1108
|
+
var Yallist = require_yallist();
|
|
1109
|
+
var MAX = Symbol("max");
|
|
1110
|
+
var LENGTH = Symbol("length");
|
|
1111
|
+
var LENGTH_CALCULATOR = Symbol("lengthCalculator");
|
|
1112
|
+
var ALLOW_STALE = Symbol("allowStale");
|
|
1113
|
+
var MAX_AGE = Symbol("maxAge");
|
|
1114
|
+
var DISPOSE = Symbol("dispose");
|
|
1115
|
+
var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet");
|
|
1116
|
+
var LRU_LIST = Symbol("lruList");
|
|
1117
|
+
var CACHE = Symbol("cache");
|
|
1118
|
+
var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet");
|
|
1119
|
+
var naiveLength = () => 1;
|
|
1120
|
+
var LRUCache = class {
|
|
1121
|
+
constructor(options) {
|
|
1122
|
+
if (typeof options === "number")
|
|
1123
|
+
options = { max: options };
|
|
1124
|
+
if (!options)
|
|
1125
|
+
options = {};
|
|
1126
|
+
if (options.max && (typeof options.max !== "number" || options.max < 0))
|
|
1127
|
+
throw new TypeError("max must be a non-negative number");
|
|
1128
|
+
const max = this[MAX] = options.max || Infinity;
|
|
1129
|
+
const lc = options.length || naiveLength;
|
|
1130
|
+
this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc;
|
|
1131
|
+
this[ALLOW_STALE] = options.stale || false;
|
|
1132
|
+
if (options.maxAge && typeof options.maxAge !== "number")
|
|
1133
|
+
throw new TypeError("maxAge must be a number");
|
|
1134
|
+
this[MAX_AGE] = options.maxAge || 0;
|
|
1135
|
+
this[DISPOSE] = options.dispose;
|
|
1136
|
+
this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;
|
|
1137
|
+
this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
|
|
1138
|
+
this.reset();
|
|
1139
|
+
}
|
|
1140
|
+
set max(mL) {
|
|
1141
|
+
if (typeof mL !== "number" || mL < 0)
|
|
1142
|
+
throw new TypeError("max must be a non-negative number");
|
|
1143
|
+
this[MAX] = mL || Infinity;
|
|
1144
|
+
trim(this);
|
|
1145
|
+
}
|
|
1146
|
+
get max() {
|
|
1147
|
+
return this[MAX];
|
|
1148
|
+
}
|
|
1149
|
+
set allowStale(allowStale) {
|
|
1150
|
+
this[ALLOW_STALE] = !!allowStale;
|
|
1151
|
+
}
|
|
1152
|
+
get allowStale() {
|
|
1153
|
+
return this[ALLOW_STALE];
|
|
1154
|
+
}
|
|
1155
|
+
set maxAge(mA) {
|
|
1156
|
+
if (typeof mA !== "number")
|
|
1157
|
+
throw new TypeError("maxAge must be a non-negative number");
|
|
1158
|
+
this[MAX_AGE] = mA;
|
|
1159
|
+
trim(this);
|
|
1160
|
+
}
|
|
1161
|
+
get maxAge() {
|
|
1162
|
+
return this[MAX_AGE];
|
|
1163
|
+
}
|
|
1164
|
+
set lengthCalculator(lC) {
|
|
1165
|
+
if (typeof lC !== "function")
|
|
1166
|
+
lC = naiveLength;
|
|
1167
|
+
if (lC !== this[LENGTH_CALCULATOR]) {
|
|
1168
|
+
this[LENGTH_CALCULATOR] = lC;
|
|
1169
|
+
this[LENGTH] = 0;
|
|
1170
|
+
this[LRU_LIST].forEach((hit) => {
|
|
1171
|
+
hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key);
|
|
1172
|
+
this[LENGTH] += hit.length;
|
|
1173
|
+
});
|
|
1174
|
+
}
|
|
1175
|
+
trim(this);
|
|
1176
|
+
}
|
|
1177
|
+
get lengthCalculator() {
|
|
1178
|
+
return this[LENGTH_CALCULATOR];
|
|
1179
|
+
}
|
|
1180
|
+
get length() {
|
|
1181
|
+
return this[LENGTH];
|
|
1182
|
+
}
|
|
1183
|
+
get itemCount() {
|
|
1184
|
+
return this[LRU_LIST].length;
|
|
1185
|
+
}
|
|
1186
|
+
rforEach(fn, thisp) {
|
|
1187
|
+
thisp = thisp || this;
|
|
1188
|
+
for (let walker = this[LRU_LIST].tail; walker !== null; ) {
|
|
1189
|
+
const prev = walker.prev;
|
|
1190
|
+
forEachStep(this, fn, walker, thisp);
|
|
1191
|
+
walker = prev;
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1194
|
+
forEach(fn, thisp) {
|
|
1195
|
+
thisp = thisp || this;
|
|
1196
|
+
for (let walker = this[LRU_LIST].head; walker !== null; ) {
|
|
1197
|
+
const next = walker.next;
|
|
1198
|
+
forEachStep(this, fn, walker, thisp);
|
|
1199
|
+
walker = next;
|
|
1200
|
+
}
|
|
1201
|
+
}
|
|
1202
|
+
keys() {
|
|
1203
|
+
return this[LRU_LIST].toArray().map((k) => k.key);
|
|
1204
|
+
}
|
|
1205
|
+
values() {
|
|
1206
|
+
return this[LRU_LIST].toArray().map((k) => k.value);
|
|
1207
|
+
}
|
|
1208
|
+
reset() {
|
|
1209
|
+
if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {
|
|
1210
|
+
this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value));
|
|
1211
|
+
}
|
|
1212
|
+
this[CACHE] = /* @__PURE__ */ new Map();
|
|
1213
|
+
this[LRU_LIST] = new Yallist();
|
|
1214
|
+
this[LENGTH] = 0;
|
|
1215
|
+
}
|
|
1216
|
+
dump() {
|
|
1217
|
+
return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : {
|
|
1218
|
+
k: hit.key,
|
|
1219
|
+
v: hit.value,
|
|
1220
|
+
e: hit.now + (hit.maxAge || 0)
|
|
1221
|
+
}).toArray().filter((h) => h);
|
|
1222
|
+
}
|
|
1223
|
+
dumpLru() {
|
|
1224
|
+
return this[LRU_LIST];
|
|
1225
|
+
}
|
|
1226
|
+
set(key, value, maxAge) {
|
|
1227
|
+
maxAge = maxAge || this[MAX_AGE];
|
|
1228
|
+
if (maxAge && typeof maxAge !== "number")
|
|
1229
|
+
throw new TypeError("maxAge must be a number");
|
|
1230
|
+
const now = maxAge ? Date.now() : 0;
|
|
1231
|
+
const len = this[LENGTH_CALCULATOR](value, key);
|
|
1232
|
+
if (this[CACHE].has(key)) {
|
|
1233
|
+
if (len > this[MAX]) {
|
|
1234
|
+
del(this, this[CACHE].get(key));
|
|
1235
|
+
return false;
|
|
1236
|
+
}
|
|
1237
|
+
const node = this[CACHE].get(key);
|
|
1238
|
+
const item = node.value;
|
|
1239
|
+
if (this[DISPOSE]) {
|
|
1240
|
+
if (!this[NO_DISPOSE_ON_SET])
|
|
1241
|
+
this[DISPOSE](key, item.value);
|
|
1242
|
+
}
|
|
1243
|
+
item.now = now;
|
|
1244
|
+
item.maxAge = maxAge;
|
|
1245
|
+
item.value = value;
|
|
1246
|
+
this[LENGTH] += len - item.length;
|
|
1247
|
+
item.length = len;
|
|
1248
|
+
this.get(key);
|
|
1249
|
+
trim(this);
|
|
1250
|
+
return true;
|
|
1251
|
+
}
|
|
1252
|
+
const hit = new Entry(key, value, len, now, maxAge);
|
|
1253
|
+
if (hit.length > this[MAX]) {
|
|
1254
|
+
if (this[DISPOSE])
|
|
1255
|
+
this[DISPOSE](key, value);
|
|
1256
|
+
return false;
|
|
1257
|
+
}
|
|
1258
|
+
this[LENGTH] += hit.length;
|
|
1259
|
+
this[LRU_LIST].unshift(hit);
|
|
1260
|
+
this[CACHE].set(key, this[LRU_LIST].head);
|
|
1261
|
+
trim(this);
|
|
1262
|
+
return true;
|
|
1263
|
+
}
|
|
1264
|
+
has(key) {
|
|
1265
|
+
if (!this[CACHE].has(key))
|
|
1266
|
+
return false;
|
|
1267
|
+
const hit = this[CACHE].get(key).value;
|
|
1268
|
+
return !isStale(this, hit);
|
|
1269
|
+
}
|
|
1270
|
+
get(key) {
|
|
1271
|
+
return get(this, key, true);
|
|
1272
|
+
}
|
|
1273
|
+
peek(key) {
|
|
1274
|
+
return get(this, key, false);
|
|
1275
|
+
}
|
|
1276
|
+
pop() {
|
|
1277
|
+
const node = this[LRU_LIST].tail;
|
|
1278
|
+
if (!node)
|
|
1279
|
+
return null;
|
|
1280
|
+
del(this, node);
|
|
1281
|
+
return node.value;
|
|
1282
|
+
}
|
|
1283
|
+
del(key) {
|
|
1284
|
+
del(this, this[CACHE].get(key));
|
|
1285
|
+
}
|
|
1286
|
+
load(arr) {
|
|
1287
|
+
this.reset();
|
|
1288
|
+
const now = Date.now();
|
|
1289
|
+
for (let l = arr.length - 1; l >= 0; l--) {
|
|
1290
|
+
const hit = arr[l];
|
|
1291
|
+
const expiresAt = hit.e || 0;
|
|
1292
|
+
if (expiresAt === 0)
|
|
1293
|
+
this.set(hit.k, hit.v);
|
|
1294
|
+
else {
|
|
1295
|
+
const maxAge = expiresAt - now;
|
|
1296
|
+
if (maxAge > 0) {
|
|
1297
|
+
this.set(hit.k, hit.v, maxAge);
|
|
1298
|
+
}
|
|
1299
|
+
}
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
prune() {
|
|
1303
|
+
this[CACHE].forEach((value, key) => get(this, key, false));
|
|
1304
|
+
}
|
|
1305
|
+
};
|
|
1306
|
+
var get = (self, key, doUse) => {
|
|
1307
|
+
const node = self[CACHE].get(key);
|
|
1308
|
+
if (node) {
|
|
1309
|
+
const hit = node.value;
|
|
1310
|
+
if (isStale(self, hit)) {
|
|
1311
|
+
del(self, node);
|
|
1312
|
+
if (!self[ALLOW_STALE])
|
|
1313
|
+
return void 0;
|
|
1314
|
+
} else {
|
|
1315
|
+
if (doUse) {
|
|
1316
|
+
if (self[UPDATE_AGE_ON_GET])
|
|
1317
|
+
node.value.now = Date.now();
|
|
1318
|
+
self[LRU_LIST].unshiftNode(node);
|
|
1319
|
+
}
|
|
1320
|
+
}
|
|
1321
|
+
return hit.value;
|
|
1322
|
+
}
|
|
1323
|
+
};
|
|
1324
|
+
var isStale = (self, hit) => {
|
|
1325
|
+
if (!hit || !hit.maxAge && !self[MAX_AGE])
|
|
1326
|
+
return false;
|
|
1327
|
+
const diff = Date.now() - hit.now;
|
|
1328
|
+
return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE] && diff > self[MAX_AGE];
|
|
1329
|
+
};
|
|
1330
|
+
var trim = (self) => {
|
|
1331
|
+
if (self[LENGTH] > self[MAX]) {
|
|
1332
|
+
for (let walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null; ) {
|
|
1333
|
+
const prev = walker.prev;
|
|
1334
|
+
del(self, walker);
|
|
1335
|
+
walker = prev;
|
|
1336
|
+
}
|
|
1337
|
+
}
|
|
1338
|
+
};
|
|
1339
|
+
var del = (self, node) => {
|
|
1340
|
+
if (node) {
|
|
1341
|
+
const hit = node.value;
|
|
1342
|
+
if (self[DISPOSE])
|
|
1343
|
+
self[DISPOSE](hit.key, hit.value);
|
|
1344
|
+
self[LENGTH] -= hit.length;
|
|
1345
|
+
self[CACHE].delete(hit.key);
|
|
1346
|
+
self[LRU_LIST].removeNode(node);
|
|
1347
|
+
}
|
|
1348
|
+
};
|
|
1349
|
+
var Entry = class {
|
|
1350
|
+
constructor(key, value, length, now, maxAge) {
|
|
1351
|
+
this.key = key;
|
|
1352
|
+
this.value = value;
|
|
1353
|
+
this.length = length;
|
|
1354
|
+
this.now = now;
|
|
1355
|
+
this.maxAge = maxAge || 0;
|
|
1356
|
+
}
|
|
1357
|
+
};
|
|
1358
|
+
var forEachStep = (self, fn, node, thisp) => {
|
|
1359
|
+
let hit = node.value;
|
|
1360
|
+
if (isStale(self, hit)) {
|
|
1361
|
+
del(self, node);
|
|
1362
|
+
if (!self[ALLOW_STALE])
|
|
1363
|
+
hit = void 0;
|
|
1364
|
+
}
|
|
1365
|
+
if (hit)
|
|
1366
|
+
fn.call(thisp, hit.value, hit.key, self);
|
|
1367
|
+
};
|
|
1368
|
+
module2.exports = LRUCache;
|
|
1369
|
+
}
|
|
1370
|
+
});
|
|
1371
|
+
|
|
1372
|
+
// node_modules/semver/classes/range.js
|
|
1373
|
+
var require_range = __commonJS({
|
|
1374
|
+
"node_modules/semver/classes/range.js"(exports, module2) {
|
|
1375
|
+
var Range = class {
|
|
1376
|
+
constructor(range, options) {
|
|
1377
|
+
options = parseOptions(options);
|
|
1378
|
+
if (range instanceof Range) {
|
|
1379
|
+
if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
|
|
1380
|
+
return range;
|
|
1381
|
+
} else {
|
|
1382
|
+
return new Range(range.raw, options);
|
|
1383
|
+
}
|
|
1384
|
+
}
|
|
1385
|
+
if (range instanceof Comparator) {
|
|
1386
|
+
this.raw = range.value;
|
|
1387
|
+
this.set = [[range]];
|
|
1388
|
+
this.format();
|
|
1389
|
+
return this;
|
|
1390
|
+
}
|
|
1391
|
+
this.options = options;
|
|
1392
|
+
this.loose = !!options.loose;
|
|
1393
|
+
this.includePrerelease = !!options.includePrerelease;
|
|
1394
|
+
this.raw = range;
|
|
1395
|
+
this.set = range.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
|
|
1396
|
+
if (!this.set.length) {
|
|
1397
|
+
throw new TypeError(`Invalid SemVer Range: ${range}`);
|
|
1398
|
+
}
|
|
1399
|
+
if (this.set.length > 1) {
|
|
1400
|
+
const first = this.set[0];
|
|
1401
|
+
this.set = this.set.filter((c) => !isNullSet(c[0]));
|
|
1402
|
+
if (this.set.length === 0) {
|
|
1403
|
+
this.set = [first];
|
|
1404
|
+
} else if (this.set.length > 1) {
|
|
1405
|
+
for (const c of this.set) {
|
|
1406
|
+
if (c.length === 1 && isAny(c[0])) {
|
|
1407
|
+
this.set = [c];
|
|
1408
|
+
break;
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
this.format();
|
|
1414
|
+
}
|
|
1415
|
+
format() {
|
|
1416
|
+
this.range = this.set.map((comps) => {
|
|
1417
|
+
return comps.join(" ").trim();
|
|
1418
|
+
}).join("||").trim();
|
|
1419
|
+
return this.range;
|
|
1420
|
+
}
|
|
1421
|
+
toString() {
|
|
1422
|
+
return this.range;
|
|
1423
|
+
}
|
|
1424
|
+
parseRange(range) {
|
|
1425
|
+
range = range.trim();
|
|
1426
|
+
const memoOpts = Object.keys(this.options).join(",");
|
|
1427
|
+
const memoKey = `parseRange:${memoOpts}:${range}`;
|
|
1428
|
+
const cached = cache.get(memoKey);
|
|
1429
|
+
if (cached) {
|
|
1430
|
+
return cached;
|
|
1431
|
+
}
|
|
1432
|
+
const loose = this.options.loose;
|
|
1433
|
+
const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
|
|
1434
|
+
range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
|
|
1435
|
+
debug("hyphen replace", range);
|
|
1436
|
+
range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
|
|
1437
|
+
debug("comparator trim", range);
|
|
1438
|
+
range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
|
|
1439
|
+
range = range.replace(re[t.CARETTRIM], caretTrimReplace);
|
|
1440
|
+
range = range.split(/\s+/).join(" ");
|
|
1441
|
+
let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
|
|
1442
|
+
if (loose) {
|
|
1443
|
+
rangeList = rangeList.filter((comp) => {
|
|
1444
|
+
debug("loose invalid filter", comp, this.options);
|
|
1445
|
+
return !!comp.match(re[t.COMPARATORLOOSE]);
|
|
1446
|
+
});
|
|
1447
|
+
}
|
|
1448
|
+
debug("range list", rangeList);
|
|
1449
|
+
const rangeMap = /* @__PURE__ */ new Map();
|
|
1450
|
+
const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
|
|
1451
|
+
for (const comp of comparators) {
|
|
1452
|
+
if (isNullSet(comp)) {
|
|
1453
|
+
return [comp];
|
|
1454
|
+
}
|
|
1455
|
+
rangeMap.set(comp.value, comp);
|
|
1456
|
+
}
|
|
1457
|
+
if (rangeMap.size > 1 && rangeMap.has("")) {
|
|
1458
|
+
rangeMap.delete("");
|
|
1459
|
+
}
|
|
1460
|
+
const result = [...rangeMap.values()];
|
|
1461
|
+
cache.set(memoKey, result);
|
|
1462
|
+
return result;
|
|
1463
|
+
}
|
|
1464
|
+
intersects(range, options) {
|
|
1465
|
+
if (!(range instanceof Range)) {
|
|
1466
|
+
throw new TypeError("a Range is required");
|
|
1467
|
+
}
|
|
1468
|
+
return this.set.some((thisComparators) => {
|
|
1469
|
+
return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
|
|
1470
|
+
return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
|
|
1471
|
+
return rangeComparators.every((rangeComparator) => {
|
|
1472
|
+
return thisComparator.intersects(rangeComparator, options);
|
|
1473
|
+
});
|
|
1474
|
+
});
|
|
1475
|
+
});
|
|
1476
|
+
});
|
|
1477
|
+
}
|
|
1478
|
+
test(version) {
|
|
1479
|
+
if (!version) {
|
|
1480
|
+
return false;
|
|
1481
|
+
}
|
|
1482
|
+
if (typeof version === "string") {
|
|
1483
|
+
try {
|
|
1484
|
+
version = new SemVer(version, this.options);
|
|
1485
|
+
} catch (er) {
|
|
1486
|
+
return false;
|
|
1487
|
+
}
|
|
1488
|
+
}
|
|
1489
|
+
for (let i = 0; i < this.set.length; i++) {
|
|
1490
|
+
if (testSet(this.set[i], version, this.options)) {
|
|
1491
|
+
return true;
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1494
|
+
return false;
|
|
1495
|
+
}
|
|
1496
|
+
};
|
|
1497
|
+
module2.exports = Range;
|
|
1498
|
+
var LRU = require_lru_cache();
|
|
1499
|
+
var cache = new LRU({ max: 1e3 });
|
|
1500
|
+
var parseOptions = require_parse_options();
|
|
1501
|
+
var Comparator = require_comparator();
|
|
1502
|
+
var debug = require_debug();
|
|
1503
|
+
var SemVer = require_semver();
|
|
1504
|
+
var {
|
|
1505
|
+
re,
|
|
1506
|
+
t,
|
|
1507
|
+
comparatorTrimReplace,
|
|
1508
|
+
tildeTrimReplace,
|
|
1509
|
+
caretTrimReplace
|
|
1510
|
+
} = require_re();
|
|
1511
|
+
var isNullSet = (c) => c.value === "<0.0.0-0";
|
|
1512
|
+
var isAny = (c) => c.value === "";
|
|
1513
|
+
var isSatisfiable = (comparators, options) => {
|
|
1514
|
+
let result = true;
|
|
1515
|
+
const remainingComparators = comparators.slice();
|
|
1516
|
+
let testComparator = remainingComparators.pop();
|
|
1517
|
+
while (result && remainingComparators.length) {
|
|
1518
|
+
result = remainingComparators.every((otherComparator) => {
|
|
1519
|
+
return testComparator.intersects(otherComparator, options);
|
|
1520
|
+
});
|
|
1521
|
+
testComparator = remainingComparators.pop();
|
|
1522
|
+
}
|
|
1523
|
+
return result;
|
|
1524
|
+
};
|
|
1525
|
+
var parseComparator = (comp, options) => {
|
|
1526
|
+
debug("comp", comp, options);
|
|
1527
|
+
comp = replaceCarets(comp, options);
|
|
1528
|
+
debug("caret", comp);
|
|
1529
|
+
comp = replaceTildes(comp, options);
|
|
1530
|
+
debug("tildes", comp);
|
|
1531
|
+
comp = replaceXRanges(comp, options);
|
|
1532
|
+
debug("xrange", comp);
|
|
1533
|
+
comp = replaceStars(comp, options);
|
|
1534
|
+
debug("stars", comp);
|
|
1535
|
+
return comp;
|
|
1536
|
+
};
|
|
1537
|
+
var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
|
|
1538
|
+
var replaceTildes = (comp, options) => comp.trim().split(/\s+/).map((c) => {
|
|
1539
|
+
return replaceTilde(c, options);
|
|
1540
|
+
}).join(" ");
|
|
1541
|
+
var replaceTilde = (comp, options) => {
|
|
1542
|
+
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
1543
|
+
return comp.replace(r, (_, M, m, p, pr) => {
|
|
1544
|
+
debug("tilde", comp, _, M, m, p, pr);
|
|
1545
|
+
let ret;
|
|
1546
|
+
if (isX(M)) {
|
|
1547
|
+
ret = "";
|
|
1548
|
+
} else if (isX(m)) {
|
|
1549
|
+
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
|
|
1550
|
+
} else if (isX(p)) {
|
|
1551
|
+
ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
|
|
1552
|
+
} else if (pr) {
|
|
1553
|
+
debug("replaceTilde pr", pr);
|
|
1554
|
+
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
|
|
1555
|
+
} else {
|
|
1556
|
+
ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
|
|
1557
|
+
}
|
|
1558
|
+
debug("tilde return", ret);
|
|
1559
|
+
return ret;
|
|
1560
|
+
});
|
|
1561
|
+
};
|
|
1562
|
+
var replaceCarets = (comp, options) => comp.trim().split(/\s+/).map((c) => {
|
|
1563
|
+
return replaceCaret(c, options);
|
|
1564
|
+
}).join(" ");
|
|
1565
|
+
var replaceCaret = (comp, options) => {
|
|
1566
|
+
debug("caret", comp, options);
|
|
1567
|
+
const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
|
|
1568
|
+
const z = options.includePrerelease ? "-0" : "";
|
|
1569
|
+
return comp.replace(r, (_, M, m, p, pr) => {
|
|
1570
|
+
debug("caret", comp, _, M, m, p, pr);
|
|
1571
|
+
let ret;
|
|
1572
|
+
if (isX(M)) {
|
|
1573
|
+
ret = "";
|
|
1574
|
+
} else if (isX(m)) {
|
|
1575
|
+
ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
|
|
1576
|
+
} else if (isX(p)) {
|
|
1577
|
+
if (M === "0") {
|
|
1578
|
+
ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
|
|
1579
|
+
} else {
|
|
1580
|
+
ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
|
|
1581
|
+
}
|
|
1582
|
+
} else if (pr) {
|
|
1583
|
+
debug("replaceCaret pr", pr);
|
|
1584
|
+
if (M === "0") {
|
|
1585
|
+
if (m === "0") {
|
|
1586
|
+
ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
|
|
1587
|
+
} else {
|
|
1588
|
+
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
|
|
1589
|
+
}
|
|
1590
|
+
} else {
|
|
1591
|
+
ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
|
|
1592
|
+
}
|
|
1593
|
+
} else {
|
|
1594
|
+
debug("no pr");
|
|
1595
|
+
if (M === "0") {
|
|
1596
|
+
if (m === "0") {
|
|
1597
|
+
ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
|
|
1598
|
+
} else {
|
|
1599
|
+
ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
|
|
1600
|
+
}
|
|
1601
|
+
} else {
|
|
1602
|
+
ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
|
|
1603
|
+
}
|
|
1604
|
+
}
|
|
1605
|
+
debug("caret return", ret);
|
|
1606
|
+
return ret;
|
|
1607
|
+
});
|
|
1608
|
+
};
|
|
1609
|
+
var replaceXRanges = (comp, options) => {
|
|
1610
|
+
debug("replaceXRanges", comp, options);
|
|
1611
|
+
return comp.split(/\s+/).map((c) => {
|
|
1612
|
+
return replaceXRange(c, options);
|
|
1613
|
+
}).join(" ");
|
|
1614
|
+
};
|
|
1615
|
+
var replaceXRange = (comp, options) => {
|
|
1616
|
+
comp = comp.trim();
|
|
1617
|
+
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
1618
|
+
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
|
|
1619
|
+
debug("xRange", comp, ret, gtlt, M, m, p, pr);
|
|
1620
|
+
const xM = isX(M);
|
|
1621
|
+
const xm = xM || isX(m);
|
|
1622
|
+
const xp = xm || isX(p);
|
|
1623
|
+
const anyX = xp;
|
|
1624
|
+
if (gtlt === "=" && anyX) {
|
|
1625
|
+
gtlt = "";
|
|
1626
|
+
}
|
|
1627
|
+
pr = options.includePrerelease ? "-0" : "";
|
|
1628
|
+
if (xM) {
|
|
1629
|
+
if (gtlt === ">" || gtlt === "<") {
|
|
1630
|
+
ret = "<0.0.0-0";
|
|
1631
|
+
} else {
|
|
1632
|
+
ret = "*";
|
|
1633
|
+
}
|
|
1634
|
+
} else if (gtlt && anyX) {
|
|
1635
|
+
if (xm) {
|
|
1636
|
+
m = 0;
|
|
1637
|
+
}
|
|
1638
|
+
p = 0;
|
|
1639
|
+
if (gtlt === ">") {
|
|
1640
|
+
gtlt = ">=";
|
|
1641
|
+
if (xm) {
|
|
1642
|
+
M = +M + 1;
|
|
1643
|
+
m = 0;
|
|
1644
|
+
p = 0;
|
|
1645
|
+
} else {
|
|
1646
|
+
m = +m + 1;
|
|
1647
|
+
p = 0;
|
|
1648
|
+
}
|
|
1649
|
+
} else if (gtlt === "<=") {
|
|
1650
|
+
gtlt = "<";
|
|
1651
|
+
if (xm) {
|
|
1652
|
+
M = +M + 1;
|
|
1653
|
+
} else {
|
|
1654
|
+
m = +m + 1;
|
|
1655
|
+
}
|
|
1656
|
+
}
|
|
1657
|
+
if (gtlt === "<") {
|
|
1658
|
+
pr = "-0";
|
|
1659
|
+
}
|
|
1660
|
+
ret = `${gtlt + M}.${m}.${p}${pr}`;
|
|
1661
|
+
} else if (xm) {
|
|
1662
|
+
ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
|
|
1663
|
+
} else if (xp) {
|
|
1664
|
+
ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
|
|
1665
|
+
}
|
|
1666
|
+
debug("xRange return", ret);
|
|
1667
|
+
return ret;
|
|
1668
|
+
});
|
|
1669
|
+
};
|
|
1670
|
+
var replaceStars = (comp, options) => {
|
|
1671
|
+
debug("replaceStars", comp, options);
|
|
1672
|
+
return comp.trim().replace(re[t.STAR], "");
|
|
1673
|
+
};
|
|
1674
|
+
var replaceGTE0 = (comp, options) => {
|
|
1675
|
+
debug("replaceGTE0", comp, options);
|
|
1676
|
+
return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
|
|
1677
|
+
};
|
|
1678
|
+
var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => {
|
|
1679
|
+
if (isX(fM)) {
|
|
1680
|
+
from = "";
|
|
1681
|
+
} else if (isX(fm)) {
|
|
1682
|
+
from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
|
|
1683
|
+
} else if (isX(fp)) {
|
|
1684
|
+
from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
|
|
1685
|
+
} else if (fpr) {
|
|
1686
|
+
from = `>=${from}`;
|
|
1687
|
+
} else {
|
|
1688
|
+
from = `>=${from}${incPr ? "-0" : ""}`;
|
|
1689
|
+
}
|
|
1690
|
+
if (isX(tM)) {
|
|
1691
|
+
to = "";
|
|
1692
|
+
} else if (isX(tm)) {
|
|
1693
|
+
to = `<${+tM + 1}.0.0-0`;
|
|
1694
|
+
} else if (isX(tp)) {
|
|
1695
|
+
to = `<${tM}.${+tm + 1}.0-0`;
|
|
1696
|
+
} else if (tpr) {
|
|
1697
|
+
to = `<=${tM}.${tm}.${tp}-${tpr}`;
|
|
1698
|
+
} else if (incPr) {
|
|
1699
|
+
to = `<${tM}.${tm}.${+tp + 1}-0`;
|
|
1700
|
+
} else {
|
|
1701
|
+
to = `<=${to}`;
|
|
1702
|
+
}
|
|
1703
|
+
return `${from} ${to}`.trim();
|
|
1704
|
+
};
|
|
1705
|
+
var testSet = (set, version, options) => {
|
|
1706
|
+
for (let i = 0; i < set.length; i++) {
|
|
1707
|
+
if (!set[i].test(version)) {
|
|
1708
|
+
return false;
|
|
1709
|
+
}
|
|
1710
|
+
}
|
|
1711
|
+
if (version.prerelease.length && !options.includePrerelease) {
|
|
1712
|
+
for (let i = 0; i < set.length; i++) {
|
|
1713
|
+
debug(set[i].semver);
|
|
1714
|
+
if (set[i].semver === Comparator.ANY) {
|
|
1715
|
+
continue;
|
|
1716
|
+
}
|
|
1717
|
+
if (set[i].semver.prerelease.length > 0) {
|
|
1718
|
+
const allowed = set[i].semver;
|
|
1719
|
+
if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) {
|
|
1720
|
+
return true;
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1723
|
+
}
|
|
1724
|
+
return false;
|
|
1725
|
+
}
|
|
1726
|
+
return true;
|
|
1727
|
+
};
|
|
1728
|
+
}
|
|
1729
|
+
});
|
|
1730
|
+
|
|
1731
|
+
// node_modules/semver/classes/comparator.js
|
|
1732
|
+
var require_comparator = __commonJS({
|
|
1733
|
+
"node_modules/semver/classes/comparator.js"(exports, module2) {
|
|
1734
|
+
var ANY = Symbol("SemVer ANY");
|
|
1735
|
+
var Comparator = class {
|
|
1736
|
+
static get ANY() {
|
|
1737
|
+
return ANY;
|
|
1738
|
+
}
|
|
1739
|
+
constructor(comp, options) {
|
|
1740
|
+
options = parseOptions(options);
|
|
1741
|
+
if (comp instanceof Comparator) {
|
|
1742
|
+
if (comp.loose === !!options.loose) {
|
|
1743
|
+
return comp;
|
|
1744
|
+
} else {
|
|
1745
|
+
comp = comp.value;
|
|
1746
|
+
}
|
|
1747
|
+
}
|
|
1748
|
+
debug("comparator", comp, options);
|
|
1749
|
+
this.options = options;
|
|
1750
|
+
this.loose = !!options.loose;
|
|
1751
|
+
this.parse(comp);
|
|
1752
|
+
if (this.semver === ANY) {
|
|
1753
|
+
this.value = "";
|
|
1754
|
+
} else {
|
|
1755
|
+
this.value = this.operator + this.semver.version;
|
|
1756
|
+
}
|
|
1757
|
+
debug("comp", this);
|
|
1758
|
+
}
|
|
1759
|
+
parse(comp) {
|
|
1760
|
+
const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
1761
|
+
const m = comp.match(r);
|
|
1762
|
+
if (!m) {
|
|
1763
|
+
throw new TypeError(`Invalid comparator: ${comp}`);
|
|
1764
|
+
}
|
|
1765
|
+
this.operator = m[1] !== void 0 ? m[1] : "";
|
|
1766
|
+
if (this.operator === "=") {
|
|
1767
|
+
this.operator = "";
|
|
1768
|
+
}
|
|
1769
|
+
if (!m[2]) {
|
|
1770
|
+
this.semver = ANY;
|
|
1771
|
+
} else {
|
|
1772
|
+
this.semver = new SemVer(m[2], this.options.loose);
|
|
1773
|
+
}
|
|
1774
|
+
}
|
|
1775
|
+
toString() {
|
|
1776
|
+
return this.value;
|
|
1777
|
+
}
|
|
1778
|
+
test(version) {
|
|
1779
|
+
debug("Comparator.test", version, this.options.loose);
|
|
1780
|
+
if (this.semver === ANY || version === ANY) {
|
|
1781
|
+
return true;
|
|
1782
|
+
}
|
|
1783
|
+
if (typeof version === "string") {
|
|
1784
|
+
try {
|
|
1785
|
+
version = new SemVer(version, this.options);
|
|
1786
|
+
} catch (er) {
|
|
1787
|
+
return false;
|
|
1788
|
+
}
|
|
1789
|
+
}
|
|
1790
|
+
return cmp(version, this.operator, this.semver, this.options);
|
|
1791
|
+
}
|
|
1792
|
+
intersects(comp, options) {
|
|
1793
|
+
if (!(comp instanceof Comparator)) {
|
|
1794
|
+
throw new TypeError("a Comparator is required");
|
|
1795
|
+
}
|
|
1796
|
+
if (!options || typeof options !== "object") {
|
|
1797
|
+
options = {
|
|
1798
|
+
loose: !!options,
|
|
1799
|
+
includePrerelease: false
|
|
1800
|
+
};
|
|
1801
|
+
}
|
|
1802
|
+
if (this.operator === "") {
|
|
1803
|
+
if (this.value === "") {
|
|
1804
|
+
return true;
|
|
1805
|
+
}
|
|
1806
|
+
return new Range(comp.value, options).test(this.value);
|
|
1807
|
+
} else if (comp.operator === "") {
|
|
1808
|
+
if (comp.value === "") {
|
|
1809
|
+
return true;
|
|
1810
|
+
}
|
|
1811
|
+
return new Range(this.value, options).test(comp.semver);
|
|
1812
|
+
}
|
|
1813
|
+
const sameDirectionIncreasing = (this.operator === ">=" || this.operator === ">") && (comp.operator === ">=" || comp.operator === ">");
|
|
1814
|
+
const sameDirectionDecreasing = (this.operator === "<=" || this.operator === "<") && (comp.operator === "<=" || comp.operator === "<");
|
|
1815
|
+
const sameSemVer = this.semver.version === comp.semver.version;
|
|
1816
|
+
const differentDirectionsInclusive = (this.operator === ">=" || this.operator === "<=") && (comp.operator === ">=" || comp.operator === "<=");
|
|
1817
|
+
const oppositeDirectionsLessThan = cmp(this.semver, "<", comp.semver, options) && (this.operator === ">=" || this.operator === ">") && (comp.operator === "<=" || comp.operator === "<");
|
|
1818
|
+
const oppositeDirectionsGreaterThan = cmp(this.semver, ">", comp.semver, options) && (this.operator === "<=" || this.operator === "<") && (comp.operator === ">=" || comp.operator === ">");
|
|
1819
|
+
return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;
|
|
1820
|
+
}
|
|
1821
|
+
};
|
|
1822
|
+
module2.exports = Comparator;
|
|
1823
|
+
var parseOptions = require_parse_options();
|
|
1824
|
+
var { re, t } = require_re();
|
|
1825
|
+
var cmp = require_cmp();
|
|
1826
|
+
var debug = require_debug();
|
|
1827
|
+
var SemVer = require_semver();
|
|
1828
|
+
var Range = require_range();
|
|
1829
|
+
}
|
|
1830
|
+
});
|
|
1831
|
+
|
|
1832
|
+
// node_modules/semver/functions/satisfies.js
|
|
1833
|
+
var require_satisfies = __commonJS({
|
|
1834
|
+
"node_modules/semver/functions/satisfies.js"(exports, module2) {
|
|
1835
|
+
var Range = require_range();
|
|
1836
|
+
var satisfies = (version, range, options) => {
|
|
1837
|
+
try {
|
|
1838
|
+
range = new Range(range, options);
|
|
1839
|
+
} catch (er) {
|
|
1840
|
+
return false;
|
|
1841
|
+
}
|
|
1842
|
+
return range.test(version);
|
|
1843
|
+
};
|
|
1844
|
+
module2.exports = satisfies;
|
|
1845
|
+
}
|
|
1846
|
+
});
|
|
1847
|
+
|
|
1848
|
+
// node_modules/semver/ranges/to-comparators.js
|
|
1849
|
+
var require_to_comparators = __commonJS({
|
|
1850
|
+
"node_modules/semver/ranges/to-comparators.js"(exports, module2) {
|
|
1851
|
+
var Range = require_range();
|
|
1852
|
+
var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
|
|
1853
|
+
module2.exports = toComparators;
|
|
1854
|
+
}
|
|
1855
|
+
});
|
|
1856
|
+
|
|
1857
|
+
// node_modules/semver/ranges/max-satisfying.js
|
|
1858
|
+
var require_max_satisfying = __commonJS({
|
|
1859
|
+
"node_modules/semver/ranges/max-satisfying.js"(exports, module2) {
|
|
1860
|
+
var SemVer = require_semver();
|
|
1861
|
+
var Range = require_range();
|
|
1862
|
+
var maxSatisfying2 = (versions, range, options) => {
|
|
1863
|
+
let max = null;
|
|
1864
|
+
let maxSV = null;
|
|
1865
|
+
let rangeObj = null;
|
|
1866
|
+
try {
|
|
1867
|
+
rangeObj = new Range(range, options);
|
|
1868
|
+
} catch (er) {
|
|
1869
|
+
return null;
|
|
1870
|
+
}
|
|
1871
|
+
versions.forEach((v) => {
|
|
1872
|
+
if (rangeObj.test(v)) {
|
|
1873
|
+
if (!max || maxSV.compare(v) === -1) {
|
|
1874
|
+
max = v;
|
|
1875
|
+
maxSV = new SemVer(max, options);
|
|
1876
|
+
}
|
|
1877
|
+
}
|
|
1878
|
+
});
|
|
1879
|
+
return max;
|
|
1880
|
+
};
|
|
1881
|
+
module2.exports = maxSatisfying2;
|
|
1882
|
+
}
|
|
1883
|
+
});
|
|
1884
|
+
|
|
1885
|
+
// node_modules/semver/ranges/min-satisfying.js
|
|
1886
|
+
var require_min_satisfying = __commonJS({
|
|
1887
|
+
"node_modules/semver/ranges/min-satisfying.js"(exports, module2) {
|
|
1888
|
+
var SemVer = require_semver();
|
|
1889
|
+
var Range = require_range();
|
|
1890
|
+
var minSatisfying = (versions, range, options) => {
|
|
1891
|
+
let min = null;
|
|
1892
|
+
let minSV = null;
|
|
1893
|
+
let rangeObj = null;
|
|
1894
|
+
try {
|
|
1895
|
+
rangeObj = new Range(range, options);
|
|
1896
|
+
} catch (er) {
|
|
1897
|
+
return null;
|
|
1898
|
+
}
|
|
1899
|
+
versions.forEach((v) => {
|
|
1900
|
+
if (rangeObj.test(v)) {
|
|
1901
|
+
if (!min || minSV.compare(v) === 1) {
|
|
1902
|
+
min = v;
|
|
1903
|
+
minSV = new SemVer(min, options);
|
|
1904
|
+
}
|
|
1905
|
+
}
|
|
1906
|
+
});
|
|
1907
|
+
return min;
|
|
1908
|
+
};
|
|
1909
|
+
module2.exports = minSatisfying;
|
|
1910
|
+
}
|
|
1911
|
+
});
|
|
1912
|
+
|
|
1913
|
+
// node_modules/semver/ranges/min-version.js
|
|
1914
|
+
var require_min_version = __commonJS({
|
|
1915
|
+
"node_modules/semver/ranges/min-version.js"(exports, module2) {
|
|
1916
|
+
var SemVer = require_semver();
|
|
1917
|
+
var Range = require_range();
|
|
1918
|
+
var gt = require_gt();
|
|
1919
|
+
var minVersion = (range, loose) => {
|
|
1920
|
+
range = new Range(range, loose);
|
|
1921
|
+
let minver = new SemVer("0.0.0");
|
|
1922
|
+
if (range.test(minver)) {
|
|
1923
|
+
return minver;
|
|
1924
|
+
}
|
|
1925
|
+
minver = new SemVer("0.0.0-0");
|
|
1926
|
+
if (range.test(minver)) {
|
|
1927
|
+
return minver;
|
|
1928
|
+
}
|
|
1929
|
+
minver = null;
|
|
1930
|
+
for (let i = 0; i < range.set.length; ++i) {
|
|
1931
|
+
const comparators = range.set[i];
|
|
1932
|
+
let setMin = null;
|
|
1933
|
+
comparators.forEach((comparator) => {
|
|
1934
|
+
const compver = new SemVer(comparator.semver.version);
|
|
1935
|
+
switch (comparator.operator) {
|
|
1936
|
+
case ">":
|
|
1937
|
+
if (compver.prerelease.length === 0) {
|
|
1938
|
+
compver.patch++;
|
|
1939
|
+
} else {
|
|
1940
|
+
compver.prerelease.push(0);
|
|
1941
|
+
}
|
|
1942
|
+
compver.raw = compver.format();
|
|
1943
|
+
case "":
|
|
1944
|
+
case ">=":
|
|
1945
|
+
if (!setMin || gt(compver, setMin)) {
|
|
1946
|
+
setMin = compver;
|
|
1947
|
+
}
|
|
1948
|
+
break;
|
|
1949
|
+
case "<":
|
|
1950
|
+
case "<=":
|
|
1951
|
+
break;
|
|
1952
|
+
default:
|
|
1953
|
+
throw new Error(`Unexpected operation: ${comparator.operator}`);
|
|
1954
|
+
}
|
|
1955
|
+
});
|
|
1956
|
+
if (setMin && (!minver || gt(minver, setMin))) {
|
|
1957
|
+
minver = setMin;
|
|
1958
|
+
}
|
|
1959
|
+
}
|
|
1960
|
+
if (minver && range.test(minver)) {
|
|
1961
|
+
return minver;
|
|
1962
|
+
}
|
|
1963
|
+
return null;
|
|
1964
|
+
};
|
|
1965
|
+
module2.exports = minVersion;
|
|
1966
|
+
}
|
|
1967
|
+
});
|
|
1968
|
+
|
|
1969
|
+
// node_modules/semver/ranges/valid.js
|
|
1970
|
+
var require_valid2 = __commonJS({
|
|
1971
|
+
"node_modules/semver/ranges/valid.js"(exports, module2) {
|
|
1972
|
+
var Range = require_range();
|
|
1973
|
+
var validRange = (range, options) => {
|
|
1974
|
+
try {
|
|
1975
|
+
return new Range(range, options).range || "*";
|
|
1976
|
+
} catch (er) {
|
|
1977
|
+
return null;
|
|
1978
|
+
}
|
|
1979
|
+
};
|
|
1980
|
+
module2.exports = validRange;
|
|
1981
|
+
}
|
|
1982
|
+
});
|
|
1983
|
+
|
|
1984
|
+
// node_modules/semver/ranges/outside.js
|
|
1985
|
+
var require_outside = __commonJS({
|
|
1986
|
+
"node_modules/semver/ranges/outside.js"(exports, module2) {
|
|
1987
|
+
var SemVer = require_semver();
|
|
1988
|
+
var Comparator = require_comparator();
|
|
1989
|
+
var { ANY } = Comparator;
|
|
1990
|
+
var Range = require_range();
|
|
1991
|
+
var satisfies = require_satisfies();
|
|
1992
|
+
var gt = require_gt();
|
|
1993
|
+
var lt = require_lt();
|
|
1994
|
+
var lte = require_lte();
|
|
1995
|
+
var gte = require_gte();
|
|
1996
|
+
var outside = (version, range, hilo, options) => {
|
|
1997
|
+
version = new SemVer(version, options);
|
|
1998
|
+
range = new Range(range, options);
|
|
1999
|
+
let gtfn, ltefn, ltfn, comp, ecomp;
|
|
2000
|
+
switch (hilo) {
|
|
2001
|
+
case ">":
|
|
2002
|
+
gtfn = gt;
|
|
2003
|
+
ltefn = lte;
|
|
2004
|
+
ltfn = lt;
|
|
2005
|
+
comp = ">";
|
|
2006
|
+
ecomp = ">=";
|
|
2007
|
+
break;
|
|
2008
|
+
case "<":
|
|
2009
|
+
gtfn = lt;
|
|
2010
|
+
ltefn = gte;
|
|
2011
|
+
ltfn = gt;
|
|
2012
|
+
comp = "<";
|
|
2013
|
+
ecomp = "<=";
|
|
2014
|
+
break;
|
|
2015
|
+
default:
|
|
2016
|
+
throw new TypeError('Must provide a hilo val of "<" or ">"');
|
|
2017
|
+
}
|
|
2018
|
+
if (satisfies(version, range, options)) {
|
|
2019
|
+
return false;
|
|
2020
|
+
}
|
|
2021
|
+
for (let i = 0; i < range.set.length; ++i) {
|
|
2022
|
+
const comparators = range.set[i];
|
|
2023
|
+
let high = null;
|
|
2024
|
+
let low = null;
|
|
2025
|
+
comparators.forEach((comparator) => {
|
|
2026
|
+
if (comparator.semver === ANY) {
|
|
2027
|
+
comparator = new Comparator(">=0.0.0");
|
|
2028
|
+
}
|
|
2029
|
+
high = high || comparator;
|
|
2030
|
+
low = low || comparator;
|
|
2031
|
+
if (gtfn(comparator.semver, high.semver, options)) {
|
|
2032
|
+
high = comparator;
|
|
2033
|
+
} else if (ltfn(comparator.semver, low.semver, options)) {
|
|
2034
|
+
low = comparator;
|
|
2035
|
+
}
|
|
2036
|
+
});
|
|
2037
|
+
if (high.operator === comp || high.operator === ecomp) {
|
|
2038
|
+
return false;
|
|
2039
|
+
}
|
|
2040
|
+
if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) {
|
|
2041
|
+
return false;
|
|
2042
|
+
} else if (low.operator === ecomp && ltfn(version, low.semver)) {
|
|
2043
|
+
return false;
|
|
2044
|
+
}
|
|
2045
|
+
}
|
|
2046
|
+
return true;
|
|
2047
|
+
};
|
|
2048
|
+
module2.exports = outside;
|
|
2049
|
+
}
|
|
2050
|
+
});
|
|
2051
|
+
|
|
2052
|
+
// node_modules/semver/ranges/gtr.js
|
|
2053
|
+
var require_gtr = __commonJS({
|
|
2054
|
+
"node_modules/semver/ranges/gtr.js"(exports, module2) {
|
|
2055
|
+
var outside = require_outside();
|
|
2056
|
+
var gtr = (version, range, options) => outside(version, range, ">", options);
|
|
2057
|
+
module2.exports = gtr;
|
|
2058
|
+
}
|
|
2059
|
+
});
|
|
2060
|
+
|
|
2061
|
+
// node_modules/semver/ranges/ltr.js
|
|
2062
|
+
var require_ltr = __commonJS({
|
|
2063
|
+
"node_modules/semver/ranges/ltr.js"(exports, module2) {
|
|
2064
|
+
var outside = require_outside();
|
|
2065
|
+
var ltr = (version, range, options) => outside(version, range, "<", options);
|
|
2066
|
+
module2.exports = ltr;
|
|
2067
|
+
}
|
|
2068
|
+
});
|
|
2069
|
+
|
|
2070
|
+
// node_modules/semver/ranges/intersects.js
|
|
2071
|
+
var require_intersects = __commonJS({
|
|
2072
|
+
"node_modules/semver/ranges/intersects.js"(exports, module2) {
|
|
2073
|
+
var Range = require_range();
|
|
2074
|
+
var intersects = (r1, r2, options) => {
|
|
2075
|
+
r1 = new Range(r1, options);
|
|
2076
|
+
r2 = new Range(r2, options);
|
|
2077
|
+
return r1.intersects(r2);
|
|
2078
|
+
};
|
|
2079
|
+
module2.exports = intersects;
|
|
2080
|
+
}
|
|
2081
|
+
});
|
|
2082
|
+
|
|
2083
|
+
// node_modules/semver/ranges/simplify.js
|
|
2084
|
+
var require_simplify = __commonJS({
|
|
2085
|
+
"node_modules/semver/ranges/simplify.js"(exports, module2) {
|
|
2086
|
+
var satisfies = require_satisfies();
|
|
2087
|
+
var compare = require_compare();
|
|
2088
|
+
module2.exports = (versions, range, options) => {
|
|
2089
|
+
const set = [];
|
|
2090
|
+
let first = null;
|
|
2091
|
+
let prev = null;
|
|
2092
|
+
const v = versions.sort((a, b) => compare(a, b, options));
|
|
2093
|
+
for (const version of v) {
|
|
2094
|
+
const included = satisfies(version, range, options);
|
|
2095
|
+
if (included) {
|
|
2096
|
+
prev = version;
|
|
2097
|
+
if (!first) {
|
|
2098
|
+
first = version;
|
|
2099
|
+
}
|
|
2100
|
+
} else {
|
|
2101
|
+
if (prev) {
|
|
2102
|
+
set.push([first, prev]);
|
|
2103
|
+
}
|
|
2104
|
+
prev = null;
|
|
2105
|
+
first = null;
|
|
2106
|
+
}
|
|
2107
|
+
}
|
|
2108
|
+
if (first) {
|
|
2109
|
+
set.push([first, null]);
|
|
2110
|
+
}
|
|
2111
|
+
const ranges = [];
|
|
2112
|
+
for (const [min, max] of set) {
|
|
2113
|
+
if (min === max) {
|
|
2114
|
+
ranges.push(min);
|
|
2115
|
+
} else if (!max && min === v[0]) {
|
|
2116
|
+
ranges.push("*");
|
|
2117
|
+
} else if (!max) {
|
|
2118
|
+
ranges.push(`>=${min}`);
|
|
2119
|
+
} else if (min === v[0]) {
|
|
2120
|
+
ranges.push(`<=${max}`);
|
|
2121
|
+
} else {
|
|
2122
|
+
ranges.push(`${min} - ${max}`);
|
|
2123
|
+
}
|
|
2124
|
+
}
|
|
2125
|
+
const simplified = ranges.join(" || ");
|
|
2126
|
+
const original = typeof range.raw === "string" ? range.raw : String(range);
|
|
2127
|
+
return simplified.length < original.length ? simplified : range;
|
|
2128
|
+
};
|
|
2129
|
+
}
|
|
2130
|
+
});
|
|
2131
|
+
|
|
2132
|
+
// node_modules/semver/ranges/subset.js
|
|
2133
|
+
var require_subset = __commonJS({
|
|
2134
|
+
"node_modules/semver/ranges/subset.js"(exports, module2) {
|
|
2135
|
+
var Range = require_range();
|
|
2136
|
+
var Comparator = require_comparator();
|
|
2137
|
+
var { ANY } = Comparator;
|
|
2138
|
+
var satisfies = require_satisfies();
|
|
2139
|
+
var compare = require_compare();
|
|
2140
|
+
var subset = (sub, dom, options = {}) => {
|
|
2141
|
+
if (sub === dom) {
|
|
2142
|
+
return true;
|
|
2143
|
+
}
|
|
2144
|
+
sub = new Range(sub, options);
|
|
2145
|
+
dom = new Range(dom, options);
|
|
2146
|
+
let sawNonNull = false;
|
|
2147
|
+
OUTER:
|
|
2148
|
+
for (const simpleSub of sub.set) {
|
|
2149
|
+
for (const simpleDom of dom.set) {
|
|
2150
|
+
const isSub = simpleSubset(simpleSub, simpleDom, options);
|
|
2151
|
+
sawNonNull = sawNonNull || isSub !== null;
|
|
2152
|
+
if (isSub) {
|
|
2153
|
+
continue OUTER;
|
|
2154
|
+
}
|
|
2155
|
+
}
|
|
2156
|
+
if (sawNonNull) {
|
|
2157
|
+
return false;
|
|
2158
|
+
}
|
|
2159
|
+
}
|
|
2160
|
+
return true;
|
|
2161
|
+
};
|
|
2162
|
+
var simpleSubset = (sub, dom, options) => {
|
|
2163
|
+
if (sub === dom) {
|
|
2164
|
+
return true;
|
|
2165
|
+
}
|
|
2166
|
+
if (sub.length === 1 && sub[0].semver === ANY) {
|
|
2167
|
+
if (dom.length === 1 && dom[0].semver === ANY) {
|
|
2168
|
+
return true;
|
|
2169
|
+
} else if (options.includePrerelease) {
|
|
2170
|
+
sub = [new Comparator(">=0.0.0-0")];
|
|
2171
|
+
} else {
|
|
2172
|
+
sub = [new Comparator(">=0.0.0")];
|
|
2173
|
+
}
|
|
2174
|
+
}
|
|
2175
|
+
if (dom.length === 1 && dom[0].semver === ANY) {
|
|
2176
|
+
if (options.includePrerelease) {
|
|
2177
|
+
return true;
|
|
2178
|
+
} else {
|
|
2179
|
+
dom = [new Comparator(">=0.0.0")];
|
|
2180
|
+
}
|
|
2181
|
+
}
|
|
2182
|
+
const eqSet = /* @__PURE__ */ new Set();
|
|
2183
|
+
let gt, lt;
|
|
2184
|
+
for (const c of sub) {
|
|
2185
|
+
if (c.operator === ">" || c.operator === ">=") {
|
|
2186
|
+
gt = higherGT(gt, c, options);
|
|
2187
|
+
} else if (c.operator === "<" || c.operator === "<=") {
|
|
2188
|
+
lt = lowerLT(lt, c, options);
|
|
2189
|
+
} else {
|
|
2190
|
+
eqSet.add(c.semver);
|
|
2191
|
+
}
|
|
2192
|
+
}
|
|
2193
|
+
if (eqSet.size > 1) {
|
|
2194
|
+
return null;
|
|
2195
|
+
}
|
|
2196
|
+
let gtltComp;
|
|
2197
|
+
if (gt && lt) {
|
|
2198
|
+
gtltComp = compare(gt.semver, lt.semver, options);
|
|
2199
|
+
if (gtltComp > 0) {
|
|
2200
|
+
return null;
|
|
2201
|
+
} else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
|
|
2202
|
+
return null;
|
|
2203
|
+
}
|
|
2204
|
+
}
|
|
2205
|
+
for (const eq of eqSet) {
|
|
2206
|
+
if (gt && !satisfies(eq, String(gt), options)) {
|
|
2207
|
+
return null;
|
|
2208
|
+
}
|
|
2209
|
+
if (lt && !satisfies(eq, String(lt), options)) {
|
|
2210
|
+
return null;
|
|
2211
|
+
}
|
|
2212
|
+
for (const c of dom) {
|
|
2213
|
+
if (!satisfies(eq, String(c), options)) {
|
|
2214
|
+
return false;
|
|
2215
|
+
}
|
|
2216
|
+
}
|
|
2217
|
+
return true;
|
|
2218
|
+
}
|
|
2219
|
+
let higher, lower;
|
|
2220
|
+
let hasDomLT, hasDomGT;
|
|
2221
|
+
let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
|
|
2222
|
+
let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
|
|
2223
|
+
if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
|
|
2224
|
+
needDomLTPre = false;
|
|
2225
|
+
}
|
|
2226
|
+
for (const c of dom) {
|
|
2227
|
+
hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
|
|
2228
|
+
hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
|
|
2229
|
+
if (gt) {
|
|
2230
|
+
if (needDomGTPre) {
|
|
2231
|
+
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
|
|
2232
|
+
needDomGTPre = false;
|
|
2233
|
+
}
|
|
2234
|
+
}
|
|
2235
|
+
if (c.operator === ">" || c.operator === ">=") {
|
|
2236
|
+
higher = higherGT(gt, c, options);
|
|
2237
|
+
if (higher === c && higher !== gt) {
|
|
2238
|
+
return false;
|
|
2239
|
+
}
|
|
2240
|
+
} else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) {
|
|
2241
|
+
return false;
|
|
2242
|
+
}
|
|
2243
|
+
}
|
|
2244
|
+
if (lt) {
|
|
2245
|
+
if (needDomLTPre) {
|
|
2246
|
+
if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
|
|
2247
|
+
needDomLTPre = false;
|
|
2248
|
+
}
|
|
2249
|
+
}
|
|
2250
|
+
if (c.operator === "<" || c.operator === "<=") {
|
|
2251
|
+
lower = lowerLT(lt, c, options);
|
|
2252
|
+
if (lower === c && lower !== lt) {
|
|
2253
|
+
return false;
|
|
2254
|
+
}
|
|
2255
|
+
} else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) {
|
|
2256
|
+
return false;
|
|
2257
|
+
}
|
|
2258
|
+
}
|
|
2259
|
+
if (!c.operator && (lt || gt) && gtltComp !== 0) {
|
|
2260
|
+
return false;
|
|
2261
|
+
}
|
|
2262
|
+
}
|
|
2263
|
+
if (gt && hasDomLT && !lt && gtltComp !== 0) {
|
|
2264
|
+
return false;
|
|
2265
|
+
}
|
|
2266
|
+
if (lt && hasDomGT && !gt && gtltComp !== 0) {
|
|
2267
|
+
return false;
|
|
2268
|
+
}
|
|
2269
|
+
if (needDomGTPre || needDomLTPre) {
|
|
2270
|
+
return false;
|
|
2271
|
+
}
|
|
2272
|
+
return true;
|
|
2273
|
+
};
|
|
2274
|
+
var higherGT = (a, b, options) => {
|
|
2275
|
+
if (!a) {
|
|
2276
|
+
return b;
|
|
2277
|
+
}
|
|
2278
|
+
const comp = compare(a.semver, b.semver, options);
|
|
2279
|
+
return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
|
|
2280
|
+
};
|
|
2281
|
+
var lowerLT = (a, b, options) => {
|
|
2282
|
+
if (!a) {
|
|
2283
|
+
return b;
|
|
2284
|
+
}
|
|
2285
|
+
const comp = compare(a.semver, b.semver, options);
|
|
2286
|
+
return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
|
|
2287
|
+
};
|
|
2288
|
+
module2.exports = subset;
|
|
2289
|
+
}
|
|
2290
|
+
});
|
|
2291
|
+
|
|
2292
|
+
// node_modules/semver/index.js
|
|
2293
|
+
var require_semver2 = __commonJS({
|
|
2294
|
+
"node_modules/semver/index.js"(exports, module2) {
|
|
2295
|
+
var internalRe = require_re();
|
|
2296
|
+
module2.exports = {
|
|
2297
|
+
re: internalRe.re,
|
|
2298
|
+
src: internalRe.src,
|
|
2299
|
+
tokens: internalRe.t,
|
|
2300
|
+
SEMVER_SPEC_VERSION: require_constants().SEMVER_SPEC_VERSION,
|
|
2301
|
+
SemVer: require_semver(),
|
|
2302
|
+
compareIdentifiers: require_identifiers().compareIdentifiers,
|
|
2303
|
+
rcompareIdentifiers: require_identifiers().rcompareIdentifiers,
|
|
2304
|
+
parse: require_parse(),
|
|
2305
|
+
valid: require_valid(),
|
|
2306
|
+
clean: require_clean(),
|
|
2307
|
+
inc: require_inc(),
|
|
2308
|
+
diff: require_diff(),
|
|
2309
|
+
major: require_major(),
|
|
2310
|
+
minor: require_minor(),
|
|
2311
|
+
patch: require_patch(),
|
|
2312
|
+
prerelease: require_prerelease(),
|
|
2313
|
+
compare: require_compare(),
|
|
2314
|
+
rcompare: require_rcompare(),
|
|
2315
|
+
compareLoose: require_compare_loose(),
|
|
2316
|
+
compareBuild: require_compare_build(),
|
|
2317
|
+
sort: require_sort(),
|
|
2318
|
+
rsort: require_rsort(),
|
|
2319
|
+
gt: require_gt(),
|
|
2320
|
+
lt: require_lt(),
|
|
2321
|
+
eq: require_eq(),
|
|
2322
|
+
neq: require_neq(),
|
|
2323
|
+
gte: require_gte(),
|
|
2324
|
+
lte: require_lte(),
|
|
2325
|
+
cmp: require_cmp(),
|
|
2326
|
+
coerce: require_coerce(),
|
|
2327
|
+
Comparator: require_comparator(),
|
|
2328
|
+
Range: require_range(),
|
|
2329
|
+
satisfies: require_satisfies(),
|
|
2330
|
+
toComparators: require_to_comparators(),
|
|
2331
|
+
maxSatisfying: require_max_satisfying(),
|
|
2332
|
+
minSatisfying: require_min_satisfying(),
|
|
2333
|
+
minVersion: require_min_version(),
|
|
2334
|
+
validRange: require_valid2(),
|
|
2335
|
+
outside: require_outside(),
|
|
2336
|
+
gtr: require_gtr(),
|
|
2337
|
+
ltr: require_ltr(),
|
|
2338
|
+
intersects: require_intersects(),
|
|
2339
|
+
simplifyRange: require_simplify(),
|
|
2340
|
+
subset: require_subset()
|
|
2341
|
+
};
|
|
2342
|
+
}
|
|
2343
|
+
});
|
|
2344
|
+
|
|
2345
|
+
// src/lambdas/aws-image-builder-versioner/index.ts
|
|
2346
|
+
var aws_image_builder_versioner_exports = {};
|
|
2347
|
+
__export(aws_image_builder_versioner_exports, {
|
|
2348
|
+
handler: () => handler
|
|
2349
|
+
});
|
|
2350
|
+
module.exports = __toCommonJS(aws_image_builder_versioner_exports);
|
|
2351
|
+
var AWS2 = __toESM(require("aws-sdk"));
|
|
2352
|
+
var import_semver = __toESM(require_semver2());
|
|
2353
|
+
|
|
2354
|
+
// src/lambdas/helpers.ts
|
|
2355
|
+
var AWS = __toESM(require("aws-sdk"));
|
|
2356
|
+
var sm = new AWS.SecretsManager();
|
|
2357
|
+
async function customResourceRespond(event, responseStatus, reason, physicalResourceId, data) {
|
|
2358
|
+
const responseBody = JSON.stringify({
|
|
2359
|
+
Status: responseStatus,
|
|
2360
|
+
Reason: reason,
|
|
2361
|
+
PhysicalResourceId: physicalResourceId,
|
|
2362
|
+
StackId: event.StackId,
|
|
2363
|
+
RequestId: event.RequestId,
|
|
2364
|
+
LogicalResourceId: event.LogicalResourceId,
|
|
2365
|
+
NoEcho: false,
|
|
2366
|
+
Data: data
|
|
2367
|
+
});
|
|
2368
|
+
console.log("Responding", responseBody);
|
|
2369
|
+
const parsedUrl = require("url").parse(event.ResponseURL);
|
|
2370
|
+
const requestOptions = {
|
|
2371
|
+
hostname: parsedUrl.hostname,
|
|
2372
|
+
path: parsedUrl.path,
|
|
2373
|
+
method: "PUT",
|
|
2374
|
+
headers: {
|
|
2375
|
+
"content-type": "",
|
|
2376
|
+
"content-length": responseBody.length
|
|
2377
|
+
}
|
|
2378
|
+
};
|
|
2379
|
+
return new Promise((resolve, reject) => {
|
|
2380
|
+
try {
|
|
2381
|
+
const request = require("https").request(requestOptions, resolve);
|
|
2382
|
+
request.on("error", reject);
|
|
2383
|
+
request.write(responseBody);
|
|
2384
|
+
request.end();
|
|
2385
|
+
} catch (e) {
|
|
2386
|
+
reject(e);
|
|
2387
|
+
}
|
|
2388
|
+
});
|
|
2389
|
+
}
|
|
2390
|
+
|
|
2391
|
+
// src/lambdas/aws-image-builder-versioner/index.ts
|
|
2392
|
+
var ib = new AWS2.Imagebuilder();
|
|
2393
|
+
async function handler(event, context) {
|
|
2394
|
+
console.log(JSON.stringify({ ...event, ResponseURL: "..." }));
|
|
2395
|
+
try {
|
|
2396
|
+
const objectType = event.ResourceProperties.ObjectType;
|
|
2397
|
+
const objectName = event.ResourceProperties.ObjectName;
|
|
2398
|
+
switch (event.RequestType) {
|
|
2399
|
+
case "Create":
|
|
2400
|
+
case "Update":
|
|
2401
|
+
let version = "1.0.0";
|
|
2402
|
+
let allVersions = [];
|
|
2403
|
+
try {
|
|
2404
|
+
switch (objectType) {
|
|
2405
|
+
case "Component": {
|
|
2406
|
+
const result = await ib.listComponents({
|
|
2407
|
+
filters: [{
|
|
2408
|
+
name: "name",
|
|
2409
|
+
values: [objectName]
|
|
2410
|
+
}]
|
|
2411
|
+
}).promise();
|
|
2412
|
+
allVersions = result.componentVersionList.map((i) => i.version || "1.0.0");
|
|
2413
|
+
break;
|
|
2414
|
+
}
|
|
2415
|
+
case "ImageRecipe": {
|
|
2416
|
+
const result = await ib.listImageRecipes({
|
|
2417
|
+
filters: [{
|
|
2418
|
+
name: "name",
|
|
2419
|
+
values: [objectName]
|
|
2420
|
+
}]
|
|
2421
|
+
}).promise();
|
|
2422
|
+
allVersions = result.imageRecipeSummaryList.map((i) => {
|
|
2423
|
+
var _a;
|
|
2424
|
+
return ((_a = i.arn) == null ? void 0 : _a.split("/").pop()) || "1.0.0";
|
|
2425
|
+
});
|
|
2426
|
+
break;
|
|
2427
|
+
}
|
|
2428
|
+
case "ContainerRecipe": {
|
|
2429
|
+
const result = await ib.listContainerRecipes({
|
|
2430
|
+
filters: [{
|
|
2431
|
+
name: "name",
|
|
2432
|
+
values: [objectName]
|
|
2433
|
+
}]
|
|
2434
|
+
}).promise();
|
|
2435
|
+
allVersions = result.containerRecipeSummaryList.map((i) => {
|
|
2436
|
+
var _a;
|
|
2437
|
+
return ((_a = i.arn) == null ? void 0 : _a.split("/").pop()) || "1.0.0";
|
|
2438
|
+
});
|
|
2439
|
+
break;
|
|
2440
|
+
}
|
|
2441
|
+
}
|
|
2442
|
+
} catch (e) {
|
|
2443
|
+
if (e.code !== "ResourceNotFoundException") {
|
|
2444
|
+
throw e;
|
|
2445
|
+
}
|
|
2446
|
+
}
|
|
2447
|
+
version = (0, import_semver.maxSatisfying)(allVersions, ">=0.0.0");
|
|
2448
|
+
if (version === null) {
|
|
2449
|
+
version = "1.0.0";
|
|
2450
|
+
}
|
|
2451
|
+
version = (0, import_semver.inc)(version, "patch");
|
|
2452
|
+
if (version === null) {
|
|
2453
|
+
throw new Error("Unable to bump version");
|
|
2454
|
+
}
|
|
2455
|
+
await customResourceRespond(event, "SUCCESS", "OK", version, {});
|
|
2456
|
+
break;
|
|
2457
|
+
case "Delete":
|
|
2458
|
+
await customResourceRespond(event, "SUCCESS", "OK", event.PhysicalResourceId, {});
|
|
2459
|
+
break;
|
|
2460
|
+
}
|
|
2461
|
+
} catch (e) {
|
|
2462
|
+
console.log(e);
|
|
2463
|
+
await customResourceRespond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {});
|
|
2464
|
+
}
|
|
2465
|
+
}
|
|
2466
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
2467
|
+
0 && (module.exports = {
|
|
2468
|
+
handler
|
|
2469
|
+
});
|