@platforma-sdk/block-tools 2.7.25 → 2.8.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/cli.js +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/config-C8wPuCgh.js +3 -0
- package/dist/config-C8wPuCgh.js.map +1 -0
- package/dist/{config-C-EJTl6j.mjs → config-CzNlwcwn.mjs} +354 -338
- package/dist/config-CzNlwcwn.mjs.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/v2/model/block_components.d.ts +57 -57
- package/dist/v2/model/block_description.d.ts +11671 -5147
- package/dist/v2/model/block_meta.d.ts +3081 -805
- package/package.json +8 -7
- package/src/v2/build_dist.ts +51 -0
- package/dist/config-C-EJTl6j.mjs.map +0 -1
- package/dist/config-CZwHml_R.js +0 -3
- package/dist/config-CZwHml_R.js.map +0 -1
|
@@ -7,42 +7,42 @@ import * as a from "tar";
|
|
|
7
7
|
import { tryResolve as o } from "@milaboratories/resolve-helper";
|
|
8
8
|
import { AnyChannel as s, BlockComponents as c, BlockComponentsManifest as l, BlockPackDescriptionFromPackageJsonRaw as u, BlockPackDescriptionManifest as d, BlockPackIdNoVersion as f, BlockPackManifest as p, BlockPackManifestFile as m, BlockPackMeta as h, BlockPackMetaEmbeddedBase64 as g, BlockPackMetaEmbeddedBytes as _, ContentAbsoluteBinaryLocal as v, ContentAbsoluteFolder as y, ContentAbsoluteTextLocal as b, ContentRelative as x, ContentRelativeBinary as S, ContentRelativeText as C, CreateBlockPackDescriptionSchema as w, DescriptionContentBinary as ee, DescriptionContentText as te, SemVer as T, Sha256Schema as E, VersionWithChannels as ne, addPrefixToRelative as re, blockPackIdNoVersionEquals as ie, blockPackIdToString as ae, mapRemoteToAbsolute as oe } from "@milaboratories/pl-model-middle-layer";
|
|
9
9
|
import { extractConfigGeneric as se } from "@milaboratories/pl-model-common";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { promisify as
|
|
14
|
-
import
|
|
15
|
-
import { LRUCache as
|
|
10
|
+
import { gunzip as ce, gunzipSync as le, gzip as ue } from "node:zlib";
|
|
11
|
+
import { createHash as de, randomUUID as fe } from "node:crypto";
|
|
12
|
+
import { ConsoleLoggerAdapter as pe, Retry2TimesWithDelay as D, notEmpty as me, retry as O } from "@milaboratories/ts-helpers";
|
|
13
|
+
import { promisify as he } from "node:util";
|
|
14
|
+
import ge from "canonicalize";
|
|
15
|
+
import { LRUCache as _e } from "lru-cache";
|
|
16
16
|
import k from "node:path/posix";
|
|
17
|
-
import { S3 as
|
|
18
|
-
import { request as
|
|
19
|
-
import { defaultHttpDispatcher as
|
|
20
|
-
import
|
|
21
|
-
import * as
|
|
17
|
+
import { S3 as ve, paginateListObjectsV2 as ye } from "@aws-sdk/client-s3";
|
|
18
|
+
import { request as be } from "undici";
|
|
19
|
+
import { defaultHttpDispatcher as xe } from "@milaboratories/pl-http";
|
|
20
|
+
import Se from "yaml";
|
|
21
|
+
import * as Ce from "node:os";
|
|
22
22
|
//#region \0rolldown/runtime.js
|
|
23
|
-
var
|
|
23
|
+
var we = Object.create, Te = Object.defineProperty, Ee = Object.getOwnPropertyDescriptor, De = Object.getOwnPropertyNames, Oe = Object.getPrototypeOf, ke = Object.prototype.hasOwnProperty, A = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), Ae = (e, t) => {
|
|
24
24
|
let n = {};
|
|
25
|
-
for (var r in e)
|
|
25
|
+
for (var r in e) Te(n, r, {
|
|
26
26
|
get: e[r],
|
|
27
27
|
enumerable: !0
|
|
28
28
|
});
|
|
29
|
-
return t ||
|
|
30
|
-
},
|
|
31
|
-
if (t && typeof t == "object" || typeof t == "function") for (var i =
|
|
29
|
+
return t || Te(n, Symbol.toStringTag, { value: "Module" }), n;
|
|
30
|
+
}, je = (e, t, n, r) => {
|
|
31
|
+
if (t && typeof t == "object" || typeof t == "function") for (var i = De(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !ke.call(e, s) && s !== n && Te(e, s, {
|
|
32
32
|
get: ((e) => t[e]).bind(null, s),
|
|
33
|
-
enumerable: !(r =
|
|
33
|
+
enumerable: !(r = Ee(t, s)) || r.enumerable
|
|
34
34
|
});
|
|
35
35
|
return e;
|
|
36
|
-
},
|
|
36
|
+
}, Me = (e, t, n) => (n = e == null ? {} : we(Oe(e)), je(t || !e || !e.__esModule ? Te(n, "default", {
|
|
37
37
|
value: e,
|
|
38
38
|
enumerable: !0
|
|
39
|
-
}) : n, e)),
|
|
39
|
+
}) : n, e)), Ne = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
|
|
40
40
|
if (typeof require < "u") return require.apply(this, arguments);
|
|
41
41
|
throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
42
42
|
});
|
|
43
43
|
//#endregion
|
|
44
44
|
//#region src/v2/model/content_conversion.ts
|
|
45
|
-
function
|
|
45
|
+
function Pe(e) {
|
|
46
46
|
return n.string().transform((t, r) => {
|
|
47
47
|
let i = o(e, t);
|
|
48
48
|
return i === void 0 ? (r.addIssue({
|
|
@@ -54,7 +54,7 @@ function Me(e) {
|
|
|
54
54
|
};
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
-
function
|
|
57
|
+
function Fe(e, ...t) {
|
|
58
58
|
return n.string().transform((r, i) => {
|
|
59
59
|
let a = r.endsWith("/") ? r : `${r}/`;
|
|
60
60
|
for (let n of t) {
|
|
@@ -73,16 +73,16 @@ function Ne(e, ...t) {
|
|
|
73
73
|
}), n.NEVER;
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
-
function
|
|
76
|
+
function Ie(t) {
|
|
77
77
|
return (n) => n.type === "relative" ? {
|
|
78
78
|
type: "absolute-file",
|
|
79
79
|
file: e.resolve(t, n.path)
|
|
80
80
|
} : n;
|
|
81
81
|
}
|
|
82
|
-
function
|
|
82
|
+
function Le() {
|
|
83
83
|
return async (e) => e.type === "absolute-file" ? await r.readFile(e.file, { encoding: "utf-8" }) : e.content;
|
|
84
84
|
}
|
|
85
|
-
function
|
|
85
|
+
function Re() {
|
|
86
86
|
return async (e) => {
|
|
87
87
|
if (e.type === "absolute-file") {
|
|
88
88
|
let t = i.lookup(e.file);
|
|
@@ -95,7 +95,7 @@ function Ie() {
|
|
|
95
95
|
} else return e;
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
|
-
function
|
|
98
|
+
function ze() {
|
|
99
99
|
return async (e) => {
|
|
100
100
|
if (e.type === "absolute-file") {
|
|
101
101
|
let t = i.lookup(e.file);
|
|
@@ -113,7 +113,7 @@ function Le() {
|
|
|
113
113
|
else return e;
|
|
114
114
|
};
|
|
115
115
|
}
|
|
116
|
-
function
|
|
116
|
+
function j(t, n) {
|
|
117
117
|
return async (i) => {
|
|
118
118
|
if (i.type === "absolute-file") {
|
|
119
119
|
let a = e.basename(i.file), o = e.resolve(t, a);
|
|
@@ -124,7 +124,7 @@ function M(t, n) {
|
|
|
124
124
|
} else return i;
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
|
-
function
|
|
127
|
+
function Be(t, n, r) {
|
|
128
128
|
if (!n.endsWith(".tgz")) throw Error(`Unexpected tgz file name: ${n}`);
|
|
129
129
|
return async (i) => {
|
|
130
130
|
let o = e.resolve(t, n);
|
|
@@ -138,16 +138,16 @@ function Re(t, n, r) {
|
|
|
138
138
|
};
|
|
139
139
|
};
|
|
140
140
|
}
|
|
141
|
-
function
|
|
141
|
+
function M(e) {
|
|
142
142
|
return async (t) => t.type === "explicit-string" ? t : {
|
|
143
143
|
type: "explicit-string",
|
|
144
144
|
content: (await e(t.path)).toString("utf8")
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
|
-
function
|
|
147
|
+
function Ve(e) {
|
|
148
148
|
return async (t) => t.type === "explicit-string" ? t.content : (await e(t.path)).toString("utf8");
|
|
149
149
|
}
|
|
150
|
-
function
|
|
150
|
+
function He(e) {
|
|
151
151
|
return async (t) => {
|
|
152
152
|
if (t.type === "explicit-base64") return t;
|
|
153
153
|
let n = i.lookup(t.path);
|
|
@@ -177,31 +177,31 @@ function N(e) {
|
|
|
177
177
|
}
|
|
178
178
|
//#endregion
|
|
179
179
|
//#region src/v2/model/block_meta.ts
|
|
180
|
-
function
|
|
181
|
-
return h(te.transform(
|
|
180
|
+
function Ue(e) {
|
|
181
|
+
return h(te.transform(Ie(e)), ee.transform(Ie(e)));
|
|
182
182
|
}
|
|
183
|
-
function
|
|
184
|
-
return h(b.transform(
|
|
183
|
+
function We(e, t) {
|
|
184
|
+
return h(b.transform(j(e, t)), v.transform(j(e, t)));
|
|
185
185
|
}
|
|
186
|
-
var
|
|
187
|
-
function
|
|
188
|
-
return h(C.transform(
|
|
186
|
+
var Ge = h(b.transform(Le()), v.transform(Re())).pipe(g), Ke = h(b.transform(Le()), v.transform(ze())).pipe(_);
|
|
187
|
+
function qe(e) {
|
|
188
|
+
return h(C.transform(Ve(e)), S.transform(N(e))).pipe(_);
|
|
189
189
|
}
|
|
190
190
|
//#endregion
|
|
191
191
|
//#region src/v2/model/block_components.ts
|
|
192
|
-
function
|
|
193
|
-
return c(
|
|
192
|
+
function Je(e) {
|
|
193
|
+
return c(Pe(e), Fe(e, "index.html"));
|
|
194
194
|
}
|
|
195
|
-
function
|
|
196
|
-
return c(v.transform(
|
|
195
|
+
function Ye(e, t) {
|
|
196
|
+
return c(v.transform(j(e, t)), y.transform(Be(e, "ui.tgz", t))).pipe(l);
|
|
197
197
|
}
|
|
198
|
-
function
|
|
198
|
+
function Xe(e) {
|
|
199
199
|
return c(x.transform(oe(e)), x.transform(oe(e)));
|
|
200
200
|
}
|
|
201
201
|
//#endregion
|
|
202
202
|
//#region src/v2/model/block_description.ts
|
|
203
|
-
function
|
|
204
|
-
return w(
|
|
203
|
+
function Ze(e) {
|
|
204
|
+
return w(Je(e), Ue(e)).transform(async (e, t) => {
|
|
205
205
|
let n = se(JSON.parse(await r.readFile(e.components.model.file, "utf-8"))).featureFlags;
|
|
206
206
|
return {
|
|
207
207
|
...e,
|
|
@@ -209,16 +209,16 @@ function Xe(e) {
|
|
|
209
209
|
};
|
|
210
210
|
});
|
|
211
211
|
}
|
|
212
|
-
function
|
|
213
|
-
return w(
|
|
212
|
+
function Qe(e, t) {
|
|
213
|
+
return w(Ye(e, t), We(e, t)).pipe(d);
|
|
214
214
|
}
|
|
215
|
-
function
|
|
215
|
+
function $e(e) {
|
|
216
216
|
let t = re(e);
|
|
217
217
|
return d.pipe(w(c(x.transform(t), x.transform(t)), h(C.transform(t), S.transform(t)))).pipe(d);
|
|
218
218
|
}
|
|
219
219
|
//#endregion
|
|
220
220
|
//#region src/util.ts
|
|
221
|
-
async function
|
|
221
|
+
async function et(e, t) {
|
|
222
222
|
try {
|
|
223
223
|
return t(await r.readFile(e));
|
|
224
224
|
} catch (e) {
|
|
@@ -226,33 +226,49 @@ async function $e(e, t) {
|
|
|
226
226
|
throw e;
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
function
|
|
230
|
-
return Promise.resolve(
|
|
229
|
+
function P(e) {
|
|
230
|
+
return Promise.resolve(de("sha256").update(ArrayBuffer.isView(e) ? e : Buffer.from(e)).digest("hex").toUpperCase());
|
|
231
231
|
}
|
|
232
232
|
//#endregion
|
|
233
233
|
//#region src/v2/build_dist.ts
|
|
234
234
|
async function tt(t, n) {
|
|
235
|
+
let i = t.components.workflow.main, a = await r.readFile(e.resolve(n, i.path)), o;
|
|
236
|
+
try {
|
|
237
|
+
let e = le(a).toString("utf-8");
|
|
238
|
+
o = JSON.parse(e);
|
|
239
|
+
} catch {
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
let s = o;
|
|
243
|
+
if (!(s.type !== "pl.tengo-template.v3" || !s.template)) return s.template.requiredCapabilities;
|
|
244
|
+
}
|
|
245
|
+
async function nt(t, n) {
|
|
235
246
|
await r.mkdir(n, { recursive: !0 });
|
|
236
|
-
let i = [], a = await
|
|
237
|
-
|
|
247
|
+
let i = [], a = await Qe(n, i).parseAsync(t), o = await tt(a, n);
|
|
248
|
+
o && o.length > 0 && (a.meta = {
|
|
249
|
+
...a.meta,
|
|
250
|
+
requiredCapabilities: o
|
|
251
|
+
});
|
|
252
|
+
let s = await Promise.all(i.map(async (t) => {
|
|
253
|
+
let i = await r.readFile(e.resolve(n, t)), a = await P(i);
|
|
238
254
|
return {
|
|
239
255
|
name: t,
|
|
240
256
|
size: i.length,
|
|
241
257
|
sha256: a
|
|
242
258
|
};
|
|
243
|
-
})),
|
|
259
|
+
})), c = p.parse({
|
|
244
260
|
schema: "v2",
|
|
245
261
|
description: { ...a },
|
|
246
|
-
files:
|
|
262
|
+
files: s,
|
|
247
263
|
timestamp: Date.now()
|
|
248
264
|
});
|
|
249
|
-
return await r.writeFile(e.resolve(n, m), JSON.stringify(
|
|
265
|
+
return await r.writeFile(e.resolve(n, m), JSON.stringify(c)), c;
|
|
250
266
|
}
|
|
251
267
|
//#endregion
|
|
252
268
|
//#region src/v2/source_package.ts
|
|
253
|
-
var
|
|
254
|
-
function
|
|
255
|
-
let t = e.match(
|
|
269
|
+
var F = "block", rt = /(?:@[a-zA-Z0-9-.]+\/)?(?<organization>[a-zA-Z0-9-]+)\.(?<name>[a-zA-Z0-9-]+)/;
|
|
270
|
+
function it(e) {
|
|
271
|
+
let t = e.match(rt);
|
|
256
272
|
if (!t) throw Error(`Malformed package name (${e}), can't infer organization and block pack name.`);
|
|
257
273
|
let { name: n, organization: r } = t.groups;
|
|
258
274
|
return {
|
|
@@ -260,20 +276,20 @@ function rt(e) {
|
|
|
260
276
|
organization: r
|
|
261
277
|
};
|
|
262
278
|
}
|
|
263
|
-
async function
|
|
279
|
+
async function at(t, n) {
|
|
264
280
|
let r = e.resolve(t, "package.json");
|
|
265
281
|
try {
|
|
266
|
-
let e = await
|
|
282
|
+
let e = await et(r, (e) => JSON.parse(e.toString("utf-8")));
|
|
267
283
|
if (e === void 0) return;
|
|
268
|
-
let i = e[
|
|
284
|
+
let i = e[F];
|
|
269
285
|
if (i === void 0) return;
|
|
270
286
|
let a = {
|
|
271
287
|
...u.parse(i),
|
|
272
288
|
id: {
|
|
273
|
-
...
|
|
289
|
+
...it(me(e.name, `"name" not found in ${r}`)),
|
|
274
290
|
version: T.parse(e.version)
|
|
275
291
|
}
|
|
276
|
-
}, o = await
|
|
292
|
+
}, o = await Ze(t).safeParseAsync(a);
|
|
277
293
|
if (o.success) return o.data;
|
|
278
294
|
n?.warn(o.error);
|
|
279
295
|
return;
|
|
@@ -282,25 +298,25 @@ async function it(t, n) {
|
|
|
282
298
|
return;
|
|
283
299
|
}
|
|
284
300
|
}
|
|
285
|
-
async function
|
|
286
|
-
let n = e.resolve(t, "package.json"), i = JSON.parse(await r.readFile(n, { encoding: "utf-8" })), a = i[
|
|
287
|
-
if (a === void 0) throw Error(`Block description (field ${
|
|
301
|
+
async function ot(t) {
|
|
302
|
+
let n = e.resolve(t, "package.json"), i = JSON.parse(await r.readFile(n, { encoding: "utf-8" })), a = i[F];
|
|
303
|
+
if (a === void 0) throw Error(`Block description (field ${F}) not found in ${n}.`);
|
|
288
304
|
return {
|
|
289
305
|
...u.parse(a),
|
|
290
306
|
id: {
|
|
291
|
-
...
|
|
307
|
+
...it(me(i.name, `"name" not found in ${n}`)),
|
|
292
308
|
version: T.parse(i.version)
|
|
293
309
|
},
|
|
294
310
|
featureFlags: {}
|
|
295
311
|
};
|
|
296
312
|
}
|
|
297
|
-
async function
|
|
298
|
-
let t = await
|
|
299
|
-
return await
|
|
313
|
+
async function st(e) {
|
|
314
|
+
let t = await ot(e);
|
|
315
|
+
return await Ze(e).parseAsync(t);
|
|
300
316
|
}
|
|
301
317
|
//#endregion
|
|
302
318
|
//#region ../../node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/constants.js
|
|
303
|
-
var
|
|
319
|
+
var I = /* @__PURE__ */ A(((e, t) => {
|
|
304
320
|
var n = "2.0.0", r = 256;
|
|
305
321
|
t.exports = {
|
|
306
322
|
MAX_LENGTH: r,
|
|
@@ -320,10 +336,10 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
320
336
|
FLAG_INCLUDE_PRERELEASE: 1,
|
|
321
337
|
FLAG_LOOSE: 2
|
|
322
338
|
};
|
|
323
|
-
})),
|
|
339
|
+
})), L = /* @__PURE__ */ A(((e, t) => {
|
|
324
340
|
t.exports = typeof process == "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...e) => console.error("SEMVER", ...e) : () => {};
|
|
325
|
-
})),
|
|
326
|
-
var { MAX_SAFE_COMPONENT_LENGTH: n, MAX_SAFE_BUILD_LENGTH: r, MAX_LENGTH: i } =
|
|
341
|
+
})), R = /* @__PURE__ */ A(((e, t) => {
|
|
342
|
+
var { MAX_SAFE_COMPONENT_LENGTH: n, MAX_SAFE_BUILD_LENGTH: r, MAX_LENGTH: i } = I(), a = L();
|
|
327
343
|
e = t.exports = {};
|
|
328
344
|
var o = e.re = [], s = e.safeRe = [], c = e.src = [], l = e.safeSrc = [], u = e.t = {}, d = 0, f = "[a-zA-Z0-9-]", p = [
|
|
329
345
|
["\\s", 1],
|
|
@@ -337,10 +353,10 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
337
353
|
a(e, i, t), u[e] = i, c[i] = t, l[i] = r, o[i] = new RegExp(t, n ? "g" : void 0), s[i] = new RegExp(r, n ? "g" : void 0);
|
|
338
354
|
};
|
|
339
355
|
h("NUMERICIDENTIFIER", "0|[1-9]\\d*"), h("NUMERICIDENTIFIERLOOSE", "\\d+"), h("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${f}*`), h("MAINVERSION", `(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`), h("MAINVERSIONLOOSE", `(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`), h("PRERELEASEIDENTIFIER", `(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`), h("PRERELEASEIDENTIFIERLOOSE", `(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`), h("PRERELEASE", `(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`), h("PRERELEASELOOSE", `(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`), h("BUILDIDENTIFIER", `${f}+`), h("BUILD", `(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`), h("FULLPLAIN", `v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`), h("FULL", `^${c[u.FULLPLAIN]}$`), h("LOOSEPLAIN", `[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`), h("LOOSE", `^${c[u.LOOSEPLAIN]}$`), h("GTLT", "((?:<|>)?=?)"), h("XRANGEIDENTIFIERLOOSE", `${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`), h("XRANGEIDENTIFIER", `${c[u.NUMERICIDENTIFIER]}|x|X|\\*`), h("XRANGEPLAIN", `[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`), h("XRANGEPLAINLOOSE", `[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`), h("XRANGE", `^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`), h("XRANGELOOSE", `^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`), h("COERCEPLAIN", `(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`), h("COERCE", `${c[u.COERCEPLAIN]}(?:$|[^\\d])`), h("COERCEFULL", c[u.COERCEPLAIN] + `(?:${c[u.PRERELEASE]})?(?:${c[u.BUILD]})?(?:$|[^\\d])`), h("COERCERTL", c[u.COERCE], !0), h("COERCERTLFULL", c[u.COERCEFULL], !0), h("LONETILDE", "(?:~>?)"), h("TILDETRIM", `(\\s*)${c[u.LONETILDE]}\\s+`, !0), e.tildeTrimReplace = "$1~", h("TILDE", `^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`), h("TILDELOOSE", `^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`), h("LONECARET", "(?:\\^)"), h("CARETTRIM", `(\\s*)${c[u.LONECARET]}\\s+`, !0), e.caretTrimReplace = "$1^", h("CARET", `^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`), h("CARETLOOSE", `^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`), h("COMPARATORLOOSE", `^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`), h("COMPARATOR", `^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`), h("COMPARATORTRIM", `(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`, !0), e.comparatorTrimReplace = "$1$2$3", h("HYPHENRANGE", `^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`), h("HYPHENRANGELOOSE", `^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`), h("STAR", "(<|>)?=?\\s*\\*"), h("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$"), h("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
|
|
340
|
-
})),
|
|
356
|
+
})), ct = /* @__PURE__ */ A(((e, t) => {
|
|
341
357
|
var n = Object.freeze({ loose: !0 }), r = Object.freeze({});
|
|
342
358
|
t.exports = (e) => e ? typeof e == "object" ? e : n : r;
|
|
343
|
-
})),
|
|
359
|
+
})), lt = /* @__PURE__ */ A(((e, t) => {
|
|
344
360
|
var n = /^[0-9]+$/, r = (e, t) => {
|
|
345
361
|
let r = n.test(e), i = n.test(t);
|
|
346
362
|
return r && i && (e = +e, t = +t), e === t ? 0 : r && !i ? -1 : i && !r ? 1 : e < t ? -1 : 1;
|
|
@@ -349,8 +365,8 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
349
365
|
compareIdentifiers: r,
|
|
350
366
|
rcompareIdentifiers: (e, t) => r(t, e)
|
|
351
367
|
};
|
|
352
|
-
})),
|
|
353
|
-
var n =
|
|
368
|
+
})), z = /* @__PURE__ */ A(((e, t) => {
|
|
369
|
+
var n = L(), { MAX_LENGTH: r, MAX_SAFE_INTEGER: i } = I(), { safeRe: a, t: o } = R(), s = ct(), { compareIdentifiers: c } = lt();
|
|
354
370
|
t.exports = class e {
|
|
355
371
|
constructor(t, c) {
|
|
356
372
|
if (c = s(c), t instanceof e) {
|
|
@@ -470,8 +486,8 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
470
486
|
return this.raw = this.format(), this.build.length && (this.raw += `+${this.build.join(".")}`), this;
|
|
471
487
|
}
|
|
472
488
|
};
|
|
473
|
-
})),
|
|
474
|
-
var n =
|
|
489
|
+
})), B = /* @__PURE__ */ A(((e, t) => {
|
|
490
|
+
var n = z();
|
|
475
491
|
t.exports = (e, t, r = !1) => {
|
|
476
492
|
if (e instanceof n) return e;
|
|
477
493
|
try {
|
|
@@ -481,20 +497,20 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
481
497
|
throw e;
|
|
482
498
|
}
|
|
483
499
|
};
|
|
484
|
-
})),
|
|
485
|
-
var n =
|
|
500
|
+
})), ut = /* @__PURE__ */ A(((e, t) => {
|
|
501
|
+
var n = B();
|
|
486
502
|
t.exports = (e, t) => {
|
|
487
503
|
let r = n(e, t);
|
|
488
504
|
return r ? r.version : null;
|
|
489
505
|
};
|
|
490
|
-
})),
|
|
491
|
-
var n =
|
|
506
|
+
})), dt = /* @__PURE__ */ A(((e, t) => {
|
|
507
|
+
var n = B();
|
|
492
508
|
t.exports = (e, t) => {
|
|
493
509
|
let r = n(e.trim().replace(/^[=v]+/, ""), t);
|
|
494
510
|
return r ? r.version : null;
|
|
495
511
|
};
|
|
496
|
-
})),
|
|
497
|
-
var n =
|
|
512
|
+
})), ft = /* @__PURE__ */ A(((e, t) => {
|
|
513
|
+
var n = z();
|
|
498
514
|
t.exports = (e, t, r, i, a) => {
|
|
499
515
|
typeof r == "string" && (a = i, i = r, r = void 0);
|
|
500
516
|
try {
|
|
@@ -503,8 +519,8 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
503
519
|
return null;
|
|
504
520
|
}
|
|
505
521
|
};
|
|
506
|
-
})),
|
|
507
|
-
var n =
|
|
522
|
+
})), pt = /* @__PURE__ */ A(((e, t) => {
|
|
523
|
+
var n = B();
|
|
508
524
|
t.exports = (e, t) => {
|
|
509
525
|
let r = n(e, null, !0), i = n(t, null, !0), a = r.compare(i);
|
|
510
526
|
if (a === 0) return null;
|
|
@@ -516,62 +532,62 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
516
532
|
let u = l ? "pre" : "";
|
|
517
533
|
return r.major === i.major ? r.minor === i.minor ? r.patch === i.patch ? "prerelease" : u + "patch" : u + "minor" : u + "major";
|
|
518
534
|
};
|
|
519
|
-
})),
|
|
520
|
-
var n =
|
|
535
|
+
})), mt = /* @__PURE__ */ A(((e, t) => {
|
|
536
|
+
var n = z();
|
|
521
537
|
t.exports = (e, t) => new n(e, t).major;
|
|
522
|
-
})),
|
|
523
|
-
var n =
|
|
538
|
+
})), ht = /* @__PURE__ */ A(((e, t) => {
|
|
539
|
+
var n = z();
|
|
524
540
|
t.exports = (e, t) => new n(e, t).minor;
|
|
525
|
-
})),
|
|
526
|
-
var n = R();
|
|
527
|
-
t.exports = (e, t) => new n(e, t).patch;
|
|
528
|
-
})), gt = /* @__PURE__ */ j(((e, t) => {
|
|
541
|
+
})), gt = /* @__PURE__ */ A(((e, t) => {
|
|
529
542
|
var n = z();
|
|
543
|
+
t.exports = (e, t) => new n(e, t).patch;
|
|
544
|
+
})), _t = /* @__PURE__ */ A(((e, t) => {
|
|
545
|
+
var n = B();
|
|
530
546
|
t.exports = (e, t) => {
|
|
531
547
|
let r = n(e, t);
|
|
532
548
|
return r && r.prerelease.length ? r.prerelease : null;
|
|
533
549
|
};
|
|
534
|
-
})),
|
|
535
|
-
var n =
|
|
550
|
+
})), V = /* @__PURE__ */ A(((e, t) => {
|
|
551
|
+
var n = z();
|
|
536
552
|
t.exports = (e, t, r) => new n(e, r).compare(new n(t, r));
|
|
537
|
-
})),
|
|
538
|
-
var n =
|
|
553
|
+
})), vt = /* @__PURE__ */ A(((e, t) => {
|
|
554
|
+
var n = V();
|
|
539
555
|
t.exports = (e, t, r) => n(t, e, r);
|
|
540
|
-
})),
|
|
541
|
-
var n =
|
|
556
|
+
})), yt = /* @__PURE__ */ A(((e, t) => {
|
|
557
|
+
var n = V();
|
|
542
558
|
t.exports = (e, t) => n(e, t, !0);
|
|
543
|
-
})),
|
|
544
|
-
var n =
|
|
559
|
+
})), bt = /* @__PURE__ */ A(((e, t) => {
|
|
560
|
+
var n = z();
|
|
545
561
|
t.exports = (e, t, r) => {
|
|
546
562
|
let i = new n(e, r), a = new n(t, r);
|
|
547
563
|
return i.compare(a) || i.compareBuild(a);
|
|
548
564
|
};
|
|
549
|
-
})),
|
|
550
|
-
var n =
|
|
565
|
+
})), xt = /* @__PURE__ */ A(((e, t) => {
|
|
566
|
+
var n = bt();
|
|
551
567
|
t.exports = (e, t) => e.sort((e, r) => n(e, r, t));
|
|
552
|
-
})),
|
|
553
|
-
var n =
|
|
568
|
+
})), St = /* @__PURE__ */ A(((e, t) => {
|
|
569
|
+
var n = bt();
|
|
554
570
|
t.exports = (e, t) => e.sort((e, r) => n(r, e, t));
|
|
555
|
-
})),
|
|
556
|
-
var n =
|
|
571
|
+
})), H = /* @__PURE__ */ A(((e, t) => {
|
|
572
|
+
var n = V();
|
|
557
573
|
t.exports = (e, t, r) => n(e, t, r) > 0;
|
|
558
|
-
})),
|
|
559
|
-
var n =
|
|
574
|
+
})), Ct = /* @__PURE__ */ A(((e, t) => {
|
|
575
|
+
var n = V();
|
|
560
576
|
t.exports = (e, t, r) => n(e, t, r) < 0;
|
|
561
|
-
})),
|
|
562
|
-
var n =
|
|
577
|
+
})), wt = /* @__PURE__ */ A(((e, t) => {
|
|
578
|
+
var n = V();
|
|
563
579
|
t.exports = (e, t, r) => n(e, t, r) === 0;
|
|
564
|
-
})),
|
|
565
|
-
var n =
|
|
580
|
+
})), Tt = /* @__PURE__ */ A(((e, t) => {
|
|
581
|
+
var n = V();
|
|
566
582
|
t.exports = (e, t, r) => n(e, t, r) !== 0;
|
|
567
|
-
})),
|
|
568
|
-
var n =
|
|
583
|
+
})), Et = /* @__PURE__ */ A(((e, t) => {
|
|
584
|
+
var n = V();
|
|
569
585
|
t.exports = (e, t, r) => n(e, t, r) >= 0;
|
|
570
|
-
})),
|
|
571
|
-
var n =
|
|
586
|
+
})), Dt = /* @__PURE__ */ A(((e, t) => {
|
|
587
|
+
var n = V();
|
|
572
588
|
t.exports = (e, t, r) => n(e, t, r) <= 0;
|
|
573
|
-
})),
|
|
574
|
-
var n =
|
|
589
|
+
})), Ot = /* @__PURE__ */ A(((e, t) => {
|
|
590
|
+
var n = wt(), r = Tt(), i = H(), a = Et(), o = Ct(), s = Dt();
|
|
575
591
|
t.exports = (e, t, c, l) => {
|
|
576
592
|
switch (t) {
|
|
577
593
|
case "===": return typeof e == "object" && (e = e.version), typeof c == "object" && (c = c.version), e === c;
|
|
@@ -587,8 +603,8 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
587
603
|
default: throw TypeError(`Invalid operator: ${t}`);
|
|
588
604
|
}
|
|
589
605
|
};
|
|
590
|
-
})),
|
|
591
|
-
var n =
|
|
606
|
+
})), kt = /* @__PURE__ */ A(((e, t) => {
|
|
607
|
+
var n = z(), r = B(), { safeRe: i, t: a } = R();
|
|
592
608
|
t.exports = (e, t) => {
|
|
593
609
|
if (e instanceof n) return e;
|
|
594
610
|
if (typeof e == "number" && (e = String(e)), typeof e != "string") return null;
|
|
@@ -604,7 +620,7 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
604
620
|
let s = o[2];
|
|
605
621
|
return r(`${s}.${o[3] || "0"}.${o[4] || "0"}${t.includePrerelease && o[5] ? `-${o[5]}` : ""}${t.includePrerelease && o[6] ? `+${o[6]}` : ""}`, t);
|
|
606
622
|
};
|
|
607
|
-
})),
|
|
623
|
+
})), At = /* @__PURE__ */ A(((e, t) => {
|
|
608
624
|
t.exports = class {
|
|
609
625
|
constructor() {
|
|
610
626
|
this.max = 1e3, this.map = /* @__PURE__ */ new Map();
|
|
@@ -627,7 +643,7 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
627
643
|
return this;
|
|
628
644
|
}
|
|
629
645
|
};
|
|
630
|
-
})),
|
|
646
|
+
})), U = /* @__PURE__ */ A(((e, t) => {
|
|
631
647
|
var n = /\s+/g;
|
|
632
648
|
t.exports = class e {
|
|
633
649
|
constructor(t, r) {
|
|
@@ -694,7 +710,7 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
694
710
|
return !1;
|
|
695
711
|
}
|
|
696
712
|
};
|
|
697
|
-
var r = new (
|
|
713
|
+
var r = new (At())(), i = ct(), a = W(), o = L(), s = z(), { safeRe: c, t: l, comparatorTrimReplace: u, tildeTrimReplace: d, caretTrimReplace: f } = R(), { FLAG_INCLUDE_PRERELEASE: p, FLAG_LOOSE: m } = I(), h = (e) => e.value === "<0.0.0-0", g = (e) => e.value === "", _ = (e, t) => {
|
|
698
714
|
let n = !0, r = e.slice(), i = r.pop();
|
|
699
715
|
for (; n && r.length;) n = r.every((e) => i.intersects(e, t)), i = r.pop();
|
|
700
716
|
return n;
|
|
@@ -732,7 +748,7 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
732
748
|
}
|
|
733
749
|
return !0;
|
|
734
750
|
};
|
|
735
|
-
})),
|
|
751
|
+
})), W = /* @__PURE__ */ A(((e, t) => {
|
|
736
752
|
var n = Symbol("SemVer ANY");
|
|
737
753
|
t.exports = class e {
|
|
738
754
|
static get ANY() {
|
|
@@ -767,9 +783,9 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
767
783
|
return this.operator === "" ? this.value === "" ? !0 : new l(t.value, n).test(this.value) : t.operator === "" ? t.value === "" ? !0 : new l(this.value, n).test(t.semver) : (n = r(n), n.includePrerelease && (this.value === "<0.0.0-0" || t.value === "<0.0.0-0") || !n.includePrerelease && (this.value.startsWith("<0.0.0") || t.value.startsWith("<0.0.0")) ? !1 : !!(this.operator.startsWith(">") && t.operator.startsWith(">") || this.operator.startsWith("<") && t.operator.startsWith("<") || this.semver.version === t.semver.version && this.operator.includes("=") && t.operator.includes("=") || o(this.semver, "<", t.semver, n) && this.operator.startsWith(">") && t.operator.startsWith("<") || o(this.semver, ">", t.semver, n) && this.operator.startsWith("<") && t.operator.startsWith(">")));
|
|
768
784
|
}
|
|
769
785
|
};
|
|
770
|
-
var r =
|
|
771
|
-
})),
|
|
772
|
-
var n =
|
|
786
|
+
var r = ct(), { safeRe: i, t: a } = R(), o = Ot(), s = L(), c = z(), l = U();
|
|
787
|
+
})), G = /* @__PURE__ */ A(((e, t) => {
|
|
788
|
+
var n = U();
|
|
773
789
|
t.exports = (e, t, r) => {
|
|
774
790
|
try {
|
|
775
791
|
t = new n(t, r);
|
|
@@ -778,11 +794,11 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
778
794
|
}
|
|
779
795
|
return t.test(e);
|
|
780
796
|
};
|
|
781
|
-
})),
|
|
782
|
-
var n =
|
|
797
|
+
})), jt = /* @__PURE__ */ A(((e, t) => {
|
|
798
|
+
var n = U();
|
|
783
799
|
t.exports = (e, t) => new n(e, t).set.map((e) => e.map((e) => e.value).join(" ").trim().split(" "));
|
|
784
|
-
})),
|
|
785
|
-
var n =
|
|
800
|
+
})), Mt = /* @__PURE__ */ A(((e, t) => {
|
|
801
|
+
var n = z(), r = U();
|
|
786
802
|
t.exports = (e, t, i) => {
|
|
787
803
|
let a = null, o = null, s = null;
|
|
788
804
|
try {
|
|
@@ -794,8 +810,8 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
794
810
|
s.test(e) && (!a || o.compare(e) === -1) && (a = e, o = new n(a, i));
|
|
795
811
|
}), a;
|
|
796
812
|
};
|
|
797
|
-
})),
|
|
798
|
-
var n =
|
|
813
|
+
})), Nt = /* @__PURE__ */ A(((e, t) => {
|
|
814
|
+
var n = z(), r = U();
|
|
799
815
|
t.exports = (e, t, i) => {
|
|
800
816
|
let a = null, o = null, s = null;
|
|
801
817
|
try {
|
|
@@ -807,8 +823,8 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
807
823
|
s.test(e) && (!a || o.compare(e) === 1) && (a = e, o = new n(a, i));
|
|
808
824
|
}), a;
|
|
809
825
|
};
|
|
810
|
-
})),
|
|
811
|
-
var n =
|
|
826
|
+
})), Pt = /* @__PURE__ */ A(((e, t) => {
|
|
827
|
+
var n = z(), r = U(), i = H();
|
|
812
828
|
t.exports = (e, t) => {
|
|
813
829
|
e = new r(e, t);
|
|
814
830
|
let a = new n("0.0.0");
|
|
@@ -833,8 +849,8 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
833
849
|
}
|
|
834
850
|
return a && e.test(a) ? a : null;
|
|
835
851
|
};
|
|
836
|
-
})),
|
|
837
|
-
var n =
|
|
852
|
+
})), Ft = /* @__PURE__ */ A(((e, t) => {
|
|
853
|
+
var n = U();
|
|
838
854
|
t.exports = (e, t) => {
|
|
839
855
|
try {
|
|
840
856
|
return new n(e, t).range || "*";
|
|
@@ -842,8 +858,8 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
842
858
|
return null;
|
|
843
859
|
}
|
|
844
860
|
};
|
|
845
|
-
})),
|
|
846
|
-
var n =
|
|
861
|
+
})), It = /* @__PURE__ */ A(((e, t) => {
|
|
862
|
+
var n = z(), r = W(), { ANY: i } = r, a = U(), o = G(), s = H(), c = Ct(), l = Dt(), u = Et();
|
|
847
863
|
t.exports = (e, t, d, f) => {
|
|
848
864
|
e = new n(e, f), t = new a(t, f);
|
|
849
865
|
let p, m, h, g, _;
|
|
@@ -865,17 +881,17 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
865
881
|
}
|
|
866
882
|
return !0;
|
|
867
883
|
};
|
|
868
|
-
})),
|
|
869
|
-
var n =
|
|
884
|
+
})), Lt = /* @__PURE__ */ A(((e, t) => {
|
|
885
|
+
var n = It();
|
|
870
886
|
t.exports = (e, t, r) => n(e, t, ">", r);
|
|
871
|
-
})),
|
|
872
|
-
var n =
|
|
887
|
+
})), Rt = /* @__PURE__ */ A(((e, t) => {
|
|
888
|
+
var n = It();
|
|
873
889
|
t.exports = (e, t, r) => n(e, t, "<", r);
|
|
874
|
-
})),
|
|
875
|
-
var n =
|
|
890
|
+
})), zt = /* @__PURE__ */ A(((e, t) => {
|
|
891
|
+
var n = U();
|
|
876
892
|
t.exports = (e, t, r) => (e = new n(e, r), t = new n(t, r), e.intersects(t, r));
|
|
877
|
-
})),
|
|
878
|
-
var n =
|
|
893
|
+
})), Bt = /* @__PURE__ */ A(((e, t) => {
|
|
894
|
+
var n = G(), r = V();
|
|
879
895
|
t.exports = (e, t, i) => {
|
|
880
896
|
let a = [], o = null, s = null, c = e.sort((e, t) => r(e, t, i));
|
|
881
897
|
for (let e of c) n(e, t, i) ? (s = e, o ||= e) : (s && a.push([o, s]), s = null, o = null);
|
|
@@ -885,8 +901,8 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
885
901
|
let u = l.join(" || "), d = typeof t.raw == "string" ? t.raw : String(t);
|
|
886
902
|
return u.length < d.length ? u : t;
|
|
887
903
|
};
|
|
888
|
-
})),
|
|
889
|
-
var n =
|
|
904
|
+
})), Vt = /* @__PURE__ */ A(((e, t) => {
|
|
905
|
+
var n = U(), r = W(), { ANY: i } = r, a = G(), o = V(), s = (e, t, r = {}) => {
|
|
890
906
|
if (e === t) return !0;
|
|
891
907
|
e = new n(e, r), t = new n(t, r);
|
|
892
908
|
let i = !1;
|
|
@@ -944,46 +960,46 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
944
960
|
return r < 0 ? e : r > 0 || t.operator === "<" && e.operator === "<=" ? t : e;
|
|
945
961
|
};
|
|
946
962
|
t.exports = s;
|
|
947
|
-
})),
|
|
948
|
-
var n =
|
|
963
|
+
})), K = /* @__PURE__ */ Me((/* @__PURE__ */ A(((e, t) => {
|
|
964
|
+
var n = R(), r = I(), i = z(), a = lt();
|
|
949
965
|
t.exports = {
|
|
950
|
-
parse:
|
|
951
|
-
valid:
|
|
952
|
-
clean:
|
|
953
|
-
inc:
|
|
954
|
-
diff:
|
|
955
|
-
major:
|
|
956
|
-
minor:
|
|
957
|
-
patch:
|
|
958
|
-
prerelease:
|
|
959
|
-
compare:
|
|
960
|
-
rcompare:
|
|
961
|
-
compareLoose:
|
|
962
|
-
compareBuild:
|
|
963
|
-
sort:
|
|
964
|
-
rsort:
|
|
965
|
-
gt:
|
|
966
|
-
lt:
|
|
967
|
-
eq:
|
|
968
|
-
neq:
|
|
969
|
-
gte:
|
|
970
|
-
lte:
|
|
971
|
-
cmp:
|
|
972
|
-
coerce:
|
|
973
|
-
Comparator:
|
|
974
|
-
Range:
|
|
975
|
-
satisfies:
|
|
976
|
-
toComparators:
|
|
977
|
-
maxSatisfying:
|
|
978
|
-
minSatisfying:
|
|
979
|
-
minVersion:
|
|
980
|
-
validRange:
|
|
981
|
-
outside:
|
|
982
|
-
gtr:
|
|
983
|
-
ltr:
|
|
984
|
-
intersects:
|
|
985
|
-
simplifyRange:
|
|
986
|
-
subset:
|
|
966
|
+
parse: B(),
|
|
967
|
+
valid: ut(),
|
|
968
|
+
clean: dt(),
|
|
969
|
+
inc: ft(),
|
|
970
|
+
diff: pt(),
|
|
971
|
+
major: mt(),
|
|
972
|
+
minor: ht(),
|
|
973
|
+
patch: gt(),
|
|
974
|
+
prerelease: _t(),
|
|
975
|
+
compare: V(),
|
|
976
|
+
rcompare: vt(),
|
|
977
|
+
compareLoose: yt(),
|
|
978
|
+
compareBuild: bt(),
|
|
979
|
+
sort: xt(),
|
|
980
|
+
rsort: St(),
|
|
981
|
+
gt: H(),
|
|
982
|
+
lt: Ct(),
|
|
983
|
+
eq: wt(),
|
|
984
|
+
neq: Tt(),
|
|
985
|
+
gte: Et(),
|
|
986
|
+
lte: Dt(),
|
|
987
|
+
cmp: Ot(),
|
|
988
|
+
coerce: kt(),
|
|
989
|
+
Comparator: W(),
|
|
990
|
+
Range: U(),
|
|
991
|
+
satisfies: G(),
|
|
992
|
+
toComparators: jt(),
|
|
993
|
+
maxSatisfying: Mt(),
|
|
994
|
+
minSatisfying: Nt(),
|
|
995
|
+
minVersion: Pt(),
|
|
996
|
+
validRange: Ft(),
|
|
997
|
+
outside: It(),
|
|
998
|
+
gtr: Lt(),
|
|
999
|
+
ltr: Rt(),
|
|
1000
|
+
intersects: zt(),
|
|
1001
|
+
simplifyRange: Bt(),
|
|
1002
|
+
subset: Vt(),
|
|
987
1003
|
SemVer: i,
|
|
988
1004
|
re: n.re,
|
|
989
1005
|
src: n.src,
|
|
@@ -993,48 +1009,48 @@ var F = /* @__PURE__ */ j(((e, t) => {
|
|
|
993
1009
|
compareIdentifiers: a.compareIdentifiers,
|
|
994
1010
|
rcompareIdentifiers: a.rcompareIdentifiers
|
|
995
1011
|
};
|
|
996
|
-
})))()),
|
|
997
|
-
function
|
|
998
|
-
return `${
|
|
1012
|
+
})))()), Ht = "_updates_v2/per_package_version/";
|
|
1013
|
+
function Ut(e, t) {
|
|
1014
|
+
return `${Ht}${e.organization}/${e.name}/${e.version}/${t}`;
|
|
999
1015
|
}
|
|
1000
|
-
var
|
|
1001
|
-
function
|
|
1002
|
-
return `${
|
|
1016
|
+
var Wt = /(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<name>[^/]+))\/(?<version>[^/]+)\/(?<seed>[^/]+)$/, Gt = "_updates_v2/_global_update_in", Kt = "_updates_v2/_global_update_out", qt = "_overview_snapshots_v2/global/", Jt = "_overview_snapshots_v2/per_package/", Yt = /^(?<timestamp>\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}\.\d{3}Z-[a-z0-9]+)\.json\.gz$/;
|
|
1017
|
+
function Xt(e) {
|
|
1018
|
+
return `${qt}${e}.json.gz`;
|
|
1003
1019
|
}
|
|
1004
|
-
function
|
|
1005
|
-
return `${
|
|
1020
|
+
function Zt(e, t) {
|
|
1021
|
+
return `${Jt}${e.organization}/${e.name}/${t}.json.gz`;
|
|
1006
1022
|
}
|
|
1007
1023
|
//#endregion
|
|
1008
1024
|
//#region src/v2/registry/schema_public.ts
|
|
1009
|
-
var
|
|
1025
|
+
var Qt = "v2/", $t = "overview.json", en = "overview.json.gz", tn = "overview.json", q = "manifest.json", J = "channels", nn = /^[-a-z0-9]+$/;
|
|
1010
1026
|
function Y(e) {
|
|
1011
1027
|
return `${e.organization}/${e.name}/${e.version}`;
|
|
1012
1028
|
}
|
|
1013
1029
|
function X(e) {
|
|
1014
1030
|
return `v2/${Y(e)}`;
|
|
1015
1031
|
}
|
|
1016
|
-
var
|
|
1032
|
+
var rn = "/" + q, an = n.object({
|
|
1017
1033
|
description: d,
|
|
1018
1034
|
channels: n.array(n.string()).default(() => []),
|
|
1019
1035
|
manifestSha256: E
|
|
1020
|
-
}).passthrough(),
|
|
1036
|
+
}).passthrough(), on = n.object({
|
|
1021
1037
|
schema: n.literal("v2"),
|
|
1022
|
-
versions: n.array(
|
|
1038
|
+
versions: n.array(an)
|
|
1023
1039
|
}).passthrough();
|
|
1024
|
-
function an(e) {
|
|
1025
|
-
return `${e.organization}/${e.name}/${en}`;
|
|
1026
|
-
}
|
|
1027
|
-
function on(e) {
|
|
1028
|
-
return `v2/${an(e)}`;
|
|
1029
|
-
}
|
|
1030
1040
|
function sn(e) {
|
|
1031
|
-
return `${
|
|
1041
|
+
return `${e.organization}/${e.name}/${tn}`;
|
|
1032
1042
|
}
|
|
1033
1043
|
function cn(e) {
|
|
1034
1044
|
return `v2/${sn(e)}`;
|
|
1035
1045
|
}
|
|
1036
|
-
|
|
1037
|
-
|
|
1046
|
+
function ln(e) {
|
|
1047
|
+
return `${Y(e)}/${J}/`;
|
|
1048
|
+
}
|
|
1049
|
+
function un(e) {
|
|
1050
|
+
return `v2/${ln(e)}`;
|
|
1051
|
+
}
|
|
1052
|
+
var dn = /(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<name>[^/]+))\/(?<version>[^/]+)\/manifest\.json$/, Z = `v2/${$t}`, fn = `v2/${en}`;
|
|
1053
|
+
function pn(e) {
|
|
1038
1054
|
let t = n.object({
|
|
1039
1055
|
id: f,
|
|
1040
1056
|
allVersions: n.array(n.string()).optional(),
|
|
@@ -1063,29 +1079,29 @@ function dn(e) {
|
|
|
1063
1079
|
}
|
|
1064
1080
|
}).pipe(t.required({ allVersionsWithChannels: !0 }));
|
|
1065
1081
|
}
|
|
1066
|
-
var
|
|
1067
|
-
function
|
|
1082
|
+
var mn = pn(d);
|
|
1083
|
+
function hn(e) {
|
|
1068
1084
|
return n.object({
|
|
1069
1085
|
schema: n.literal("v2"),
|
|
1070
|
-
packages: n.array(
|
|
1086
|
+
packages: n.array(pn(e))
|
|
1071
1087
|
}).passthrough();
|
|
1072
1088
|
}
|
|
1073
|
-
var Q =
|
|
1074
|
-
function
|
|
1075
|
-
return w(l, h(C.transform(
|
|
1089
|
+
var Q = hn(d);
|
|
1090
|
+
function gn(e) {
|
|
1091
|
+
return w(l, h(C.transform(M(e)), S.transform(N(e))));
|
|
1076
1092
|
}
|
|
1077
|
-
function
|
|
1078
|
-
return
|
|
1093
|
+
function _n(e) {
|
|
1094
|
+
return hn(w(l, h(C.transform(M(e)), S.transform(N(e)))));
|
|
1079
1095
|
}
|
|
1080
|
-
function
|
|
1081
|
-
return
|
|
1096
|
+
function vn(e) {
|
|
1097
|
+
return hn(w(l, h(C.transform(M(e)), S.transform(N(e)))));
|
|
1082
1098
|
}
|
|
1083
1099
|
//#endregion
|
|
1084
1100
|
//#region src/v2/registry/registry.ts
|
|
1085
|
-
var
|
|
1086
|
-
gzipAsync =
|
|
1087
|
-
gunzipAsync =
|
|
1088
|
-
constructor(e, t = new
|
|
1101
|
+
var yn = class {
|
|
1102
|
+
gzipAsync = he(ue);
|
|
1103
|
+
gunzipAsync = he(ce);
|
|
1104
|
+
constructor(e, t = new pe(), n = {}) {
|
|
1089
1105
|
this.storage = e, this.logger = t, this.settings = n;
|
|
1090
1106
|
}
|
|
1091
1107
|
generateTimestamp() {
|
|
@@ -1096,7 +1112,7 @@ var _n = class {
|
|
|
1096
1112
|
}
|
|
1097
1113
|
async createGlobalOverviewSnapshot(e, t) {
|
|
1098
1114
|
if (!this.settings.skipSnapshotCreation) try {
|
|
1099
|
-
let n = await this.gzipAsync(e), r =
|
|
1115
|
+
let n = await this.gzipAsync(e), r = Xt(t);
|
|
1100
1116
|
await this.storage.putFile(r, Buffer.from(n)), this.logger.info(`Global overview snapshot created at ${r}`);
|
|
1101
1117
|
} catch (e) {
|
|
1102
1118
|
this.logger.warn(`Failed to create global overview snapshot: ${String(e)}`);
|
|
@@ -1104,7 +1120,7 @@ var _n = class {
|
|
|
1104
1120
|
}
|
|
1105
1121
|
async createPackageOverviewSnapshot(e, t, n) {
|
|
1106
1122
|
if (!this.settings.skipSnapshotCreation) try {
|
|
1107
|
-
let r = JSON.stringify(t), i = await this.gzipAsync(r), a =
|
|
1123
|
+
let r = JSON.stringify(t), i = await this.gzipAsync(r), a = Zt(e, n);
|
|
1108
1124
|
await this.storage.putFile(a, Buffer.from(i)), this.logger.info(`Package overview snapshot created at ${a} for ${e.organization}:${e.name}`);
|
|
1109
1125
|
} catch (t) {
|
|
1110
1126
|
this.logger.warn(`Failed to create package overview snapshot for ${e.organization}:${e.name}: ${String(t)}`);
|
|
@@ -1112,7 +1128,7 @@ var _n = class {
|
|
|
1112
1128
|
}
|
|
1113
1129
|
async updateRegistry(e = "normal") {
|
|
1114
1130
|
this.logger.info("Initiating registry refresh...");
|
|
1115
|
-
let t = this.generateTimestamp(), n = /* @__PURE__ */ new Map(), r = [], i = await this.storage.listFiles(
|
|
1131
|
+
let t = this.generateTimestamp(), n = /* @__PURE__ */ new Map(), r = [], i = await this.storage.listFiles(Ht), a = ({ organization: e, name: t, version: r }) => {
|
|
1116
1132
|
let i = `${e}:${t}`, a = n.get(i);
|
|
1117
1133
|
return a ? a.versions.has(r) ? !1 : (a.versions.add(r), !0) : (n.set(i, {
|
|
1118
1134
|
package: {
|
|
@@ -1124,7 +1140,7 @@ var _n = class {
|
|
|
1124
1140
|
};
|
|
1125
1141
|
this.logger.info("Packages to be updated:");
|
|
1126
1142
|
for (let e of i) {
|
|
1127
|
-
let t = e.match(
|
|
1143
|
+
let t = e.match(Wt);
|
|
1128
1144
|
if (!t) continue;
|
|
1129
1145
|
r.push(e);
|
|
1130
1146
|
let { organization: n, name: i, version: o, seed: s } = t.groups, c = a({
|
|
@@ -1137,7 +1153,7 @@ var _n = class {
|
|
|
1137
1153
|
if (e === "force") {
|
|
1138
1154
|
let e = await this.storage.listFiles("v2/");
|
|
1139
1155
|
for (let t of e) {
|
|
1140
|
-
let e = t.match(
|
|
1156
|
+
let e = t.match(dn);
|
|
1141
1157
|
if (!e) continue;
|
|
1142
1158
|
let { organization: n, name: r, version: i } = e.groups, o = a({
|
|
1143
1159
|
organization: n,
|
|
@@ -1158,31 +1174,31 @@ var _n = class {
|
|
|
1158
1174
|
} : Q.parse(JSON.parse(o.toString()))).packages;
|
|
1159
1175
|
this.logger.info(`Global overview ${e === "force" ? "starting empty (force mode)" : "loaded"}, ${c.length} records`);
|
|
1160
1176
|
for (let [, r] of n.entries()) {
|
|
1161
|
-
let n =
|
|
1177
|
+
let n = cn(r.package), i = await this.storage.getFile(n);
|
|
1162
1178
|
if (e === "force" && i !== void 0) {
|
|
1163
|
-
let e = this.generatePreWriteTimestamp(), t =
|
|
1179
|
+
let e = this.generatePreWriteTimestamp(), t = on.parse(JSON.parse(i.toString()));
|
|
1164
1180
|
await this.createPackageOverviewSnapshot(r.package, t, e);
|
|
1165
1181
|
}
|
|
1166
1182
|
let a = e === "force" || i === void 0 ? {
|
|
1167
1183
|
schema: "v2",
|
|
1168
1184
|
versions: []
|
|
1169
|
-
} :
|
|
1185
|
+
} : on.parse(JSON.parse(i.toString()));
|
|
1170
1186
|
this.logger.info(`Updating ${r.package.organization}:${r.package.name} overview${e === "force" ? " (starting empty in force mode)" : ""}, ${a.versions.length} records`);
|
|
1171
1187
|
let o = a.versions.filter((e) => !r.versions.has(e.description.id.version));
|
|
1172
1188
|
for (let [e] of r.versions.entries()) {
|
|
1173
1189
|
let t = e.toString(), n = {
|
|
1174
1190
|
...r.package,
|
|
1175
1191
|
version: t
|
|
1176
|
-
}, i = await this.storage.getFile(X(n) +
|
|
1192
|
+
}, i = await this.storage.getFile(X(n) + rn);
|
|
1177
1193
|
if (!i) continue;
|
|
1178
|
-
let a = await
|
|
1194
|
+
let a = await P(i), s = (await this.storage.listFiles(un(n))).filter((e) => e.match(nn) ? !0 : (this.logger.warn(`Unexpected channel in ${ae(n)}: ${e}`), !1));
|
|
1179
1195
|
o.push({
|
|
1180
|
-
description:
|
|
1196
|
+
description: $e(t).parse(p.parse(JSON.parse(i.toString("utf8"))).description),
|
|
1181
1197
|
manifestSha256: a,
|
|
1182
1198
|
channels: s
|
|
1183
1199
|
});
|
|
1184
1200
|
}
|
|
1185
|
-
o.sort((e, t) => (0,
|
|
1201
|
+
o.sort((e, t) => (0, K.compare)(t.description.id.version, e.description.id.version));
|
|
1186
1202
|
let l = {
|
|
1187
1203
|
schema: "v2",
|
|
1188
1204
|
versions: o
|
|
@@ -1191,7 +1207,7 @@ var _n = class {
|
|
|
1191
1207
|
let u = /* @__PURE__ */ new Set();
|
|
1192
1208
|
for (let e of o) for (let t of e.channels) u.add(t);
|
|
1193
1209
|
c = c.filter((e) => e.id.organization !== r.package.organization || e.id.name !== r.package.name);
|
|
1194
|
-
let d =
|
|
1210
|
+
let d = $e(`${r.package.organization}/${r.package.name}`);
|
|
1195
1211
|
c.push({
|
|
1196
1212
|
id: {
|
|
1197
1213
|
organization: r.package.organization,
|
|
@@ -1221,13 +1237,13 @@ var _n = class {
|
|
|
1221
1237
|
}), n = Buffer.from(e);
|
|
1222
1238
|
await this.storage.putFile(Z, n);
|
|
1223
1239
|
let r = await this.gzipAsync(e);
|
|
1224
|
-
await this.storage.putFile(
|
|
1240
|
+
await this.storage.putFile(fn, Buffer.from(r)), await this.createGlobalOverviewSnapshot(e, t);
|
|
1225
1241
|
}
|
|
1226
|
-
this.logger.info(`Global overview updated (${c.length} records)`), e !== "dry-run" && await this.storage.deleteFiles(...r.map((e) => `${
|
|
1242
|
+
this.logger.info(`Global overview updated (${c.length} records)`), e !== "dry-run" && await this.storage.deleteFiles(...r.map((e) => `${Ht}${e}`)), this.logger.info("Version update requests cleared");
|
|
1227
1243
|
}
|
|
1228
1244
|
async updateIfNeeded(e = "normal") {
|
|
1229
1245
|
this.logger.info("Checking if registry requires refresh...");
|
|
1230
|
-
let t = await this.storage.getFile(
|
|
1246
|
+
let t = await this.storage.getFile(Gt), n = await this.storage.getFile(Kt);
|
|
1231
1247
|
if (e !== "force" && t === void 0 && n === void 0) {
|
|
1232
1248
|
this.logger.info("No global seed files found, update not needed.");
|
|
1233
1249
|
return;
|
|
@@ -1236,45 +1252,45 @@ var _n = class {
|
|
|
1236
1252
|
this.logger.info("Registry is up to date.");
|
|
1237
1253
|
return;
|
|
1238
1254
|
}
|
|
1239
|
-
await this.updateRegistry(e), t && (e !== "dry-run" && await this.storage.putFile(
|
|
1255
|
+
await this.updateRegistry(e), t && (e !== "dry-run" && await this.storage.putFile(Kt, t), this.logger.info("Refresh finished."));
|
|
1240
1256
|
}
|
|
1241
1257
|
async getPackageOverview(e) {
|
|
1242
|
-
let t = await this.storage.getFile(
|
|
1243
|
-
if (t !== void 0) return
|
|
1258
|
+
let t = await this.storage.getFile(cn(e));
|
|
1259
|
+
if (t !== void 0) return on.parse(JSON.parse(t.toString()));
|
|
1244
1260
|
}
|
|
1245
1261
|
async getGlobalOverview() {
|
|
1246
1262
|
let e = await this.storage.getFile(Z);
|
|
1247
1263
|
if (e !== void 0) return Q.parse(JSON.parse(e.toString()));
|
|
1248
1264
|
}
|
|
1249
1265
|
async marchChanged(e) {
|
|
1250
|
-
let t =
|
|
1251
|
-
this.logger.info(`Creating update seed at ${n} ...`), await this.storage.putFile(n, Buffer.from(t)), this.logger.info(`Touching global update seed ${
|
|
1266
|
+
let t = fe(), n = Ut(e, t);
|
|
1267
|
+
this.logger.info(`Creating update seed at ${n} ...`), await this.storage.putFile(n, Buffer.from(t)), this.logger.info(`Touching global update seed ${Gt} ...`), await this.storage.putFile(Gt, Buffer.from(t));
|
|
1252
1268
|
}
|
|
1253
1269
|
async addPackageToChannel(e, t) {
|
|
1254
|
-
if (!t.match(
|
|
1270
|
+
if (!t.match(nn)) throw Error(`Illegal characters in channel name: ${t}`);
|
|
1255
1271
|
let n = X(e);
|
|
1256
1272
|
if (await this.storage.getFile(`${n}/manifest.json`) === void 0) throw Error(`Package ${ae(e)} not found in the registry.`);
|
|
1257
|
-
await this.storage.putFile(`${n}/${
|
|
1273
|
+
await this.storage.putFile(`${n}/${J}/${t}`, Buffer.from(t)), await this.marchChanged(e);
|
|
1258
1274
|
}
|
|
1259
1275
|
async removePackageFromChannel(e, t) {
|
|
1260
|
-
if (!t.match(
|
|
1276
|
+
if (!t.match(nn)) throw Error(`Illegal characters in channel name: ${t}`);
|
|
1261
1277
|
let n = X(e);
|
|
1262
1278
|
if (await this.storage.getFile(`${n}/manifest.json`) === void 0) throw Error(`Package ${ae(e)} not found in the registry.`);
|
|
1263
|
-
await this.storage.deleteFiles(`${n}/${
|
|
1279
|
+
await this.storage.deleteFiles(`${n}/${J}/${t}`), await this.marchChanged(e);
|
|
1264
1280
|
}
|
|
1265
1281
|
async listGlobalOverviewSnapshots() {
|
|
1266
|
-
let e = await this.storage.listFiles(
|
|
1282
|
+
let e = await this.storage.listFiles(qt), t = [];
|
|
1267
1283
|
for (let n of e) {
|
|
1268
|
-
let e = n.indexOf("/") === -1 ? n : n.substring(n.lastIndexOf("/") + 1), r = e.match(
|
|
1284
|
+
let e = n.indexOf("/") === -1 ? n : n.substring(n.lastIndexOf("/") + 1), r = e.match(Yt);
|
|
1269
1285
|
r && t.push({
|
|
1270
1286
|
timestamp: r.groups.timestamp,
|
|
1271
|
-
path:
|
|
1287
|
+
path: qt + e
|
|
1272
1288
|
});
|
|
1273
1289
|
}
|
|
1274
1290
|
return t.sort((e, t) => t.timestamp.localeCompare(e.timestamp)), t;
|
|
1275
1291
|
}
|
|
1276
1292
|
async restoreGlobalOverviewFromSnapshot(e) {
|
|
1277
|
-
let t =
|
|
1293
|
+
let t = Xt(e), n = await this.storage.getFile(t);
|
|
1278
1294
|
if (!n) throw Error(`Snapshot ${e} not found at ${t}`);
|
|
1279
1295
|
let r = (await this.gunzipAsync(n)).toString("utf8");
|
|
1280
1296
|
try {
|
|
@@ -1285,27 +1301,27 @@ var _n = class {
|
|
|
1285
1301
|
let i = Buffer.from(r);
|
|
1286
1302
|
await this.storage.putFile(Z, i);
|
|
1287
1303
|
let a = await this.gzipAsync(r);
|
|
1288
|
-
await this.storage.putFile(
|
|
1304
|
+
await this.storage.putFile(fn, Buffer.from(a)), this.logger.info(`Global overview restored from snapshot ${e}`);
|
|
1289
1305
|
}
|
|
1290
1306
|
async publishPackage(e, t) {
|
|
1291
1307
|
let n = X(e.description.id);
|
|
1292
1308
|
for (let r of e.files) {
|
|
1293
1309
|
let e = await t(r.name);
|
|
1294
1310
|
if (e.length !== r.size) throw Error(`Actual file size don't match file size from the manifest file for ${r.name} (actual = ${e.length}; manifest = ${r.size})`);
|
|
1295
|
-
let i = await
|
|
1311
|
+
let i = await P(e);
|
|
1296
1312
|
if (i !== r.sha256.toUpperCase()) throw Error(`Actual file SHA-256 don't match the checksum from the manifest file for ${r.name} (actual = ${i}; manifest = ${r.sha256.toUpperCase()})`);
|
|
1297
1313
|
let a = n + "/" + r.name;
|
|
1298
1314
|
this.logger.info(`Uploading ${r.name} -> ${a} ...`), await this.storage.putFile(a, e);
|
|
1299
1315
|
}
|
|
1300
|
-
let r = n + "/" +
|
|
1316
|
+
let r = n + "/" + q;
|
|
1301
1317
|
this.logger.info(`Uploading manifest to ${r} ...`), await this.storage.putFile(r, Buffer.from(JSON.stringify(e))), await this.marchChanged(e.description.id);
|
|
1302
1318
|
}
|
|
1303
|
-
},
|
|
1319
|
+
}, bn = {
|
|
1304
1320
|
cacheBlockListFor: 45e3,
|
|
1305
1321
|
keepStaleBlockListFor: 3e5
|
|
1306
1322
|
};
|
|
1307
|
-
function
|
|
1308
|
-
let n =
|
|
1323
|
+
function xn(e, t) {
|
|
1324
|
+
let n = K.inc(e, "minor"), r = K.inc(e, "major"), i = [], a = t.find((t) => K.gt(t, e) && K.lt(t, n)), o = t.find((e) => K.gte(e, n) && K.lt(e, r)), s = t.find((e) => K.gte(e, r));
|
|
1309
1325
|
return a && i.push({
|
|
1310
1326
|
type: "patch",
|
|
1311
1327
|
update: a
|
|
@@ -1317,21 +1333,21 @@ function yn(e, t) {
|
|
|
1317
1333
|
update: s
|
|
1318
1334
|
}), i;
|
|
1319
1335
|
}
|
|
1320
|
-
var
|
|
1336
|
+
var Sn = class {
|
|
1321
1337
|
v2RootFolderReader;
|
|
1322
1338
|
ops;
|
|
1323
1339
|
constructor(e, t) {
|
|
1324
1340
|
this.registryReader = e, this.v2RootFolderReader = e.relativeReader("v2/"), this.ops = {
|
|
1325
|
-
...
|
|
1341
|
+
...bn,
|
|
1326
1342
|
...t
|
|
1327
1343
|
};
|
|
1328
1344
|
}
|
|
1329
|
-
embeddedGlobalMetaCache = new
|
|
1345
|
+
embeddedGlobalMetaCache = new _e({
|
|
1330
1346
|
max: 500,
|
|
1331
|
-
fetchMethod: async (e, t, n) => await O(async () => await
|
|
1347
|
+
fetchMethod: async (e, t, n) => await O(async () => await qe(n.context.relativeTo === void 0 ? this.v2RootFolderReader.getContentReader() : this.v2RootFolderReader.relativeReader(Y(n.context.relativeTo)).getContentReader()).parseAsync(n.context.meta), D)
|
|
1332
1348
|
});
|
|
1333
1349
|
async embedMetaContent(e, t, n, r) {
|
|
1334
|
-
return await this.embeddedGlobalMetaCache.forceFetch(
|
|
1350
|
+
return await this.embeddedGlobalMetaCache.forceFetch(ge({
|
|
1335
1351
|
id: e,
|
|
1336
1352
|
sha256: t,
|
|
1337
1353
|
absolutePath: n
|
|
@@ -1346,7 +1362,7 @@ var bn = class {
|
|
|
1346
1362
|
if (this.listCache !== void 0 && Date.now() - this.listCacheTimestamp <= this.ops.cacheBlockListFor) return this.listCache;
|
|
1347
1363
|
try {
|
|
1348
1364
|
return await O(async () => {
|
|
1349
|
-
let t = Q.parse(JSON.parse(Buffer.from(await this.v2RootFolderReader.readFile(
|
|
1365
|
+
let t = Q.parse(JSON.parse(Buffer.from(await this.v2RootFolderReader.readFile($t, { signal: e?.signal })).toString())), n = await Promise.all(t.packages.map(async (e) => {
|
|
1350
1366
|
let t = await Promise.all(Object.entries(e.latestByChannel).map(async ([e, t]) => [e, {
|
|
1351
1367
|
id: t.description.id,
|
|
1352
1368
|
meta: await this.embedMetaContent(t.description.id, t.manifestSha256, !0, t.description.meta),
|
|
@@ -1379,14 +1395,14 @@ var bn = class {
|
|
|
1379
1395
|
let n = (await this.listBlockPacks()).find((t) => ie(e, t.id));
|
|
1380
1396
|
if (n === void 0) return;
|
|
1381
1397
|
let r = n.allVersions.filter((e) => t === s || e.channels.indexOf(t) >= 0).map((e) => e.version);
|
|
1382
|
-
return r.reverse(),
|
|
1398
|
+
return r.reverse(), xn(e.version, r);
|
|
1383
1399
|
}
|
|
1384
1400
|
async getSpecificOverview(e, t) {
|
|
1385
1401
|
return await O(async () => {
|
|
1386
|
-
let n = await this.v2RootFolderReader.readFile(Y(e) +
|
|
1402
|
+
let n = await this.v2RootFolderReader.readFile(Y(e) + rn), r = p.parse(JSON.parse(Buffer.from(n).toString()));
|
|
1387
1403
|
return {
|
|
1388
1404
|
id: e,
|
|
1389
|
-
meta: await this.embedMetaContent(e, await
|
|
1405
|
+
meta: await this.embedMetaContent(e, await P(n), !1, r.description.meta),
|
|
1390
1406
|
spec: {
|
|
1391
1407
|
type: "from-registry-v2",
|
|
1392
1408
|
id: e,
|
|
@@ -1396,17 +1412,17 @@ var bn = class {
|
|
|
1396
1412
|
};
|
|
1397
1413
|
}, D);
|
|
1398
1414
|
}
|
|
1399
|
-
componentsCache = new
|
|
1415
|
+
componentsCache = new _e({
|
|
1400
1416
|
max: 500,
|
|
1401
1417
|
fetchMethod: async (e, t, { context: n }) => await O(async () => {
|
|
1402
|
-
let e = this.v2RootFolderReader.relativeReader(Y(n)), t = p.parse(JSON.parse(Buffer.from(await e.readFile(
|
|
1403
|
-
return
|
|
1418
|
+
let e = this.v2RootFolderReader.relativeReader(Y(n)), t = p.parse(JSON.parse(Buffer.from(await e.readFile(q)).toString()));
|
|
1419
|
+
return Xe(e.rootUrl.toString()).parse(t.description.components);
|
|
1404
1420
|
}, D)
|
|
1405
1421
|
});
|
|
1406
1422
|
async getComponents(e) {
|
|
1407
|
-
return await this.componentsCache.forceFetch(
|
|
1423
|
+
return await this.componentsCache.forceFetch(ge(e), { context: e });
|
|
1408
1424
|
}
|
|
1409
|
-
},
|
|
1425
|
+
}, Cn = class {
|
|
1410
1426
|
constructor(e, t, n) {
|
|
1411
1427
|
this.client = e, this.bucket = t, this.root = n;
|
|
1412
1428
|
}
|
|
@@ -1422,7 +1438,7 @@ var bn = class {
|
|
|
1422
1438
|
}
|
|
1423
1439
|
}
|
|
1424
1440
|
async listFiles(e) {
|
|
1425
|
-
let t = k.join(this.root, e), n =
|
|
1441
|
+
let t = k.join(this.root, e), n = ye({ client: this.client }, {
|
|
1426
1442
|
Bucket: this.bucket,
|
|
1427
1443
|
Prefix: t
|
|
1428
1444
|
}), r = [];
|
|
@@ -1443,7 +1459,7 @@ var bn = class {
|
|
|
1443
1459
|
});
|
|
1444
1460
|
if (t.Errors !== void 0 && t.Errors.length > 0) throw Error(`Errors encountered while deleting files: ${t.Errors.map((e) => e.Message ?? e.Code ?? "Unknown error").join("\n")}`);
|
|
1445
1461
|
}
|
|
1446
|
-
},
|
|
1462
|
+
}, wn = class {
|
|
1447
1463
|
root;
|
|
1448
1464
|
constructor(t) {
|
|
1449
1465
|
this.root = e.resolve(t);
|
|
@@ -1480,27 +1496,27 @@ var bn = class {
|
|
|
1480
1496
|
for (let n of e) await t.promises.rm(this.toAbsolutePath(n));
|
|
1481
1497
|
}
|
|
1482
1498
|
};
|
|
1483
|
-
function
|
|
1499
|
+
function Tn(t) {
|
|
1484
1500
|
let n = new URL(t, `file:${e.resolve(".").split(e.sep).join(k.sep)}/`);
|
|
1485
1501
|
switch (n.protocol) {
|
|
1486
|
-
case "file:": return new
|
|
1502
|
+
case "file:": return new wn(e.resolve(n.pathname));
|
|
1487
1503
|
case "s3:": {
|
|
1488
1504
|
let e = {}, t = n.searchParams.get("region");
|
|
1489
1505
|
t && (e.region = t);
|
|
1490
1506
|
let r = n.hostname;
|
|
1491
|
-
return new
|
|
1507
|
+
return new Cn(new ve(e), r, n.pathname.replace(/^\//, ""));
|
|
1492
1508
|
}
|
|
1493
1509
|
default: throw Error(`Unknown protocol: ${n.protocol}`);
|
|
1494
1510
|
}
|
|
1495
1511
|
}
|
|
1496
1512
|
//#endregion
|
|
1497
1513
|
//#region src/io/folder_reader.ts
|
|
1498
|
-
var
|
|
1514
|
+
var En = class e {
|
|
1499
1515
|
constructor(e, t) {
|
|
1500
1516
|
this.rootUrl = e, this.httpDispatcher = t;
|
|
1501
1517
|
}
|
|
1502
1518
|
async readFile(e, t) {
|
|
1503
|
-
let n = await
|
|
1519
|
+
let n = await be(new URL(e, this.rootUrl), {
|
|
1504
1520
|
dispatcher: this.httpDispatcher,
|
|
1505
1521
|
signal: t?.signal
|
|
1506
1522
|
});
|
|
@@ -1513,7 +1529,7 @@ var wn = class e {
|
|
|
1513
1529
|
let t = e === void 0 ? this : this.relativeReader(e);
|
|
1514
1530
|
return (e) => t.readFile(e);
|
|
1515
1531
|
}
|
|
1516
|
-
},
|
|
1532
|
+
}, Dn = class t {
|
|
1517
1533
|
constructor(e, t) {
|
|
1518
1534
|
this.rootUrl = e, this.root = t;
|
|
1519
1535
|
}
|
|
@@ -1529,66 +1545,66 @@ var wn = class e {
|
|
|
1529
1545
|
return (e) => t.readFile(e);
|
|
1530
1546
|
}
|
|
1531
1547
|
};
|
|
1532
|
-
function
|
|
1548
|
+
function On(t) {
|
|
1533
1549
|
return t.split(k.sep).join(e.sep);
|
|
1534
1550
|
}
|
|
1535
|
-
function
|
|
1551
|
+
function kn(t) {
|
|
1536
1552
|
return t.split(e.sep).join(k.sep);
|
|
1537
1553
|
}
|
|
1538
|
-
function
|
|
1554
|
+
function An(t, n) {
|
|
1539
1555
|
t.endsWith("/") || (t += "/");
|
|
1540
|
-
let r = new URL(t, `file:${
|
|
1556
|
+
let r = new URL(t, `file:${kn(e.resolve("."))}/`);
|
|
1541
1557
|
switch (r.protocol) {
|
|
1542
|
-
case "file:": return new
|
|
1558
|
+
case "file:": return new Dn(r, On(r.pathname));
|
|
1543
1559
|
case "https:":
|
|
1544
|
-
case "http:": return new
|
|
1560
|
+
case "http:": return new En(r, n ?? xe());
|
|
1545
1561
|
default: throw Error(`Unknown protocol: ${r.protocol}`);
|
|
1546
1562
|
}
|
|
1547
1563
|
}
|
|
1548
1564
|
//#endregion
|
|
1549
1565
|
//#region src/common_types.ts
|
|
1550
|
-
var
|
|
1566
|
+
var jn = n.string().regex(/^(?:s3:|file:)/), Mn = n.object({
|
|
1551
1567
|
organization: n.string(),
|
|
1552
1568
|
package: n.string(),
|
|
1553
1569
|
version: T.optional(),
|
|
1554
1570
|
files: n.record(n.string().regex(/^[^/]+$/), n.string()).default({}),
|
|
1555
1571
|
meta: n.object({}).passthrough()
|
|
1556
|
-
}),
|
|
1557
|
-
registries: n.record(n.string(),
|
|
1572
|
+
}), Nn = n.object({
|
|
1573
|
+
registries: n.record(n.string(), jn).default({}),
|
|
1558
1574
|
registry: n.string().optional()
|
|
1559
|
-
}),
|
|
1575
|
+
}), Pn = Nn.merge(Mn).required({
|
|
1560
1576
|
registry: !0,
|
|
1561
1577
|
version: !0
|
|
1562
|
-
}),
|
|
1578
|
+
}), Fn = Pn.partial().required({
|
|
1563
1579
|
registries: !0,
|
|
1564
1580
|
files: !0
|
|
1565
|
-
}),
|
|
1566
|
-
function
|
|
1567
|
-
return `${
|
|
1581
|
+
}), In = "pl.package.json", Ln = "pl.package.yaml", Rn = "v1/";
|
|
1582
|
+
function zn(e) {
|
|
1583
|
+
return `${Rn}${e.organization}/${e.package}/${e.version}`;
|
|
1568
1584
|
}
|
|
1569
|
-
function
|
|
1570
|
-
return `${
|
|
1585
|
+
function Bn(e, t) {
|
|
1586
|
+
return `${Rn}${e.organization}/${e.package}/${e.version}/${t}`;
|
|
1571
1587
|
}
|
|
1572
|
-
function
|
|
1573
|
-
return `${
|
|
1588
|
+
function Vn(e) {
|
|
1589
|
+
return `${Rn}${e.organization}/${e.package}/overview.json`;
|
|
1574
1590
|
}
|
|
1575
|
-
var
|
|
1576
|
-
function
|
|
1577
|
-
return `${
|
|
1591
|
+
var Hn = `${Rn}overview.json`, Un = "meta.json", Wn = "_updates_v1/per_package_version/";
|
|
1592
|
+
function Gn(e, t) {
|
|
1593
|
+
return `${Wn}${e.organization}/${e.package}/${e.version}/${t}`;
|
|
1578
1594
|
}
|
|
1579
|
-
var
|
|
1595
|
+
var Kn = /(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<pkg>[^/]+))\/(?<version>[^/]+)\/(?<seed>[^/]+)$/, qn = "_updates_v1/_global_update_in", Jn = "_updates_v1/_global_update_out", Yn = class {
|
|
1580
1596
|
constructor(e, t) {
|
|
1581
1597
|
this.storage = e, this.logger = t;
|
|
1582
1598
|
}
|
|
1583
1599
|
constructNewPackage(e) {
|
|
1584
|
-
return new
|
|
1600
|
+
return new Xn(this.storage, e);
|
|
1585
1601
|
}
|
|
1586
1602
|
async updateRegistry() {
|
|
1587
1603
|
this.logger?.info("Initiating registry refresh...");
|
|
1588
|
-
let e = /* @__PURE__ */ new Map(), t = [], n = await this.storage.listFiles(
|
|
1604
|
+
let e = /* @__PURE__ */ new Map(), t = [], n = await this.storage.listFiles(Wn);
|
|
1589
1605
|
this.logger?.info("Packages to be updated:");
|
|
1590
1606
|
for (let r of n) {
|
|
1591
|
-
let n = r.match(
|
|
1607
|
+
let n = r.match(Kn);
|
|
1592
1608
|
if (!n) continue;
|
|
1593
1609
|
t.push(r);
|
|
1594
1610
|
let { packageKeyWithoutVersion: i, organization: a, pkg: o, version: s, seed: c } = n.groups, l = e.get(i);
|
|
@@ -1600,22 +1616,22 @@ var Wn = /(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<pkg>[^/]+))\/(?
|
|
|
1600
1616
|
versions: new Set([s])
|
|
1601
1617
|
}), this.logger?.info(` - ${a}:${o}:${s}`);
|
|
1602
1618
|
}
|
|
1603
|
-
let r = await this.storage.getFile(
|
|
1619
|
+
let r = await this.storage.getFile(Hn), i = r === void 0 ? [] : JSON.parse(r.toString());
|
|
1604
1620
|
this.logger?.info(`Global overview loaded, ${i.length} records`);
|
|
1605
1621
|
for (let [, t] of e.entries()) {
|
|
1606
|
-
let e =
|
|
1622
|
+
let e = Vn(t.package), n = await this.storage.getFile(e), r = n === void 0 ? [] : JSON.parse(n.toString());
|
|
1607
1623
|
this.logger?.info(`Updating ${t.package.organization}:${t.package.package} overview, ${r.length} records`), r = r.filter((e) => !t.versions.has(e.version));
|
|
1608
1624
|
for (let [e] of t.versions.entries()) {
|
|
1609
|
-
let n = e.toString(), i = await this.storage.getFile(
|
|
1625
|
+
let n = e.toString(), i = await this.storage.getFile(Bn({
|
|
1610
1626
|
...t.package,
|
|
1611
1627
|
version: n
|
|
1612
|
-
},
|
|
1628
|
+
}, Un));
|
|
1613
1629
|
i && r.push({
|
|
1614
1630
|
version: n,
|
|
1615
1631
|
meta: JSON.parse(i.toString())
|
|
1616
1632
|
});
|
|
1617
1633
|
}
|
|
1618
|
-
r.sort((e, t) =>
|
|
1634
|
+
r.sort((e, t) => K.compare(t.version, e.version)), await this.storage.putFile(e, Buffer.from(JSON.stringify(r))), this.logger?.info(`Done (${r.length} records)`), i = i.filter((e) => e.organization !== t.package.organization || e.package !== t.package.package), i.push({
|
|
1619
1635
|
organization: t.package.organization,
|
|
1620
1636
|
package: t.package.package,
|
|
1621
1637
|
allVersions: r.map((e) => e.version).reverse(),
|
|
@@ -1623,36 +1639,36 @@ var Wn = /(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<pkg>[^/]+))\/(?
|
|
|
1623
1639
|
latestMeta: r[0].meta
|
|
1624
1640
|
});
|
|
1625
1641
|
}
|
|
1626
|
-
await this.storage.putFile(
|
|
1642
|
+
await this.storage.putFile(Hn, Buffer.from(JSON.stringify(i))), this.logger?.info(`Global overview updated (${i.length} records)`), await this.storage.deleteFiles(...t.map((e) => `${Wn}${e}`)), this.logger?.info("Version update requests cleared");
|
|
1627
1643
|
}
|
|
1628
1644
|
async updateIfNeeded(e = !1) {
|
|
1629
1645
|
this.logger?.info("Checking if registry requires refresh...");
|
|
1630
|
-
let t = await this.storage.getFile(
|
|
1631
|
-
!e && t === void 0 && n === void 0 || !e && t !== void 0 && n !== void 0 && t.equals(n) || (await this.updateRegistry(), t && (await this.storage.putFile(
|
|
1646
|
+
let t = await this.storage.getFile(qn), n = await this.storage.getFile(Jn);
|
|
1647
|
+
!e && t === void 0 && n === void 0 || !e && t !== void 0 && n !== void 0 && t.equals(n) || (await this.updateRegistry(), t && (await this.storage.putFile(Jn, t), this.logger?.info("Refresh finished")));
|
|
1632
1648
|
}
|
|
1633
1649
|
async getPackageOverview(e) {
|
|
1634
|
-
let t = await this.storage.getFile(
|
|
1650
|
+
let t = await this.storage.getFile(Vn(e));
|
|
1635
1651
|
if (t !== void 0) return JSON.parse(t.toString());
|
|
1636
1652
|
}
|
|
1637
1653
|
async getGlobalOverview() {
|
|
1638
|
-
let e = await this.storage.getFile(
|
|
1654
|
+
let e = await this.storage.getFile(Hn);
|
|
1639
1655
|
if (e !== void 0) return JSON.parse(e.toString());
|
|
1640
1656
|
}
|
|
1641
|
-
},
|
|
1657
|
+
}, Xn = class {
|
|
1642
1658
|
metaAdded = !1;
|
|
1643
|
-
seed =
|
|
1659
|
+
seed = fe();
|
|
1644
1660
|
constructor(e, t) {
|
|
1645
1661
|
this.storage = e, this.name = t;
|
|
1646
1662
|
}
|
|
1647
1663
|
async addFile(e, t) {
|
|
1648
|
-
await this.storage.putFile(
|
|
1664
|
+
await this.storage.putFile(Bn(this.name, e), t);
|
|
1649
1665
|
}
|
|
1650
1666
|
async writeMeta(e) {
|
|
1651
|
-
await this.addFile(
|
|
1667
|
+
await this.addFile(Un, Buffer.from(JSON.stringify(e))), this.metaAdded = !0;
|
|
1652
1668
|
}
|
|
1653
1669
|
async finish() {
|
|
1654
1670
|
if (!this.metaAdded) throw Error("meta not added");
|
|
1655
|
-
await this.storage.putFile(
|
|
1671
|
+
await this.storage.putFile(Gn(this.name, this.seed), Buffer.of(0)), await this.storage.putFile(qn, Buffer.from(this.seed));
|
|
1656
1672
|
}
|
|
1657
1673
|
};
|
|
1658
1674
|
//#endregion
|
|
@@ -1671,17 +1687,17 @@ function $(e, t) {
|
|
|
1671
1687
|
}
|
|
1672
1688
|
};
|
|
1673
1689
|
}
|
|
1674
|
-
async function
|
|
1675
|
-
return
|
|
1690
|
+
async function Zn(e) {
|
|
1691
|
+
return et(e, (e) => Fn.parse(JSON.parse(e.toString())));
|
|
1676
1692
|
}
|
|
1677
|
-
async function
|
|
1678
|
-
return
|
|
1693
|
+
async function Qn(e) {
|
|
1694
|
+
return et(e, (e) => Fn.parse(Se.parse(e.toString())));
|
|
1679
1695
|
}
|
|
1680
|
-
async function
|
|
1681
|
-
let e =
|
|
1682
|
-
return e = $(e, await
|
|
1696
|
+
async function $n() {
|
|
1697
|
+
let e = Fn.parse({});
|
|
1698
|
+
return e = $(e, await Zn("./.pl.reg.json")), e = $(e, await Qn("./.pl.reg.yaml")), e = $(e, await Zn(`${Ce.homedir()}/.pl.reg.json`)), e = $(e, await Qn(`${Ce.homedir()}/.pl.reg.yaml`)), e = $(e, await Zn(In)), e = $(e, await Qn(Ln)), e;
|
|
1683
1699
|
}
|
|
1684
|
-
var
|
|
1700
|
+
var er = class {
|
|
1685
1701
|
constructor(e) {
|
|
1686
1702
|
this.conf = e;
|
|
1687
1703
|
}
|
|
@@ -1692,7 +1708,7 @@ var Qn = class {
|
|
|
1692
1708
|
if (!e) throw Error(`Registry with alias "${t}" not found`);
|
|
1693
1709
|
t = e;
|
|
1694
1710
|
}
|
|
1695
|
-
return new
|
|
1711
|
+
return new Yn(Tn(t), e);
|
|
1696
1712
|
}
|
|
1697
1713
|
get fullPackageName() {
|
|
1698
1714
|
return {
|
|
@@ -1702,11 +1718,11 @@ var Qn = class {
|
|
|
1702
1718
|
};
|
|
1703
1719
|
}
|
|
1704
1720
|
};
|
|
1705
|
-
async function
|
|
1706
|
-
let t = await
|
|
1707
|
-
return new
|
|
1721
|
+
async function tr(e) {
|
|
1722
|
+
let t = await $n();
|
|
1723
|
+
return new er(Pn.parse($(t, e)));
|
|
1708
1724
|
}
|
|
1709
1725
|
//#endregion
|
|
1710
|
-
export {
|
|
1726
|
+
export { Qe as $, Z as A, an as B, J as C, Ne as Ct, $t as D, mn as E, q as F, cn as G, ln as H, rn as I, st as J, sn as K, dn as L, vn as M, _n as N, en as O, Qt as P, nt as Q, on as R, nn as S, Ae as St, pn as T, X as U, un as V, Y as W, it as X, ot as Y, at as Z, Tn as _, Be as _t, zn as a, We as at, yn as b, N as bt, Mn as c, Ke as ct, Nn as d, Fe as dt, $e as et, Pn as f, Re as ft, Cn as g, Ie as gt, wn as h, j as ht, Un as i, Je as it, Q as j, fn as k, In as l, qe as lt, An as m, Le as mt, tr as n, Xe as nt, Vn as o, Ue as ot, Fn as p, ze as pt, F as q, Hn as r, Ye as rt, Bn as s, Ge as st, er as t, Ze as tt, Ln as u, Pe as ut, Sn as v, Ve as vt, hn as w, gn as x, M as xt, xn as y, He as yt, tn as z };
|
|
1711
1727
|
|
|
1712
|
-
//# sourceMappingURL=config-
|
|
1728
|
+
//# sourceMappingURL=config-CzNlwcwn.mjs.map
|