@vercel/python-analysis 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -1,3 +1,679 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
8
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
24
|
+
mod
|
|
25
|
+
));
|
|
26
|
+
|
|
27
|
+
// ../../node_modules/.pnpm/@renovatebot+pep440@4.2.1/node_modules/@renovatebot/pep440/lib/version.js
|
|
28
|
+
var require_version = __commonJS({
|
|
29
|
+
"../../node_modules/.pnpm/@renovatebot+pep440@4.2.1/node_modules/@renovatebot/pep440/lib/version.js"(exports, module) {
|
|
30
|
+
var VERSION_PATTERN = [
|
|
31
|
+
"v?",
|
|
32
|
+
"(?:",
|
|
33
|
+
/* */
|
|
34
|
+
"(?:(?<epoch>[0-9]+)!)?",
|
|
35
|
+
// epoch
|
|
36
|
+
/* */
|
|
37
|
+
"(?<release>[0-9]+(?:\\.[0-9]+)*)",
|
|
38
|
+
// release segment
|
|
39
|
+
/* */
|
|
40
|
+
"(?<pre>",
|
|
41
|
+
// pre-release
|
|
42
|
+
/* */
|
|
43
|
+
"[-_\\.]?",
|
|
44
|
+
/* */
|
|
45
|
+
"(?<pre_l>(a|b|c|rc|alpha|beta|pre|preview))",
|
|
46
|
+
/* */
|
|
47
|
+
"[-_\\.]?",
|
|
48
|
+
/* */
|
|
49
|
+
"(?<pre_n>[0-9]+)?",
|
|
50
|
+
/* */
|
|
51
|
+
")?",
|
|
52
|
+
/* */
|
|
53
|
+
"(?<post>",
|
|
54
|
+
// post release
|
|
55
|
+
/* */
|
|
56
|
+
"(?:-(?<post_n1>[0-9]+))",
|
|
57
|
+
/* */
|
|
58
|
+
"|",
|
|
59
|
+
/* */
|
|
60
|
+
"(?:",
|
|
61
|
+
/* */
|
|
62
|
+
"[-_\\.]?",
|
|
63
|
+
/* */
|
|
64
|
+
"(?<post_l>post|rev|r)",
|
|
65
|
+
/* */
|
|
66
|
+
"[-_\\.]?",
|
|
67
|
+
/* */
|
|
68
|
+
"(?<post_n2>[0-9]+)?",
|
|
69
|
+
/* */
|
|
70
|
+
")",
|
|
71
|
+
/* */
|
|
72
|
+
")?",
|
|
73
|
+
/* */
|
|
74
|
+
"(?<dev>",
|
|
75
|
+
// dev release
|
|
76
|
+
/* */
|
|
77
|
+
"[-_\\.]?",
|
|
78
|
+
/* */
|
|
79
|
+
"(?<dev_l>dev)",
|
|
80
|
+
/* */
|
|
81
|
+
"[-_\\.]?",
|
|
82
|
+
/* */
|
|
83
|
+
"(?<dev_n>[0-9]+)?",
|
|
84
|
+
/* */
|
|
85
|
+
")?",
|
|
86
|
+
")",
|
|
87
|
+
"(?:\\+(?<local>[a-z0-9]+(?:[-_\\.][a-z0-9]+)*))?"
|
|
88
|
+
// local version
|
|
89
|
+
].join("");
|
|
90
|
+
module.exports = {
|
|
91
|
+
VERSION_PATTERN,
|
|
92
|
+
valid,
|
|
93
|
+
clean,
|
|
94
|
+
explain,
|
|
95
|
+
parse,
|
|
96
|
+
stringify
|
|
97
|
+
};
|
|
98
|
+
var validRegex = new RegExp("^" + VERSION_PATTERN + "$", "i");
|
|
99
|
+
function valid(version) {
|
|
100
|
+
return validRegex.test(version) ? version : null;
|
|
101
|
+
}
|
|
102
|
+
var cleanRegex = new RegExp("^\\s*" + VERSION_PATTERN + "\\s*$", "i");
|
|
103
|
+
function clean(version) {
|
|
104
|
+
return stringify(parse(version, cleanRegex));
|
|
105
|
+
}
|
|
106
|
+
function parse(version, regex) {
|
|
107
|
+
const { groups } = (regex || validRegex).exec(version) || {};
|
|
108
|
+
if (!groups) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
const parsed = {
|
|
112
|
+
epoch: Number(groups.epoch ? groups.epoch : 0),
|
|
113
|
+
release: groups.release.split(".").map(Number),
|
|
114
|
+
pre: normalize_letter_version(groups.pre_l, groups.pre_n),
|
|
115
|
+
post: normalize_letter_version(
|
|
116
|
+
groups.post_l,
|
|
117
|
+
groups.post_n1 || groups.post_n2
|
|
118
|
+
),
|
|
119
|
+
dev: normalize_letter_version(groups.dev_l, groups.dev_n),
|
|
120
|
+
local: parse_local_version(groups.local)
|
|
121
|
+
};
|
|
122
|
+
return parsed;
|
|
123
|
+
}
|
|
124
|
+
function stringify(parsed) {
|
|
125
|
+
if (!parsed) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
const { epoch, release, pre, post, dev, local } = parsed;
|
|
129
|
+
const parts = [];
|
|
130
|
+
if (epoch !== 0) {
|
|
131
|
+
parts.push(`${epoch}!`);
|
|
132
|
+
}
|
|
133
|
+
parts.push(release.join("."));
|
|
134
|
+
if (pre) {
|
|
135
|
+
parts.push(pre.join(""));
|
|
136
|
+
}
|
|
137
|
+
if (post) {
|
|
138
|
+
parts.push("." + post.join(""));
|
|
139
|
+
}
|
|
140
|
+
if (dev) {
|
|
141
|
+
parts.push("." + dev.join(""));
|
|
142
|
+
}
|
|
143
|
+
if (local) {
|
|
144
|
+
parts.push(`+${local}`);
|
|
145
|
+
}
|
|
146
|
+
return parts.join("");
|
|
147
|
+
}
|
|
148
|
+
function normalize_letter_version(letterIn, numberIn) {
|
|
149
|
+
let letter = letterIn;
|
|
150
|
+
let number = numberIn;
|
|
151
|
+
if (letter) {
|
|
152
|
+
if (!number) {
|
|
153
|
+
number = 0;
|
|
154
|
+
}
|
|
155
|
+
letter = letter.toLowerCase();
|
|
156
|
+
if (letter === "alpha") {
|
|
157
|
+
letter = "a";
|
|
158
|
+
} else if (letter === "beta") {
|
|
159
|
+
letter = "b";
|
|
160
|
+
} else if (["c", "pre", "preview"].includes(letter)) {
|
|
161
|
+
letter = "rc";
|
|
162
|
+
} else if (["rev", "r"].includes(letter)) {
|
|
163
|
+
letter = "post";
|
|
164
|
+
}
|
|
165
|
+
return [letter, Number(number)];
|
|
166
|
+
}
|
|
167
|
+
if (!letter && number) {
|
|
168
|
+
letter = "post";
|
|
169
|
+
return [letter, Number(number)];
|
|
170
|
+
}
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
function parse_local_version(local) {
|
|
174
|
+
if (local) {
|
|
175
|
+
return local.split(/[._-]/).map(
|
|
176
|
+
(part) => Number.isNaN(Number(part)) ? part.toLowerCase() : Number(part)
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
function explain(version) {
|
|
182
|
+
const parsed = parse(version);
|
|
183
|
+
if (!parsed) {
|
|
184
|
+
return parsed;
|
|
185
|
+
}
|
|
186
|
+
const { epoch, release, pre, post, dev, local } = parsed;
|
|
187
|
+
let base_version = "";
|
|
188
|
+
if (epoch !== 0) {
|
|
189
|
+
base_version += epoch + "!";
|
|
190
|
+
}
|
|
191
|
+
base_version += release.join(".");
|
|
192
|
+
const is_prerelease = Boolean(dev || pre);
|
|
193
|
+
const is_devrelease = Boolean(dev);
|
|
194
|
+
const is_postrelease = Boolean(post);
|
|
195
|
+
return {
|
|
196
|
+
epoch,
|
|
197
|
+
release,
|
|
198
|
+
pre,
|
|
199
|
+
post: post ? post[1] : post,
|
|
200
|
+
dev: dev ? dev[1] : dev,
|
|
201
|
+
local: local ? local.join(".") : local,
|
|
202
|
+
public: stringify(parsed).split("+", 1)[0],
|
|
203
|
+
base_version,
|
|
204
|
+
is_prerelease,
|
|
205
|
+
is_devrelease,
|
|
206
|
+
is_postrelease
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
|
|
212
|
+
// ../../node_modules/.pnpm/@renovatebot+pep440@4.2.1/node_modules/@renovatebot/pep440/lib/operator.js
|
|
213
|
+
var require_operator = __commonJS({
|
|
214
|
+
"../../node_modules/.pnpm/@renovatebot+pep440@4.2.1/node_modules/@renovatebot/pep440/lib/operator.js"(exports, module) {
|
|
215
|
+
var { parse } = require_version();
|
|
216
|
+
module.exports = {
|
|
217
|
+
compare,
|
|
218
|
+
rcompare,
|
|
219
|
+
lt,
|
|
220
|
+
le,
|
|
221
|
+
eq,
|
|
222
|
+
ne,
|
|
223
|
+
ge,
|
|
224
|
+
gt,
|
|
225
|
+
"<": lt,
|
|
226
|
+
"<=": le,
|
|
227
|
+
"==": eq,
|
|
228
|
+
"!=": ne,
|
|
229
|
+
">=": ge,
|
|
230
|
+
">": gt,
|
|
231
|
+
"===": arbitrary
|
|
232
|
+
};
|
|
233
|
+
function lt(version, other) {
|
|
234
|
+
return compare(version, other) < 0;
|
|
235
|
+
}
|
|
236
|
+
function le(version, other) {
|
|
237
|
+
return compare(version, other) <= 0;
|
|
238
|
+
}
|
|
239
|
+
function eq(version, other) {
|
|
240
|
+
return compare(version, other) === 0;
|
|
241
|
+
}
|
|
242
|
+
function ne(version, other) {
|
|
243
|
+
return compare(version, other) !== 0;
|
|
244
|
+
}
|
|
245
|
+
function ge(version, other) {
|
|
246
|
+
return compare(version, other) >= 0;
|
|
247
|
+
}
|
|
248
|
+
function gt(version, other) {
|
|
249
|
+
return compare(version, other) > 0;
|
|
250
|
+
}
|
|
251
|
+
function arbitrary(version, other) {
|
|
252
|
+
return version.toLowerCase() === other.toLowerCase();
|
|
253
|
+
}
|
|
254
|
+
function compare(version, other) {
|
|
255
|
+
const parsedVersion = parse(version);
|
|
256
|
+
const parsedOther = parse(other);
|
|
257
|
+
const keyVersion = calculateKey(parsedVersion);
|
|
258
|
+
const keyOther = calculateKey(parsedOther);
|
|
259
|
+
return pyCompare(keyVersion, keyOther);
|
|
260
|
+
}
|
|
261
|
+
function rcompare(version, other) {
|
|
262
|
+
return -compare(version, other);
|
|
263
|
+
}
|
|
264
|
+
function pyCompare(elemIn, otherIn) {
|
|
265
|
+
let elem = elemIn;
|
|
266
|
+
let other = otherIn;
|
|
267
|
+
if (elem === other) {
|
|
268
|
+
return 0;
|
|
269
|
+
}
|
|
270
|
+
if (Array.isArray(elem) !== Array.isArray(other)) {
|
|
271
|
+
elem = Array.isArray(elem) ? elem : [elem];
|
|
272
|
+
other = Array.isArray(other) ? other : [other];
|
|
273
|
+
}
|
|
274
|
+
if (Array.isArray(elem)) {
|
|
275
|
+
const len = Math.min(elem.length, other.length);
|
|
276
|
+
for (let i = 0; i < len; i += 1) {
|
|
277
|
+
const res = pyCompare(elem[i], other[i]);
|
|
278
|
+
if (res !== 0) {
|
|
279
|
+
return res;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
return elem.length - other.length;
|
|
283
|
+
}
|
|
284
|
+
if (elem === -Infinity || other === Infinity) {
|
|
285
|
+
return -1;
|
|
286
|
+
}
|
|
287
|
+
if (elem === Infinity || other === -Infinity) {
|
|
288
|
+
return 1;
|
|
289
|
+
}
|
|
290
|
+
return elem < other ? -1 : 1;
|
|
291
|
+
}
|
|
292
|
+
function calculateKey(input) {
|
|
293
|
+
const { epoch } = input;
|
|
294
|
+
let { release, pre, post, local, dev } = input;
|
|
295
|
+
release = release.concat();
|
|
296
|
+
release.reverse();
|
|
297
|
+
while (release.length && release[0] === 0) {
|
|
298
|
+
release.shift();
|
|
299
|
+
}
|
|
300
|
+
release.reverse();
|
|
301
|
+
if (!pre && !post && dev)
|
|
302
|
+
pre = -Infinity;
|
|
303
|
+
else if (!pre)
|
|
304
|
+
pre = Infinity;
|
|
305
|
+
if (!post)
|
|
306
|
+
post = -Infinity;
|
|
307
|
+
if (!dev)
|
|
308
|
+
dev = Infinity;
|
|
309
|
+
if (!local) {
|
|
310
|
+
local = -Infinity;
|
|
311
|
+
} else {
|
|
312
|
+
local = local.map(
|
|
313
|
+
(i) => Number.isNaN(Number(i)) ? [-Infinity, i] : [Number(i), ""]
|
|
314
|
+
);
|
|
315
|
+
}
|
|
316
|
+
return [epoch, release, pre, post, dev, local];
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
|
|
321
|
+
// ../../node_modules/.pnpm/@renovatebot+pep440@4.2.1/node_modules/@renovatebot/pep440/lib/specifier.js
|
|
322
|
+
var require_specifier = __commonJS({
|
|
323
|
+
"../../node_modules/.pnpm/@renovatebot+pep440@4.2.1/node_modules/@renovatebot/pep440/lib/specifier.js"(exports, module) {
|
|
324
|
+
var { VERSION_PATTERN, explain: explainVersion } = require_version();
|
|
325
|
+
var Operator = require_operator();
|
|
326
|
+
var RANGE_PATTERN = [
|
|
327
|
+
"(?<operator>(===|~=|==|!=|<=|>=|<|>))",
|
|
328
|
+
"\\s*",
|
|
329
|
+
"(",
|
|
330
|
+
/* */
|
|
331
|
+
"(?<version>(?:" + VERSION_PATTERN.replace(/\?<\w+>/g, "?:") + "))",
|
|
332
|
+
/* */
|
|
333
|
+
"(?<prefix>\\.\\*)?",
|
|
334
|
+
/* */
|
|
335
|
+
"|",
|
|
336
|
+
/* */
|
|
337
|
+
"(?<legacy>[^,;\\s)]+)",
|
|
338
|
+
")"
|
|
339
|
+
].join("");
|
|
340
|
+
module.exports = {
|
|
341
|
+
RANGE_PATTERN,
|
|
342
|
+
parse,
|
|
343
|
+
satisfies: satisfies2,
|
|
344
|
+
filter,
|
|
345
|
+
validRange,
|
|
346
|
+
maxSatisfying,
|
|
347
|
+
minSatisfying
|
|
348
|
+
};
|
|
349
|
+
var isEqualityOperator = (op) => ["==", "!=", "==="].includes(op);
|
|
350
|
+
var rangeRegex = new RegExp("^" + RANGE_PATTERN + "$", "i");
|
|
351
|
+
function parse(ranges) {
|
|
352
|
+
if (!ranges.trim()) {
|
|
353
|
+
return [];
|
|
354
|
+
}
|
|
355
|
+
const specifiers = ranges.split(",").map((range) => rangeRegex.exec(range.trim()) || {}).map(({ groups }) => {
|
|
356
|
+
if (!groups) {
|
|
357
|
+
return null;
|
|
358
|
+
}
|
|
359
|
+
let { ...spec } = groups;
|
|
360
|
+
const { operator, version, prefix, legacy } = groups;
|
|
361
|
+
if (version) {
|
|
362
|
+
spec = { ...spec, ...explainVersion(version) };
|
|
363
|
+
if (operator === "~=") {
|
|
364
|
+
if (spec.release.length < 2) {
|
|
365
|
+
return null;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
if (!isEqualityOperator(operator) && spec.local) {
|
|
369
|
+
return null;
|
|
370
|
+
}
|
|
371
|
+
if (prefix) {
|
|
372
|
+
if (!isEqualityOperator(operator) || spec.dev || spec.local) {
|
|
373
|
+
return null;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
if (legacy && operator !== "===") {
|
|
378
|
+
return null;
|
|
379
|
+
}
|
|
380
|
+
return spec;
|
|
381
|
+
});
|
|
382
|
+
if (specifiers.filter(Boolean).length !== specifiers.length) {
|
|
383
|
+
return null;
|
|
384
|
+
}
|
|
385
|
+
return specifiers;
|
|
386
|
+
}
|
|
387
|
+
function filter(versions, specifier, options = {}) {
|
|
388
|
+
const filtered = pick(versions, specifier, options);
|
|
389
|
+
if (filtered.length === 0 && options.prereleases === void 0) {
|
|
390
|
+
return pick(versions, specifier, { prereleases: true });
|
|
391
|
+
}
|
|
392
|
+
return filtered;
|
|
393
|
+
}
|
|
394
|
+
function maxSatisfying(versions, range, options) {
|
|
395
|
+
const found = filter(versions, range, options).sort(Operator.compare);
|
|
396
|
+
return found.length === 0 ? null : found[found.length - 1];
|
|
397
|
+
}
|
|
398
|
+
function minSatisfying(versions, range, options) {
|
|
399
|
+
const found = filter(versions, range, options).sort(Operator.compare);
|
|
400
|
+
return found.length === 0 ? null : found[0];
|
|
401
|
+
}
|
|
402
|
+
function pick(versions, specifier, options) {
|
|
403
|
+
const parsed = parse(specifier);
|
|
404
|
+
if (!parsed) {
|
|
405
|
+
return [];
|
|
406
|
+
}
|
|
407
|
+
return versions.filter((version) => {
|
|
408
|
+
const explained = explainVersion(version);
|
|
409
|
+
if (!parsed.length) {
|
|
410
|
+
return explained && !(explained.is_prerelease && !options.prereleases);
|
|
411
|
+
}
|
|
412
|
+
return parsed.reduce((pass, spec) => {
|
|
413
|
+
if (!pass) {
|
|
414
|
+
return false;
|
|
415
|
+
}
|
|
416
|
+
return contains({ ...spec, ...options }, { version, explained });
|
|
417
|
+
}, true);
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
function satisfies2(version, specifier, options = {}) {
|
|
421
|
+
const filtered = pick([version], specifier, options);
|
|
422
|
+
return filtered.length === 1;
|
|
423
|
+
}
|
|
424
|
+
function arrayStartsWith(array, prefix) {
|
|
425
|
+
if (prefix.length > array.length) {
|
|
426
|
+
return false;
|
|
427
|
+
}
|
|
428
|
+
for (let i = 0; i < prefix.length; i += 1) {
|
|
429
|
+
if (prefix[i] !== array[i]) {
|
|
430
|
+
return false;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
return true;
|
|
434
|
+
}
|
|
435
|
+
function contains(specifier, input) {
|
|
436
|
+
const { explained } = input;
|
|
437
|
+
let { version } = input;
|
|
438
|
+
const { ...spec } = specifier;
|
|
439
|
+
if (spec.prereleases === void 0) {
|
|
440
|
+
spec.prereleases = spec.is_prerelease;
|
|
441
|
+
}
|
|
442
|
+
if (explained && explained.is_prerelease && !spec.prereleases) {
|
|
443
|
+
return false;
|
|
444
|
+
}
|
|
445
|
+
if (spec.operator === "~=") {
|
|
446
|
+
let compatiblePrefix = spec.release.slice(0, -1).concat("*").join(".");
|
|
447
|
+
if (spec.epoch) {
|
|
448
|
+
compatiblePrefix = spec.epoch + "!" + compatiblePrefix;
|
|
449
|
+
}
|
|
450
|
+
return satisfies2(version, `>=${spec.version}, ==${compatiblePrefix}`);
|
|
451
|
+
}
|
|
452
|
+
if (spec.prefix) {
|
|
453
|
+
const isMatching = explained.epoch === spec.epoch && arrayStartsWith(explained.release, spec.release);
|
|
454
|
+
const isEquality = spec.operator !== "!=";
|
|
455
|
+
return isEquality ? isMatching : !isMatching;
|
|
456
|
+
}
|
|
457
|
+
if (explained) {
|
|
458
|
+
if (explained.local && spec.version) {
|
|
459
|
+
version = explained.public;
|
|
460
|
+
spec.version = explainVersion(spec.version).public;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
if (spec.operator === "<" || spec.operator === ">") {
|
|
464
|
+
if (Operator.eq(spec.release.join("."), explained.release.join("."))) {
|
|
465
|
+
return false;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
const op = Operator[spec.operator];
|
|
469
|
+
return op(version, spec.version || spec.legacy);
|
|
470
|
+
}
|
|
471
|
+
function validRange(specifier) {
|
|
472
|
+
return Boolean(parse(specifier));
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
});
|
|
476
|
+
|
|
477
|
+
// ../../node_modules/.pnpm/@renovatebot+pep440@4.2.1/node_modules/@renovatebot/pep440/lib/semantic.js
|
|
478
|
+
var require_semantic = __commonJS({
|
|
479
|
+
"../../node_modules/.pnpm/@renovatebot+pep440@4.2.1/node_modules/@renovatebot/pep440/lib/semantic.js"(exports, module) {
|
|
480
|
+
var { explain, parse, stringify } = require_version();
|
|
481
|
+
module.exports = {
|
|
482
|
+
major,
|
|
483
|
+
minor,
|
|
484
|
+
patch,
|
|
485
|
+
inc
|
|
486
|
+
};
|
|
487
|
+
function major(input) {
|
|
488
|
+
const version = explain(input);
|
|
489
|
+
if (!version) {
|
|
490
|
+
throw new TypeError("Invalid Version: " + input);
|
|
491
|
+
}
|
|
492
|
+
return version.release[0];
|
|
493
|
+
}
|
|
494
|
+
function minor(input) {
|
|
495
|
+
const version = explain(input);
|
|
496
|
+
if (!version) {
|
|
497
|
+
throw new TypeError("Invalid Version: " + input);
|
|
498
|
+
}
|
|
499
|
+
if (version.release.length < 2) {
|
|
500
|
+
return 0;
|
|
501
|
+
}
|
|
502
|
+
return version.release[1];
|
|
503
|
+
}
|
|
504
|
+
function patch(input) {
|
|
505
|
+
const version = explain(input);
|
|
506
|
+
if (!version) {
|
|
507
|
+
throw new TypeError("Invalid Version: " + input);
|
|
508
|
+
}
|
|
509
|
+
if (version.release.length < 3) {
|
|
510
|
+
return 0;
|
|
511
|
+
}
|
|
512
|
+
return version.release[2];
|
|
513
|
+
}
|
|
514
|
+
function inc(input, release, preReleaseIdentifier) {
|
|
515
|
+
let identifier = preReleaseIdentifier || `a`;
|
|
516
|
+
const version = parse(input);
|
|
517
|
+
if (!version) {
|
|
518
|
+
return null;
|
|
519
|
+
}
|
|
520
|
+
if (!["a", "b", "c", "rc", "alpha", "beta", "pre", "preview"].includes(
|
|
521
|
+
identifier
|
|
522
|
+
)) {
|
|
523
|
+
return null;
|
|
524
|
+
}
|
|
525
|
+
switch (release) {
|
|
526
|
+
case "premajor":
|
|
527
|
+
{
|
|
528
|
+
const [majorVersion] = version.release;
|
|
529
|
+
version.release.fill(0);
|
|
530
|
+
version.release[0] = majorVersion + 1;
|
|
531
|
+
}
|
|
532
|
+
version.pre = [identifier, 0];
|
|
533
|
+
delete version.post;
|
|
534
|
+
delete version.dev;
|
|
535
|
+
delete version.local;
|
|
536
|
+
break;
|
|
537
|
+
case "preminor":
|
|
538
|
+
{
|
|
539
|
+
const [majorVersion, minorVersion = 0] = version.release;
|
|
540
|
+
version.release.fill(0);
|
|
541
|
+
version.release[0] = majorVersion;
|
|
542
|
+
version.release[1] = minorVersion + 1;
|
|
543
|
+
}
|
|
544
|
+
version.pre = [identifier, 0];
|
|
545
|
+
delete version.post;
|
|
546
|
+
delete version.dev;
|
|
547
|
+
delete version.local;
|
|
548
|
+
break;
|
|
549
|
+
case "prepatch":
|
|
550
|
+
{
|
|
551
|
+
const [majorVersion, minorVersion = 0, patchVersion = 0] = version.release;
|
|
552
|
+
version.release.fill(0);
|
|
553
|
+
version.release[0] = majorVersion;
|
|
554
|
+
version.release[1] = minorVersion;
|
|
555
|
+
version.release[2] = patchVersion + 1;
|
|
556
|
+
}
|
|
557
|
+
version.pre = [identifier, 0];
|
|
558
|
+
delete version.post;
|
|
559
|
+
delete version.dev;
|
|
560
|
+
delete version.local;
|
|
561
|
+
break;
|
|
562
|
+
case "prerelease":
|
|
563
|
+
if (version.pre === null) {
|
|
564
|
+
const [majorVersion, minorVersion = 0, patchVersion = 0] = version.release;
|
|
565
|
+
version.release.fill(0);
|
|
566
|
+
version.release[0] = majorVersion;
|
|
567
|
+
version.release[1] = minorVersion;
|
|
568
|
+
version.release[2] = patchVersion + 1;
|
|
569
|
+
version.pre = [identifier, 0];
|
|
570
|
+
} else {
|
|
571
|
+
if (preReleaseIdentifier === void 0 && version.pre !== null) {
|
|
572
|
+
[identifier] = version.pre;
|
|
573
|
+
}
|
|
574
|
+
const [letter, number] = version.pre;
|
|
575
|
+
if (letter === identifier) {
|
|
576
|
+
version.pre = [letter, number + 1];
|
|
577
|
+
} else {
|
|
578
|
+
version.pre = [identifier, 0];
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
delete version.post;
|
|
582
|
+
delete version.dev;
|
|
583
|
+
delete version.local;
|
|
584
|
+
break;
|
|
585
|
+
case "major":
|
|
586
|
+
if (version.release.slice(1).some((value) => value !== 0) || version.pre === null) {
|
|
587
|
+
const [majorVersion] = version.release;
|
|
588
|
+
version.release.fill(0);
|
|
589
|
+
version.release[0] = majorVersion + 1;
|
|
590
|
+
}
|
|
591
|
+
delete version.pre;
|
|
592
|
+
delete version.post;
|
|
593
|
+
delete version.dev;
|
|
594
|
+
delete version.local;
|
|
595
|
+
break;
|
|
596
|
+
case "minor":
|
|
597
|
+
if (version.release.slice(2).some((value) => value !== 0) || version.pre === null) {
|
|
598
|
+
const [majorVersion, minorVersion = 0] = version.release;
|
|
599
|
+
version.release.fill(0);
|
|
600
|
+
version.release[0] = majorVersion;
|
|
601
|
+
version.release[1] = minorVersion + 1;
|
|
602
|
+
}
|
|
603
|
+
delete version.pre;
|
|
604
|
+
delete version.post;
|
|
605
|
+
delete version.dev;
|
|
606
|
+
delete version.local;
|
|
607
|
+
break;
|
|
608
|
+
case "patch":
|
|
609
|
+
if (version.release.slice(3).some((value) => value !== 0) || version.pre === null) {
|
|
610
|
+
const [majorVersion, minorVersion = 0, patchVersion = 0] = version.release;
|
|
611
|
+
version.release.fill(0);
|
|
612
|
+
version.release[0] = majorVersion;
|
|
613
|
+
version.release[1] = minorVersion;
|
|
614
|
+
version.release[2] = patchVersion + 1;
|
|
615
|
+
}
|
|
616
|
+
delete version.pre;
|
|
617
|
+
delete version.post;
|
|
618
|
+
delete version.dev;
|
|
619
|
+
delete version.local;
|
|
620
|
+
break;
|
|
621
|
+
default:
|
|
622
|
+
return null;
|
|
623
|
+
}
|
|
624
|
+
return stringify(version);
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
});
|
|
628
|
+
|
|
629
|
+
// ../../node_modules/.pnpm/@renovatebot+pep440@4.2.1/node_modules/@renovatebot/pep440/index.js
|
|
630
|
+
var require_pep440 = __commonJS({
|
|
631
|
+
"../../node_modules/.pnpm/@renovatebot+pep440@4.2.1/node_modules/@renovatebot/pep440/index.js"(exports, module) {
|
|
632
|
+
var { valid, clean, explain, parse } = require_version();
|
|
633
|
+
var { lt, le, eq, ne, ge, gt, compare, rcompare } = require_operator();
|
|
634
|
+
var {
|
|
635
|
+
filter,
|
|
636
|
+
maxSatisfying,
|
|
637
|
+
minSatisfying,
|
|
638
|
+
RANGE_PATTERN,
|
|
639
|
+
satisfies: satisfies2,
|
|
640
|
+
validRange
|
|
641
|
+
} = require_specifier();
|
|
642
|
+
var { major, minor, patch, inc } = require_semantic();
|
|
643
|
+
module.exports = {
|
|
644
|
+
// version
|
|
645
|
+
valid,
|
|
646
|
+
clean,
|
|
647
|
+
explain,
|
|
648
|
+
parse,
|
|
649
|
+
// operator
|
|
650
|
+
lt,
|
|
651
|
+
le,
|
|
652
|
+
lte: le,
|
|
653
|
+
eq,
|
|
654
|
+
ne,
|
|
655
|
+
neq: ne,
|
|
656
|
+
ge,
|
|
657
|
+
gte: ge,
|
|
658
|
+
gt,
|
|
659
|
+
compare,
|
|
660
|
+
rcompare,
|
|
661
|
+
// range
|
|
662
|
+
filter,
|
|
663
|
+
maxSatisfying,
|
|
664
|
+
minSatisfying,
|
|
665
|
+
RANGE_PATTERN,
|
|
666
|
+
satisfies: satisfies2,
|
|
667
|
+
validRange,
|
|
668
|
+
// semantic
|
|
669
|
+
major,
|
|
670
|
+
minor,
|
|
671
|
+
patch,
|
|
672
|
+
inc
|
|
673
|
+
};
|
|
674
|
+
}
|
|
675
|
+
});
|
|
676
|
+
|
|
1
677
|
// src/wasm/load.ts
|
|
2
678
|
import { readFile } from "fs/promises";
|
|
3
679
|
import { createRequire } from "module";
|
|
@@ -711,13 +1387,19 @@ async function readConfigIfExists(filename, schema, filetype = void 0) {
|
|
|
711
1387
|
}
|
|
712
1388
|
|
|
713
1389
|
// src/manifest/pep440.ts
|
|
1390
|
+
var import_pep440 = __toESM(require_pep440(), 1);
|
|
1391
|
+
var import_specifier = __toESM(require_specifier(), 1);
|
|
1392
|
+
var import_version = __toESM(require_version(), 1);
|
|
714
1393
|
import assert from "assert";
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
}
|
|
1394
|
+
function parsePep440Version(version) {
|
|
1395
|
+
return (0, import_pep440.parse)(version);
|
|
1396
|
+
}
|
|
1397
|
+
function parsePep440Constraint(ranges) {
|
|
1398
|
+
return (0, import_specifier.parse)(ranges);
|
|
1399
|
+
}
|
|
1400
|
+
function pep440Satisfies(version, specifier) {
|
|
1401
|
+
return (0, import_specifier.satisfies)(version, specifier);
|
|
1402
|
+
}
|
|
721
1403
|
function pep440ConstraintFromVersion(v) {
|
|
722
1404
|
return [
|
|
723
1405
|
{
|
|
@@ -728,7 +1410,7 @@ function pep440ConstraintFromVersion(v) {
|
|
|
728
1410
|
];
|
|
729
1411
|
}
|
|
730
1412
|
function unparsePep440Version(v) {
|
|
731
|
-
const verstr =
|
|
1413
|
+
const verstr = (0, import_version.stringify)(v);
|
|
732
1414
|
assert(verstr != null, "pep440/lib/version:stringify returned null");
|
|
733
1415
|
return verstr;
|
|
734
1416
|
}
|
|
@@ -1558,12 +2240,12 @@ function parseUvPythonRequest(input) {
|
|
|
1558
2240
|
}
|
|
1559
2241
|
function parseVersionRequest(input) {
|
|
1560
2242
|
const [version, variant] = parseVariantSuffix(input);
|
|
1561
|
-
let parsedVer =
|
|
2243
|
+
let parsedVer = parsePep440Version(version);
|
|
1562
2244
|
if (parsedVer != null) {
|
|
1563
2245
|
if (parsedVer.release.length === 1) {
|
|
1564
2246
|
const converted = splitWheelTagVersion(version);
|
|
1565
2247
|
if (converted != null) {
|
|
1566
|
-
const convertedVer =
|
|
2248
|
+
const convertedVer = parsePep440Version(converted);
|
|
1567
2249
|
if (convertedVer != null) {
|
|
1568
2250
|
parsedVer = convertedVer;
|
|
1569
2251
|
}
|
|
@@ -1574,7 +2256,7 @@ function parseVersionRequest(input) {
|
|
|
1574
2256
|
variant
|
|
1575
2257
|
};
|
|
1576
2258
|
}
|
|
1577
|
-
const parsedConstr =
|
|
2259
|
+
const parsedConstr = parsePep440Constraint(version);
|
|
1578
2260
|
if (parsedConstr?.length) {
|
|
1579
2261
|
return {
|
|
1580
2262
|
constraint: parsedConstr,
|
|
@@ -1833,7 +2515,7 @@ function computeRequiresPython(manifest, workspaceManifest, configs) {
|
|
|
1833
2515
|
if (!hasPythonVersionFile) {
|
|
1834
2516
|
const manifestRequiresPython = manifest?.data.project?.["requires-python"];
|
|
1835
2517
|
if (manifestRequiresPython) {
|
|
1836
|
-
const parsed =
|
|
2518
|
+
const parsed = parsePep440Constraint(manifestRequiresPython);
|
|
1837
2519
|
if (parsed?.length) {
|
|
1838
2520
|
const request = pythonRequestFromConstraint(parsed);
|
|
1839
2521
|
constraints.push({
|
|
@@ -1846,7 +2528,7 @@ function computeRequiresPython(manifest, workspaceManifest, configs) {
|
|
|
1846
2528
|
} else {
|
|
1847
2529
|
const workspaceRequiresPython = workspaceManifest?.data.project?.["requires-python"];
|
|
1848
2530
|
if (workspaceRequiresPython) {
|
|
1849
|
-
const parsed =
|
|
2531
|
+
const parsed = parsePep440Constraint(workspaceRequiresPython);
|
|
1850
2532
|
if (parsed?.length) {
|
|
1851
2533
|
const request = pythonRequestFromConstraint(parsed);
|
|
1852
2534
|
constraints.push({
|
|
@@ -2514,7 +3196,7 @@ function buildMatchesRequest(build, request) {
|
|
|
2514
3196
|
if (versionConstraints.length > 0) {
|
|
2515
3197
|
const buildVersionStr = pythonVersionToString(build.version);
|
|
2516
3198
|
const specifier = pep440ConstraintsToString(versionConstraints);
|
|
2517
|
-
if (!
|
|
3199
|
+
if (!pep440Satisfies(buildVersionStr, specifier)) {
|
|
2518
3200
|
return false;
|
|
2519
3201
|
}
|
|
2520
3202
|
}
|