@platforma-sdk/block-tools 2.16.17 → 2.17.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 +13 -13
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +849 -875
- package/dist/cli.mjs.map +1 -1
- package/dist/{config-Dx45aFJ_.mjs → config-C07cYptA.mjs} +606 -591
- package/dist/config-C07cYptA.mjs.map +1 -0
- package/dist/config-on5N57rI.js +3 -0
- package/dist/config-on5N57rI.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -5
- package/dist/index.mjs.map +1 -1
- package/dist/structure/engine/api.d.ts +1 -1
- package/dist/structure/engine/content-rules.d.ts +12 -0
- package/dist/structure/rules/root-pnpm-workspace.d.ts +1 -1
- package/dist/structure/rules/shared/key-order.d.ts +1 -1
- package/dist/structure/rules/shared/toolchain.d.ts +18 -0
- package/package.json +25 -25
- package/src/structure/__tests__/root-catalog-bump.test.ts +1 -1
- package/src/structure/__tests__/root-ci-workflows.test.ts +4 -3
- package/src/structure/__tests__/toolchain.test.ts +156 -0
- package/src/structure/engine/__tests__/content-rules/ensure-catalog-at-least.test.ts +28 -0
- package/src/structure/engine/api.ts +4 -0
- package/src/structure/engine/content-rules.ts +60 -0
- package/src/structure/rules/root-ci.ts +3 -0
- package/src/structure/rules/root-package-json.ts +17 -2
- package/src/structure/rules/root-pnpm-workspace.ts +23 -5
- package/src/structure/rules/shared/key-order.ts +2 -1
- package/src/structure/rules/shared/toolchain.ts +35 -0
- package/src/structure/templates/text/workflows/build.tpl.yaml +1 -1
- package/src/structure/templates/text/workflows/mark-stable.tpl.yaml +1 -1
- package/dist/config-CtXMWNgm.js +0 -3
- package/dist/config-CtXMWNgm.js.map +0 -1
- package/dist/config-Dx45aFJ_.mjs.map +0 -1
- package/src/structure/templates/static/root/.gitignore +0 -13
|
@@ -1,52 +1,50 @@
|
|
|
1
1
|
import e from "node:path";
|
|
2
|
-
import * as
|
|
3
|
-
import n from "node:fs";
|
|
2
|
+
import t, * as n from "node:fs";
|
|
4
3
|
import r from "node:fs/promises";
|
|
5
4
|
import * as i from "mime-types";
|
|
6
5
|
import * as a from "tar";
|
|
7
6
|
import { tryResolve as o } from "@milaboratories/resolve-helper";
|
|
8
|
-
import { AnyChannel as s, BlockPackDescriptionFromPackageJsonRaw as c, BlockPackDescriptionManifest as l, BlockPackId as u, BlockPackIdNoVersion as d, BlockPackManifest as f, BlockPackManifestFile as p, SemVer as m, Sha256Schema as h, StableChannel as g, VersionWithChannels as _, addPrefixToRelative as v, blockPackIdNoVersionEquals as y, blockPackIdToString as b, mapRemoteToAbsolute as
|
|
9
|
-
import { extractConfigGeneric as
|
|
10
|
-
import { gunzip as
|
|
11
|
-
import { createHash as
|
|
12
|
-
import { util as
|
|
13
|
-
import { createRequire as
|
|
14
|
-
import { z as
|
|
15
|
-
import { ConsoleLoggerAdapter as
|
|
16
|
-
import { fileURLToPath as
|
|
17
|
-
import { promisify as
|
|
18
|
-
import
|
|
19
|
-
import { LRUCache as
|
|
20
|
-
import
|
|
21
|
-
import { S3 as
|
|
22
|
-
import { request as
|
|
23
|
-
import { defaultHttpDispatcher as
|
|
24
|
-
import
|
|
25
|
-
import * as
|
|
26
|
-
|
|
27
|
-
var
|
|
7
|
+
import { AnyChannel as s, BlockPackDescriptionFromPackageJsonRaw as c, BlockPackDescriptionManifest as l, BlockPackId as u, BlockPackIdNoVersion as d, BlockPackManifest as f, BlockPackManifestFile as p, SemVer as m, Sha256Schema as h, StableChannel as g, VersionWithChannels as _, addPrefixToRelative as v, blockPackIdNoVersionEquals as y, blockPackIdToString as b, mapRemoteToAbsolute as x } from "@milaboratories/pl-model-middle-layer";
|
|
8
|
+
import { extractConfigGeneric as ee, formatKindRef as te, parseKindRef as S } from "@milaboratories/pl-model-common";
|
|
9
|
+
import { gunzip as ne, gunzipSync as re, gzip as ie } from "node:zlib";
|
|
10
|
+
import { createHash as ae, randomUUID as oe } from "node:crypto";
|
|
11
|
+
import { util as se } from "@platforma-sdk/package-builder-lib";
|
|
12
|
+
import { createRequire as ce } from "node:module";
|
|
13
|
+
import { z as C } from "zod";
|
|
14
|
+
import { ConsoleLoggerAdapter as le, Retry2TimesWithDelay as w, notEmpty as ue, retry as T } from "@milaboratories/ts-helpers";
|
|
15
|
+
import { fileURLToPath as de } from "node:url";
|
|
16
|
+
import { promisify as fe } from "node:util";
|
|
17
|
+
import pe from "canonicalize";
|
|
18
|
+
import { LRUCache as me } from "lru-cache";
|
|
19
|
+
import E from "node:path/posix";
|
|
20
|
+
import { S3 as he, paginateListObjectsV2 as ge } from "@aws-sdk/client-s3";
|
|
21
|
+
import { request as _e } from "undici";
|
|
22
|
+
import { defaultHttpDispatcher as ve } from "@milaboratories/pl-http";
|
|
23
|
+
import ye from "yaml";
|
|
24
|
+
import * as be from "node:os";
|
|
25
|
+
// \0rolldown/runtime.js
|
|
26
|
+
var xe = Object.create, D = Object.defineProperty, Se = Object.getOwnPropertyDescriptor, Ce = Object.getOwnPropertyNames, we = Object.getPrototypeOf, Te = Object.prototype.hasOwnProperty, O = (e, t) => () => (t || (e((t = { exports: {} }).exports, t, t.exports), e = null), t.exports), Ee = (e, t) => {
|
|
28
27
|
let n = {};
|
|
29
|
-
for (var r in e)
|
|
28
|
+
for (var r in e) D(n, r, {
|
|
30
29
|
get: e[r],
|
|
31
30
|
enumerable: !0
|
|
32
31
|
});
|
|
33
|
-
return t ||
|
|
34
|
-
},
|
|
35
|
-
if (t && typeof t == "object" || typeof t == "function") for (var i =
|
|
32
|
+
return t || D(n, Symbol.toStringTag, { value: "Module" }), n;
|
|
33
|
+
}, De = (e, t, n, r) => {
|
|
34
|
+
if (t && typeof t == "object" || typeof t == "function") for (var i = Ce(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !Te.call(e, s) && s !== n && D(e, s, {
|
|
36
35
|
get: ((e) => t[e]).bind(null, s),
|
|
37
|
-
enumerable: !(r =
|
|
36
|
+
enumerable: !(r = Se(t, s)) || r.enumerable
|
|
38
37
|
});
|
|
39
38
|
return e;
|
|
40
|
-
},
|
|
39
|
+
}, Oe = (e, t, n) => (n = e == null ? {} : xe(we(e)), De(t || !e || !e.__esModule || !Te.call(e, "default") ? D(n, "default", {
|
|
41
40
|
value: e,
|
|
42
41
|
enumerable: !0
|
|
43
|
-
}) : n, e)),
|
|
42
|
+
}) : n, e)), ke = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
|
|
44
43
|
if (typeof require < "u") return require.apply(this, arguments);
|
|
45
44
|
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.");
|
|
46
45
|
});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
function je(e, t) {
|
|
46
|
+
// src/v2/model/content_conversion.ts
|
|
47
|
+
function Ae(e, t) {
|
|
50
48
|
let n = o(e, t);
|
|
51
49
|
if (n === void 0) throw Error(`Can't resolve ${t} against ${e}`);
|
|
52
50
|
return {
|
|
@@ -54,7 +52,7 @@ function je(e, t) {
|
|
|
54
52
|
file: n
|
|
55
53
|
};
|
|
56
54
|
}
|
|
57
|
-
function
|
|
55
|
+
function je(e, t, n) {
|
|
58
56
|
let r = t.endsWith("/") ? t : `${t}/`;
|
|
59
57
|
for (let t of n) {
|
|
60
58
|
let n = o(e, r + t);
|
|
@@ -68,16 +66,16 @@ function Me(e, t, n) {
|
|
|
68
66
|
}
|
|
69
67
|
throw Error(`Can't resolve ${t} folder against ${e}, no index file found (${n.join(", ")})`);
|
|
70
68
|
}
|
|
71
|
-
function
|
|
69
|
+
function Me(t) {
|
|
72
70
|
return (n) => n.type === "relative" ? {
|
|
73
71
|
type: "absolute-file",
|
|
74
72
|
file: e.resolve(t, n.path)
|
|
75
73
|
} : n;
|
|
76
74
|
}
|
|
77
|
-
function
|
|
75
|
+
function Ne() {
|
|
78
76
|
return async (e) => e.type === "absolute-file" ? await r.readFile(e.file, { encoding: "utf-8" }) : e.content;
|
|
79
77
|
}
|
|
80
|
-
function
|
|
78
|
+
function Pe() {
|
|
81
79
|
return async (e) => {
|
|
82
80
|
if (e.type === "absolute-file") {
|
|
83
81
|
let t = i.lookup(e.file);
|
|
@@ -87,10 +85,11 @@ function Fe() {
|
|
|
87
85
|
mimeType: t,
|
|
88
86
|
content: await r.readFile(e.file, { encoding: "base64" })
|
|
89
87
|
};
|
|
90
|
-
}
|
|
88
|
+
}
|
|
89
|
+
return e;
|
|
91
90
|
};
|
|
92
91
|
}
|
|
93
|
-
function
|
|
92
|
+
function Fe() {
|
|
94
93
|
return async (e) => {
|
|
95
94
|
if (e.type === "absolute-file") {
|
|
96
95
|
let t = i.lookup(e.file);
|
|
@@ -100,15 +99,15 @@ function Ie() {
|
|
|
100
99
|
mimeType: t,
|
|
101
100
|
content: Buffer.from(await r.readFile(e.file))
|
|
102
101
|
};
|
|
103
|
-
}
|
|
102
|
+
}
|
|
103
|
+
return e.type === "explicit-base64" ? {
|
|
104
104
|
type: "explicit-bytes",
|
|
105
105
|
mimeType: e.mimeType,
|
|
106
106
|
content: Buffer.from(e.content, "base64")
|
|
107
|
-
};
|
|
108
|
-
else return e;
|
|
107
|
+
} : e;
|
|
109
108
|
};
|
|
110
109
|
}
|
|
111
|
-
function
|
|
110
|
+
function Ie(t, n) {
|
|
112
111
|
return async (i) => {
|
|
113
112
|
if (i.type === "absolute-file") {
|
|
114
113
|
let a = e.basename(i.file), o = e.resolve(t, a);
|
|
@@ -116,10 +115,11 @@ function Le(t, n) {
|
|
|
116
115
|
type: "relative",
|
|
117
116
|
path: a
|
|
118
117
|
};
|
|
119
|
-
}
|
|
118
|
+
}
|
|
119
|
+
return i;
|
|
120
120
|
};
|
|
121
121
|
}
|
|
122
|
-
function
|
|
122
|
+
function Le(t, n, r) {
|
|
123
123
|
if (!n.endsWith(".tgz")) throw Error(`Unexpected tgz file name: ${n}`);
|
|
124
124
|
return async (i) => {
|
|
125
125
|
let o = e.resolve(t, n);
|
|
@@ -133,16 +133,16 @@ function Re(t, n, r) {
|
|
|
133
133
|
};
|
|
134
134
|
};
|
|
135
135
|
}
|
|
136
|
-
function
|
|
136
|
+
function Re(e) {
|
|
137
137
|
return async (t) => t.type === "explicit-string" ? t : {
|
|
138
138
|
type: "explicit-string",
|
|
139
139
|
content: (await e(t.path)).toString("utf8")
|
|
140
140
|
};
|
|
141
141
|
}
|
|
142
|
-
function
|
|
142
|
+
function ze(e) {
|
|
143
143
|
return async (t) => t.type === "explicit-string" ? t.content : (await e(t.path)).toString("utf8");
|
|
144
144
|
}
|
|
145
|
-
function
|
|
145
|
+
function Be(e) {
|
|
146
146
|
return async (t) => {
|
|
147
147
|
if (t.type === "explicit-base64") return t;
|
|
148
148
|
let n = i.lookup(t.path);
|
|
@@ -154,7 +154,7 @@ function Ve(e) {
|
|
|
154
154
|
};
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
|
-
function
|
|
157
|
+
function Ve(e) {
|
|
158
158
|
return async (t) => {
|
|
159
159
|
if (t.type === "explicit-base64") return {
|
|
160
160
|
type: "explicit-bytes",
|
|
@@ -170,9 +170,8 @@ function He(e) {
|
|
|
170
170
|
};
|
|
171
171
|
};
|
|
172
172
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
async function O(e, t, n) {
|
|
173
|
+
// src/v2/model/block_meta.ts
|
|
174
|
+
async function k(e, t, n) {
|
|
176
175
|
let { organization: r } = e, { logo: i, ...a } = r;
|
|
177
176
|
return {
|
|
178
177
|
...e,
|
|
@@ -185,40 +184,39 @@ async function O(e, t, n) {
|
|
|
185
184
|
...e.logo === void 0 ? {} : { logo: await n(e.logo) }
|
|
186
185
|
};
|
|
187
186
|
}
|
|
187
|
+
async function He(e, t) {
|
|
188
|
+
let n = Me(t);
|
|
189
|
+
return k(e, async (e) => n(e), async (e) => n(e));
|
|
190
|
+
}
|
|
188
191
|
async function Ue(e, t) {
|
|
189
|
-
let n =
|
|
190
|
-
return
|
|
192
|
+
let n = Me(t);
|
|
193
|
+
return k(e, async (e) => n(e), async (e) => n(e));
|
|
191
194
|
}
|
|
192
|
-
async function We(e, t) {
|
|
193
|
-
let
|
|
194
|
-
return
|
|
195
|
+
async function We(e, t, n) {
|
|
196
|
+
let r = Ie(t, n);
|
|
197
|
+
return k(e, async (e) => r(e), async (e) => r(e));
|
|
195
198
|
}
|
|
196
|
-
async function Ge(e
|
|
197
|
-
|
|
198
|
-
return O(e, async (e) => r(e), async (e) => r(e));
|
|
199
|
+
async function Ge(e) {
|
|
200
|
+
return k(e, Ne(), Pe());
|
|
199
201
|
}
|
|
200
202
|
async function Ke(e) {
|
|
201
|
-
return
|
|
203
|
+
return k(e, Ne(), Fe());
|
|
202
204
|
}
|
|
203
|
-
async function qe(e) {
|
|
204
|
-
return
|
|
205
|
+
async function qe(e, t) {
|
|
206
|
+
return k(e, ze(t), Ve(t));
|
|
205
207
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
209
|
-
//#endregion
|
|
210
|
-
//#region src/v2/model/block_components.ts
|
|
211
|
-
function Ye(e, t) {
|
|
208
|
+
// src/v2/model/block_components.ts
|
|
209
|
+
function Je(e, t) {
|
|
212
210
|
return {
|
|
213
211
|
workflow: {
|
|
214
212
|
type: "workflow-v1",
|
|
215
|
-
main:
|
|
213
|
+
main: Ae(t, e.workflow.main)
|
|
216
214
|
},
|
|
217
|
-
model:
|
|
218
|
-
ui:
|
|
215
|
+
model: Ae(t, e.model),
|
|
216
|
+
ui: je(t, e.ui, ["index.html"])
|
|
219
217
|
};
|
|
220
218
|
}
|
|
221
|
-
function
|
|
219
|
+
function Ye(t, n) {
|
|
222
220
|
let r = (t) => ({
|
|
223
221
|
type: "absolute-file",
|
|
224
222
|
file: e.resolve(n, t.path)
|
|
@@ -235,8 +233,8 @@ function Xe(t, n) {
|
|
|
235
233
|
}
|
|
236
234
|
};
|
|
237
235
|
}
|
|
238
|
-
async function
|
|
239
|
-
let r =
|
|
236
|
+
async function Xe(e, t, n) {
|
|
237
|
+
let r = Ie(t, n), i = Le(t, "ui.tgz", n);
|
|
240
238
|
return {
|
|
241
239
|
workflow: {
|
|
242
240
|
type: "workflow-v1",
|
|
@@ -246,8 +244,8 @@ async function Ze(e, t, n) {
|
|
|
246
244
|
ui: await i(e.ui)
|
|
247
245
|
};
|
|
248
246
|
}
|
|
249
|
-
function
|
|
250
|
-
let n =
|
|
247
|
+
function Ze(e, t) {
|
|
248
|
+
let n = x(t);
|
|
251
249
|
return {
|
|
252
250
|
workflow: {
|
|
253
251
|
type: "workflow-v1",
|
|
@@ -257,10 +255,9 @@ function Qe(e, t) {
|
|
|
257
255
|
ui: n(e.ui)
|
|
258
256
|
};
|
|
259
257
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
let n = Ye(e.components, t), i = await Ue(e.meta, t), a = JSON.parse(await r.readFile(n.model.file, "utf-8")), o = te(a);
|
|
258
|
+
// src/v2/model/block_description.ts
|
|
259
|
+
async function Qe(e, t) {
|
|
260
|
+
let n = Je(e.components, t), i = await He(e.meta, t), a = JSON.parse(await r.readFile(n.model.file, "utf-8")), o = ee(a);
|
|
264
261
|
return {
|
|
265
262
|
...e,
|
|
266
263
|
components: n,
|
|
@@ -269,24 +266,24 @@ async function $e(e, t) {
|
|
|
269
266
|
...a.kind === void 0 ? {} : { kind: a.kind }
|
|
270
267
|
};
|
|
271
268
|
}
|
|
272
|
-
async function
|
|
273
|
-
let r = await
|
|
269
|
+
async function $e(e, t, n) {
|
|
270
|
+
let r = await Xe(e.components, t, n), i = await We(e.meta, t, n);
|
|
274
271
|
return {
|
|
275
272
|
...e,
|
|
276
273
|
components: r,
|
|
277
274
|
meta: i
|
|
278
275
|
};
|
|
279
276
|
}
|
|
280
|
-
function
|
|
277
|
+
function et(e, t, n) {
|
|
281
278
|
return {
|
|
282
279
|
...e,
|
|
283
280
|
components: t(e.components),
|
|
284
281
|
meta: n(e.meta)
|
|
285
282
|
};
|
|
286
283
|
}
|
|
287
|
-
function
|
|
284
|
+
function tt(e, t) {
|
|
288
285
|
let n = v(t);
|
|
289
|
-
return
|
|
286
|
+
return et(e, (e) => ({
|
|
290
287
|
workflow: {
|
|
291
288
|
type: "workflow-v1",
|
|
292
289
|
main: n(e.workflow.main)
|
|
@@ -307,8 +304,7 @@ function k(e, t) {
|
|
|
307
304
|
};
|
|
308
305
|
});
|
|
309
306
|
}
|
|
310
|
-
|
|
311
|
-
//#region src/util.ts
|
|
307
|
+
// src/util.ts
|
|
312
308
|
async function nt(e, t) {
|
|
313
309
|
try {
|
|
314
310
|
return t(await r.readFile(e));
|
|
@@ -318,20 +314,19 @@ async function nt(e, t) {
|
|
|
318
314
|
}
|
|
319
315
|
}
|
|
320
316
|
function A(e) {
|
|
321
|
-
return Promise.resolve(
|
|
317
|
+
return Promise.resolve(ae("sha256").update(ArrayBuffer.isView(e) ? e : Buffer.from(e)).digest("hex").toUpperCase());
|
|
322
318
|
}
|
|
323
|
-
|
|
324
|
-
//#region src/v2/build_dist.ts
|
|
319
|
+
// src/v2/build_dist.ts
|
|
325
320
|
async function rt(t, n) {
|
|
326
321
|
let i = t.components.workflow.main, a = await r.readFile(e.resolve(n, i.path)), o;
|
|
327
322
|
try {
|
|
328
|
-
let e =
|
|
323
|
+
let e = re(a).toString("utf-8");
|
|
329
324
|
o = JSON.parse(e);
|
|
330
325
|
} catch {
|
|
331
326
|
return;
|
|
332
327
|
}
|
|
333
328
|
let s = o;
|
|
334
|
-
if (
|
|
329
|
+
if (s.type === "pl.tengo-template.v3" && s.template) return s.template.requiredCapabilities;
|
|
335
330
|
}
|
|
336
331
|
async function it(t, n) {
|
|
337
332
|
let i = t.components.model;
|
|
@@ -343,7 +338,7 @@ async function it(t, n) {
|
|
|
343
338
|
}
|
|
344
339
|
async function at(t, n) {
|
|
345
340
|
await r.mkdir(n, { recursive: !0 });
|
|
346
|
-
let i = [], a = await
|
|
341
|
+
let i = [], a = await $e(t, n, i), o = await rt(a, n);
|
|
347
342
|
o && o.length > 0 && (a.meta = {
|
|
348
343
|
...a.meta,
|
|
349
344
|
requiredCapabilities: o
|
|
@@ -365,8 +360,7 @@ async function at(t, n) {
|
|
|
365
360
|
});
|
|
366
361
|
return await r.writeFile(e.resolve(n, p), JSON.stringify(l)), l;
|
|
367
362
|
}
|
|
368
|
-
|
|
369
|
-
//#region src/v2/build_kind_dist.ts
|
|
363
|
+
// src/v2/build_kind_dist.ts
|
|
370
364
|
var ot = "manifest.json";
|
|
371
365
|
async function st(t) {
|
|
372
366
|
let n = e.resolve(t, "package.json"), i;
|
|
@@ -383,7 +377,7 @@ async function st(t) {
|
|
|
383
377
|
};
|
|
384
378
|
}
|
|
385
379
|
async function ct(t = {}) {
|
|
386
|
-
let n = e.resolve(t.modulePath ?? "."), i = e.resolve(n, t.srcDir ?? "src"), a = e.resolve(n, t.dst ?? "dist"), o = t.entryFileName ?? "kind.js", { name: s, version: c } = await st(n), l =
|
|
380
|
+
let n = e.resolve(t.modulePath ?? "."), i = e.resolve(n, t.srcDir ?? "src"), a = e.resolve(n, t.dst ?? "dist"), o = t.entryFileName ?? "kind.js", { name: s, version: c } = await st(n), l = se.hashDirSync(i).digest("hex").toUpperCase(), u = [o, "kind.d.ts"], d = [];
|
|
387
381
|
for (let t of u) {
|
|
388
382
|
let n = e.resolve(a, t), i;
|
|
389
383
|
try {
|
|
@@ -409,11 +403,10 @@ async function ct(t = {}) {
|
|
|
409
403
|
};
|
|
410
404
|
return await r.writeFile(e.resolve(a, ot), JSON.stringify(f)), f;
|
|
411
405
|
}
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
let t = e.match(lt);
|
|
406
|
+
// src/v2/source_package.ts
|
|
407
|
+
var lt = "block", ut = /(?:@[a-zA-Z0-9-.]+\/)?(?<organization>[a-zA-Z0-9-]+)\.(?<name>[a-zA-Z0-9-]+)/;
|
|
408
|
+
function j(e) {
|
|
409
|
+
let t = e.match(ut);
|
|
417
410
|
if (!t) throw Error(`Malformed package name (${e}), can't infer organization and block pack name.`);
|
|
418
411
|
let { name: n, organization: r } = t.groups;
|
|
419
412
|
return {
|
|
@@ -426,11 +419,11 @@ async function dt(t, n) {
|
|
|
426
419
|
try {
|
|
427
420
|
let e = await nt(r, (e) => JSON.parse(e.toString("utf-8")));
|
|
428
421
|
if (e === void 0) return;
|
|
429
|
-
let n = e[
|
|
430
|
-
return n === void 0 ? void 0 : await
|
|
422
|
+
let n = e[lt];
|
|
423
|
+
return n === void 0 ? void 0 : await Qe({
|
|
431
424
|
...c.parse(n),
|
|
432
425
|
id: {
|
|
433
|
-
...
|
|
426
|
+
...j(ue(e.name, `"name" not found in ${r}`)),
|
|
434
427
|
version: m.parse(e.version)
|
|
435
428
|
}
|
|
436
429
|
}, t);
|
|
@@ -440,96 +433,95 @@ async function dt(t, n) {
|
|
|
440
433
|
}
|
|
441
434
|
}
|
|
442
435
|
async function ft(t) {
|
|
443
|
-
let n = e.resolve(t, "package.json"), i = JSON.parse(await r.readFile(n, { encoding: "utf-8" })), a = i[
|
|
444
|
-
if (a === void 0) throw Error(`Block description (field ${
|
|
436
|
+
let n = e.resolve(t, "package.json"), i = JSON.parse(await r.readFile(n, { encoding: "utf-8" })), a = i[lt];
|
|
437
|
+
if (a === void 0) throw Error(`Block description (field ${lt}) not found in ${n}.`);
|
|
445
438
|
return {
|
|
446
439
|
...c.parse(a),
|
|
447
440
|
id: {
|
|
448
|
-
...
|
|
441
|
+
...j(ue(i.name, `"name" not found in ${n}`)),
|
|
449
442
|
version: m.parse(i.version)
|
|
450
443
|
},
|
|
451
444
|
featureFlags: {}
|
|
452
445
|
};
|
|
453
446
|
}
|
|
454
447
|
async function pt(e) {
|
|
455
|
-
return await
|
|
448
|
+
return await Qe(await ft(e), e);
|
|
456
449
|
}
|
|
457
450
|
var mt = "block-pack";
|
|
458
451
|
async function ht(t) {
|
|
459
|
-
let n = e.resolve(t, p), i = JSON.parse(await r.readFile(n, { encoding: "utf-8" })), a = f.parse(i), o =
|
|
452
|
+
let n = e.resolve(t, p), i = JSON.parse(await r.readFile(n, { encoding: "utf-8" })), a = f.parse(i), o = Ye(a.description.components, t), s = await Ue(a.description.meta, t);
|
|
460
453
|
return {
|
|
461
454
|
...a.description,
|
|
462
455
|
components: o,
|
|
463
456
|
meta: s
|
|
464
457
|
};
|
|
465
458
|
}
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
let { org: n, name: r } = N(e);
|
|
459
|
+
// src/v2/registry/schema_kinds.ts
|
|
460
|
+
var M = "kinds/", N = "overview.json", gt = "manifest.json";
|
|
461
|
+
function _t(e, t) {
|
|
462
|
+
let { org: n, name: r } = P(e);
|
|
471
463
|
return `${M}${n}/${r}/${t}`;
|
|
472
464
|
}
|
|
473
|
-
function
|
|
474
|
-
return `${M}${e.org}/${e.name}/${
|
|
465
|
+
function vt(e) {
|
|
466
|
+
return `${M}${e.org}/${e.name}/${N}`;
|
|
475
467
|
}
|
|
476
|
-
var
|
|
477
|
-
function
|
|
478
|
-
let { organization: t, name: n } =
|
|
468
|
+
var yt = RegExp(`^(?<org>[^/]+)/(?<name>[^/]+)/${N.replace(".", "\\.")}$`);
|
|
469
|
+
function P(e) {
|
|
470
|
+
let { organization: t, name: n } = j(e);
|
|
479
471
|
return {
|
|
480
472
|
org: t,
|
|
481
473
|
name: n
|
|
482
474
|
};
|
|
483
475
|
}
|
|
484
|
-
var
|
|
485
|
-
name:
|
|
476
|
+
var bt = C.object({
|
|
477
|
+
name: C.string(),
|
|
486
478
|
version: m
|
|
487
|
-
}).passthrough(),
|
|
488
|
-
name:
|
|
489
|
-
size:
|
|
479
|
+
}).passthrough(), xt = C.object({
|
|
480
|
+
name: C.string(),
|
|
481
|
+
size: C.number(),
|
|
490
482
|
sha256: h
|
|
491
|
-
}).passthrough(),
|
|
492
|
-
schema:
|
|
493
|
-
kind:
|
|
494
|
-
sourceHash:
|
|
495
|
-
files:
|
|
496
|
-
timestamp:
|
|
497
|
-
firstUploadTimestamp:
|
|
498
|
-
}).passthrough(),
|
|
483
|
+
}).passthrough(), F = C.object({
|
|
484
|
+
schema: C.literal("v1"),
|
|
485
|
+
kind: bt,
|
|
486
|
+
sourceHash: C.string(),
|
|
487
|
+
files: C.array(xt),
|
|
488
|
+
timestamp: C.number().optional(),
|
|
489
|
+
firstUploadTimestamp: C.number().optional()
|
|
490
|
+
}).passthrough(), St = C.object({
|
|
499
491
|
id: u,
|
|
500
492
|
kindVersion: m,
|
|
501
|
-
channels:
|
|
502
|
-
}).passthrough(),
|
|
493
|
+
channels: C.array(C.string()).default(() => [])
|
|
494
|
+
}).passthrough(), Ct = C.object({
|
|
503
495
|
kindVersion: m,
|
|
504
|
-
latestByChannel:
|
|
505
|
-
}).passthrough(),
|
|
506
|
-
schema:
|
|
507
|
-
implementers:
|
|
508
|
-
kindVersions:
|
|
509
|
-
}).passthrough(),
|
|
510
|
-
function
|
|
496
|
+
latestByChannel: C.record(C.string(), u)
|
|
497
|
+
}).passthrough(), wt = C.object({
|
|
498
|
+
schema: C.literal("v1"),
|
|
499
|
+
implementers: C.array(St),
|
|
500
|
+
kindVersions: C.array(Ct)
|
|
501
|
+
}).passthrough(), Tt = ".kind";
|
|
502
|
+
function Et(e) {
|
|
511
503
|
return e.description.kind;
|
|
512
504
|
}
|
|
513
|
-
function
|
|
514
|
-
let r = e.join(
|
|
505
|
+
function Dt(n) {
|
|
506
|
+
let r = e.join(n, "package.json"), i = JSON.parse(t.readFileSync(r, "utf-8")), a = {
|
|
515
507
|
...i.devDependencies,
|
|
516
508
|
...i.dependencies
|
|
517
|
-
}, o = Object.entries(a).find(([e]) => e.endsWith(
|
|
509
|
+
}, o = Object.entries(a).find(([e]) => e.endsWith(Tt));
|
|
518
510
|
if (o) return {
|
|
519
511
|
npmName: o[0],
|
|
520
512
|
range: o[1]
|
|
521
513
|
};
|
|
522
514
|
}
|
|
523
|
-
async function
|
|
524
|
-
let i =
|
|
515
|
+
async function Ot(t, n) {
|
|
516
|
+
let i = kt(t, n), a = e.join(i, "dist"), o;
|
|
525
517
|
try {
|
|
526
518
|
o = await r.readFile(e.join(a, "manifest.json"), "utf-8");
|
|
527
519
|
} catch {
|
|
528
520
|
throw Error(`Kind package "${n}" resolved to ${i} but has no dist/manifest.json. Build the kind (ts-builder build --target block-kind && block-tools build-kind-manifest) before publishing.`);
|
|
529
521
|
}
|
|
530
|
-
let s =
|
|
522
|
+
let s = F.parse(JSON.parse(o));
|
|
531
523
|
return {
|
|
532
|
-
ref:
|
|
524
|
+
ref: te({
|
|
533
525
|
name: s.kind.name,
|
|
534
526
|
version: s.kind.version
|
|
535
527
|
}),
|
|
@@ -537,64 +529,61 @@ async function kt(t, n) {
|
|
|
537
529
|
fileReader: async (t) => Buffer.from(await r.readFile(e.resolve(a, t)))
|
|
538
530
|
};
|
|
539
531
|
}
|
|
540
|
-
function
|
|
541
|
-
let i =
|
|
532
|
+
function kt(n, r) {
|
|
533
|
+
let i = ce(e.join(n, "package.json"));
|
|
542
534
|
try {
|
|
543
535
|
return e.dirname(i.resolve(`${r}/package.json`));
|
|
544
536
|
} catch {
|
|
545
537
|
try {
|
|
546
|
-
let
|
|
538
|
+
let n = e.dirname(i.resolve(r));
|
|
547
539
|
for (let r = 0; r < 6; r++) {
|
|
548
|
-
if (
|
|
549
|
-
let r = e.dirname(
|
|
550
|
-
if (r ===
|
|
551
|
-
|
|
540
|
+
if (t.existsSync(e.join(n, "package.json"))) return n;
|
|
541
|
+
let r = e.dirname(n);
|
|
542
|
+
if (r === n) break;
|
|
543
|
+
n = r;
|
|
552
544
|
}
|
|
553
545
|
} catch {}
|
|
554
|
-
throw Error(`Cannot resolve kind package "${r}" from ${
|
|
546
|
+
throw Error(`Cannot resolve kind package "${r}" from ${n}. Ensure it is installed as a dependency of the facade.`);
|
|
555
547
|
}
|
|
556
548
|
}
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
var jt = class extends Error {
|
|
549
|
+
// src/v2/kind/version-match.ts
|
|
550
|
+
var At = class extends Error {
|
|
560
551
|
constructor(e) {
|
|
561
552
|
super(e), this.name = "KindVersionMismatchError";
|
|
562
553
|
}
|
|
563
554
|
};
|
|
564
|
-
function
|
|
565
|
-
let n =
|
|
566
|
-
if (n.version !== r.version) throw new
|
|
567
|
-
let i =
|
|
568
|
-
if (i.org !== a.org || i.name !== a.name) throw new
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
let i = Dt(t);
|
|
555
|
+
function jt(e, t) {
|
|
556
|
+
let n = S(e), r = S(t);
|
|
557
|
+
if (n.version !== r.version) throw new At(`Kind version mismatch: model compiled against ${e}, facade declares ${t}. Rebuild the model against the declared kind.`);
|
|
558
|
+
let i = P(n.name), a = P(r.name);
|
|
559
|
+
if (i.org !== a.org || i.name !== a.name) throw new At(`Kind name mismatch: model compiled against ${e}, facade declares ${t}.`);
|
|
560
|
+
}
|
|
561
|
+
// src/v2/publish-block.ts
|
|
562
|
+
async function Mt(e, t, n, r) {
|
|
563
|
+
let i = Et(t);
|
|
574
564
|
if (i !== void 0) {
|
|
575
|
-
let t =
|
|
565
|
+
let t = Dt(n);
|
|
576
566
|
if (t === void 0) throw Error(`Model was compiled against kind ${i}, but the facade declares no kind dependency in its package.json.`);
|
|
577
|
-
let r = await
|
|
578
|
-
|
|
567
|
+
let r = await Ot(n, t.npmName);
|
|
568
|
+
jt(i, r.ref), await e.publishKind(r.manifest, r.fileReader);
|
|
579
569
|
}
|
|
580
570
|
await e.publishPackage(t, r);
|
|
581
571
|
}
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
function Pt(e) {
|
|
572
|
+
// src/v2/resolve_to_registry.ts
|
|
573
|
+
var I = "published.json";
|
|
574
|
+
function Nt(e) {
|
|
586
575
|
return {
|
|
587
576
|
registryUrl: e.registryUrl,
|
|
588
577
|
id: e.id
|
|
589
578
|
};
|
|
590
579
|
}
|
|
591
|
-
async function
|
|
592
|
-
let i = e.resolve(t,
|
|
580
|
+
async function Pt(t, n) {
|
|
581
|
+
let i = e.resolve(t, I);
|
|
593
582
|
await r.writeFile(i, JSON.stringify(n, null, 2), { encoding: "utf-8" });
|
|
594
583
|
}
|
|
595
|
-
async function
|
|
596
|
-
let i =
|
|
597
|
-
if (!
|
|
584
|
+
async function Ft(n) {
|
|
585
|
+
let i = n.type === "from-pack-v2" ? e.resolve(de(n.packUrl), I) : e.resolve(n.folder, "block-pack", I);
|
|
586
|
+
if (!t.existsSync(i)) throw Error(`Block has no ${I} at ${i} — was the block published? Run block-tools publish before consuming via registry.`);
|
|
598
587
|
let a = JSON.parse(await r.readFile(i, { encoding: "utf-8" }));
|
|
599
588
|
return {
|
|
600
589
|
type: "from-registry-v2",
|
|
@@ -602,15 +591,14 @@ async function It(t) {
|
|
|
602
591
|
id: a.id
|
|
603
592
|
};
|
|
604
593
|
}
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
var I = /* @__PURE__ */ D(((e, t) => {
|
|
608
|
-
var n = "2.0.0", r = 256;
|
|
594
|
+
// ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js
|
|
595
|
+
var L = /* @__PURE__ */ O(((e, t) => {
|
|
609
596
|
t.exports = {
|
|
610
|
-
MAX_LENGTH:
|
|
597
|
+
MAX_LENGTH: 256,
|
|
611
598
|
MAX_SAFE_COMPONENT_LENGTH: 16,
|
|
612
|
-
MAX_SAFE_BUILD_LENGTH:
|
|
613
|
-
MAX_SAFE_INTEGER: 2 ** 53 - 1 ||
|
|
599
|
+
MAX_SAFE_BUILD_LENGTH: 250,
|
|
600
|
+
MAX_SAFE_INTEGER: 2 ** 53 - 1 ||
|
|
601
|
+
/* istanbul ignore next */ 9007199254740991,
|
|
614
602
|
RELEASE_TYPES: [
|
|
615
603
|
"major",
|
|
616
604
|
"premajor",
|
|
@@ -620,14 +608,14 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
620
608
|
"prepatch",
|
|
621
609
|
"prerelease"
|
|
622
610
|
],
|
|
623
|
-
SEMVER_SPEC_VERSION:
|
|
611
|
+
SEMVER_SPEC_VERSION: "2.0.0",
|
|
624
612
|
FLAG_INCLUDE_PRERELEASE: 1,
|
|
625
613
|
FLAG_LOOSE: 2
|
|
626
614
|
};
|
|
627
|
-
})),
|
|
615
|
+
})), R = /* @__PURE__ */ O(((e, t) => {
|
|
628
616
|
t.exports = typeof process == "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...e) => console.error("SEMVER", ...e) : () => {};
|
|
629
|
-
})),
|
|
630
|
-
var { MAX_SAFE_COMPONENT_LENGTH: n, MAX_SAFE_BUILD_LENGTH: r, MAX_LENGTH: i } =
|
|
617
|
+
})), z = /* @__PURE__ */ O(((e, t) => {
|
|
618
|
+
var { MAX_SAFE_COMPONENT_LENGTH: n, MAX_SAFE_BUILD_LENGTH: r, MAX_LENGTH: i } = L(), a = R();
|
|
631
619
|
e = t.exports = {};
|
|
632
620
|
var o = e.re = [], s = e.safeRe = [], c = e.src = [], l = e.safeSrc = [], u = e.t = {}, d = 0, f = "[a-zA-Z0-9-]", p = [
|
|
633
621
|
["\\s", 1],
|
|
@@ -641,11 +629,12 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
641
629
|
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);
|
|
642
630
|
};
|
|
643
631
|
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*$");
|
|
644
|
-
})),
|
|
632
|
+
})), It = /* @__PURE__ */ O(((e, t) => {
|
|
645
633
|
var n = Object.freeze({ loose: !0 }), r = Object.freeze({});
|
|
646
634
|
t.exports = (e) => e ? typeof e == "object" ? e : n : r;
|
|
647
|
-
})),
|
|
635
|
+
})), Lt = /* @__PURE__ */ O(((e, t) => {
|
|
648
636
|
var n = /^[0-9]+$/, r = (e, t) => {
|
|
637
|
+
if (typeof e == "number" && typeof t == "number") return e === t ? 0 : e < t ? -1 : 1;
|
|
649
638
|
let r = n.test(e), i = n.test(t);
|
|
650
639
|
return r && i && (e = +e, t = +t), e === t ? 0 : r && !i ? -1 : i && !r ? 1 : e < t ? -1 : 1;
|
|
651
640
|
};
|
|
@@ -653,8 +642,13 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
653
642
|
compareIdentifiers: r,
|
|
654
643
|
rcompareIdentifiers: (e, t) => r(t, e)
|
|
655
644
|
};
|
|
656
|
-
})),
|
|
657
|
-
var n =
|
|
645
|
+
})), B = /* @__PURE__ */ O(((e, t) => {
|
|
646
|
+
var n = R(), { MAX_LENGTH: r, MAX_SAFE_INTEGER: i } = L(), { safeRe: a, t: o } = z(), s = It(), { compareIdentifiers: c } = Lt(), l = (e, t) => {
|
|
647
|
+
let n = t.split(".");
|
|
648
|
+
if (n.length > e.length) return !1;
|
|
649
|
+
for (let t = 0; t < n.length; t++) if (c(e[t], n[t]) !== 0) return !1;
|
|
650
|
+
return !0;
|
|
651
|
+
};
|
|
658
652
|
t.exports = class e {
|
|
659
653
|
constructor(t, c) {
|
|
660
654
|
if (c = s(c), t instanceof e) {
|
|
@@ -668,13 +662,13 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
668
662
|
if (this.raw = t, this.major = +l[1], this.minor = +l[2], this.patch = +l[3], this.major > i || this.major < 0) throw TypeError("Invalid major version");
|
|
669
663
|
if (this.minor > i || this.minor < 0) throw TypeError("Invalid minor version");
|
|
670
664
|
if (this.patch > i || this.patch < 0) throw TypeError("Invalid patch version");
|
|
671
|
-
l[4] ?
|
|
665
|
+
this.prerelease = l[4] ? l[4].split(".").map((e) => {
|
|
672
666
|
if (/^[0-9]+$/.test(e)) {
|
|
673
667
|
let t = +e;
|
|
674
668
|
if (t >= 0 && t < i) return t;
|
|
675
669
|
}
|
|
676
670
|
return e;
|
|
677
|
-
}) :
|
|
671
|
+
}) : [], this.build = l[5] ? l[5].split(".") : [], this.format();
|
|
678
672
|
}
|
|
679
673
|
format() {
|
|
680
674
|
return this.version = `${this.major}.${this.minor}.${this.patch}`, this.prerelease.length && (this.version += `-${this.prerelease.join(".")}`), this.version;
|
|
@@ -690,7 +684,7 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
690
684
|
return t.version === this.version ? 0 : this.compareMain(t) || this.comparePre(t);
|
|
691
685
|
}
|
|
692
686
|
compareMain(t) {
|
|
693
|
-
return t instanceof e || (t = new e(t, this.options)),
|
|
687
|
+
return t instanceof e || (t = new e(t, this.options)), this.major < t.major ? -1 : this.major > t.major ? 1 : this.minor < t.minor ? -1 : this.minor > t.minor ? 1 : this.patch < t.patch ? -1 : +(this.patch > t.patch);
|
|
694
688
|
}
|
|
695
689
|
comparePre(t) {
|
|
696
690
|
if (t instanceof e || (t = new e(t, this.options)), this.prerelease.length && !t.prerelease.length) return -1;
|
|
@@ -702,8 +696,7 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
702
696
|
if (n("prerelease compare", r, e, i), e === void 0 && i === void 0) return 0;
|
|
703
697
|
if (i === void 0) return 1;
|
|
704
698
|
if (e === void 0) return -1;
|
|
705
|
-
if (e
|
|
706
|
-
return c(e, i);
|
|
699
|
+
if (e !== i) return c(e, i);
|
|
707
700
|
} while (++r);
|
|
708
701
|
}
|
|
709
702
|
compareBuild(t) {
|
|
@@ -714,8 +707,7 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
714
707
|
if (n("build compare", r, e, i), e === void 0 && i === void 0) return 0;
|
|
715
708
|
if (i === void 0) return 1;
|
|
716
709
|
if (e === void 0) return -1;
|
|
717
|
-
if (e
|
|
718
|
-
return c(e, i);
|
|
710
|
+
if (e !== i) return c(e, i);
|
|
719
711
|
} while (++r);
|
|
720
712
|
}
|
|
721
713
|
inc(e, t, n) {
|
|
@@ -765,7 +757,10 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
765
757
|
}
|
|
766
758
|
if (t) {
|
|
767
759
|
let r = [t, e];
|
|
768
|
-
n === !1 && (r = [t]),
|
|
760
|
+
if (n === !1 && (r = [t]), l(this.prerelease, t)) {
|
|
761
|
+
let e = this.prerelease[t.split(".").length];
|
|
762
|
+
isNaN(e) && (this.prerelease = r);
|
|
763
|
+
} else this.prerelease = r;
|
|
769
764
|
}
|
|
770
765
|
break;
|
|
771
766
|
}
|
|
@@ -774,8 +769,8 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
774
769
|
return this.raw = this.format(), this.build.length && (this.raw += `+${this.build.join(".")}`), this;
|
|
775
770
|
}
|
|
776
771
|
};
|
|
777
|
-
})),
|
|
778
|
-
var n =
|
|
772
|
+
})), V = /* @__PURE__ */ O(((e, t) => {
|
|
773
|
+
var n = B();
|
|
779
774
|
t.exports = (e, t, r = !1) => {
|
|
780
775
|
if (e instanceof n) return e;
|
|
781
776
|
try {
|
|
@@ -785,20 +780,20 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
785
780
|
throw e;
|
|
786
781
|
}
|
|
787
782
|
};
|
|
788
|
-
})),
|
|
789
|
-
var n =
|
|
783
|
+
})), Rt = /* @__PURE__ */ O(((e, t) => {
|
|
784
|
+
var n = V();
|
|
790
785
|
t.exports = (e, t) => {
|
|
791
786
|
let r = n(e, t);
|
|
792
787
|
return r ? r.version : null;
|
|
793
788
|
};
|
|
794
|
-
})),
|
|
795
|
-
var n =
|
|
789
|
+
})), zt = /* @__PURE__ */ O(((e, t) => {
|
|
790
|
+
var n = V();
|
|
796
791
|
t.exports = (e, t) => {
|
|
797
792
|
let r = n(e.trim().replace(/^[=v]+/, ""), t);
|
|
798
793
|
return r ? r.version : null;
|
|
799
794
|
};
|
|
800
|
-
})),
|
|
801
|
-
var n =
|
|
795
|
+
})), Bt = /* @__PURE__ */ O(((e, t) => {
|
|
796
|
+
var n = B();
|
|
802
797
|
t.exports = (e, t, r, i, a) => {
|
|
803
798
|
typeof r == "string" && (a = i, i = r, r = void 0);
|
|
804
799
|
try {
|
|
@@ -807,8 +802,8 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
807
802
|
return null;
|
|
808
803
|
}
|
|
809
804
|
};
|
|
810
|
-
})),
|
|
811
|
-
var n =
|
|
805
|
+
})), Vt = /* @__PURE__ */ O(((e, t) => {
|
|
806
|
+
var n = V();
|
|
812
807
|
t.exports = (e, t) => {
|
|
813
808
|
let r = n(e, null, !0), i = n(t, null, !0), a = r.compare(i);
|
|
814
809
|
if (a === 0) return null;
|
|
@@ -820,62 +815,62 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
820
815
|
let u = l ? "pre" : "";
|
|
821
816
|
return r.major === i.major ? r.minor === i.minor ? r.patch === i.patch ? "prerelease" : u + "patch" : u + "minor" : u + "major";
|
|
822
817
|
};
|
|
823
|
-
})),
|
|
824
|
-
var n =
|
|
818
|
+
})), Ht = /* @__PURE__ */ O(((e, t) => {
|
|
819
|
+
var n = B();
|
|
825
820
|
t.exports = (e, t) => new n(e, t).major;
|
|
826
|
-
})),
|
|
827
|
-
var n =
|
|
821
|
+
})), Ut = /* @__PURE__ */ O(((e, t) => {
|
|
822
|
+
var n = B();
|
|
828
823
|
t.exports = (e, t) => new n(e, t).minor;
|
|
829
|
-
})),
|
|
830
|
-
var n = z();
|
|
831
|
-
t.exports = (e, t) => new n(e, t).patch;
|
|
832
|
-
})), Kt = /* @__PURE__ */ D(((e, t) => {
|
|
824
|
+
})), Wt = /* @__PURE__ */ O(((e, t) => {
|
|
833
825
|
var n = B();
|
|
826
|
+
t.exports = (e, t) => new n(e, t).patch;
|
|
827
|
+
})), Gt = /* @__PURE__ */ O(((e, t) => {
|
|
828
|
+
var n = V();
|
|
834
829
|
t.exports = (e, t) => {
|
|
835
830
|
let r = n(e, t);
|
|
836
831
|
return r && r.prerelease.length ? r.prerelease : null;
|
|
837
832
|
};
|
|
838
|
-
})),
|
|
839
|
-
var n =
|
|
833
|
+
})), H = /* @__PURE__ */ O(((e, t) => {
|
|
834
|
+
var n = B();
|
|
840
835
|
t.exports = (e, t, r) => new n(e, r).compare(new n(t, r));
|
|
841
|
-
})),
|
|
842
|
-
var n =
|
|
836
|
+
})), Kt = /* @__PURE__ */ O(((e, t) => {
|
|
837
|
+
var n = H();
|
|
843
838
|
t.exports = (e, t, r) => n(t, e, r);
|
|
844
|
-
})),
|
|
845
|
-
var n =
|
|
839
|
+
})), qt = /* @__PURE__ */ O(((e, t) => {
|
|
840
|
+
var n = H();
|
|
846
841
|
t.exports = (e, t) => n(e, t, !0);
|
|
847
|
-
})),
|
|
848
|
-
var n =
|
|
842
|
+
})), Jt = /* @__PURE__ */ O(((e, t) => {
|
|
843
|
+
var n = B();
|
|
849
844
|
t.exports = (e, t, r) => {
|
|
850
845
|
let i = new n(e, r), a = new n(t, r);
|
|
851
846
|
return i.compare(a) || i.compareBuild(a);
|
|
852
847
|
};
|
|
853
|
-
})),
|
|
854
|
-
var n =
|
|
848
|
+
})), Yt = /* @__PURE__ */ O(((e, t) => {
|
|
849
|
+
var n = Jt();
|
|
855
850
|
t.exports = (e, t) => e.sort((e, r) => n(e, r, t));
|
|
856
|
-
})),
|
|
857
|
-
var n =
|
|
851
|
+
})), Xt = /* @__PURE__ */ O(((e, t) => {
|
|
852
|
+
var n = Jt();
|
|
858
853
|
t.exports = (e, t) => e.sort((e, r) => n(r, e, t));
|
|
859
|
-
})),
|
|
860
|
-
var n =
|
|
854
|
+
})), U = /* @__PURE__ */ O(((e, t) => {
|
|
855
|
+
var n = H();
|
|
861
856
|
t.exports = (e, t, r) => n(e, t, r) > 0;
|
|
862
|
-
})),
|
|
863
|
-
var n =
|
|
857
|
+
})), Zt = /* @__PURE__ */ O(((e, t) => {
|
|
858
|
+
var n = H();
|
|
864
859
|
t.exports = (e, t, r) => n(e, t, r) < 0;
|
|
865
|
-
})),
|
|
866
|
-
var n =
|
|
860
|
+
})), Qt = /* @__PURE__ */ O(((e, t) => {
|
|
861
|
+
var n = H();
|
|
867
862
|
t.exports = (e, t, r) => n(e, t, r) === 0;
|
|
868
|
-
})),
|
|
869
|
-
var n =
|
|
863
|
+
})), $t = /* @__PURE__ */ O(((e, t) => {
|
|
864
|
+
var n = H();
|
|
870
865
|
t.exports = (e, t, r) => n(e, t, r) !== 0;
|
|
871
|
-
})),
|
|
872
|
-
var n =
|
|
866
|
+
})), en = /* @__PURE__ */ O(((e, t) => {
|
|
867
|
+
var n = H();
|
|
873
868
|
t.exports = (e, t, r) => n(e, t, r) >= 0;
|
|
874
|
-
})),
|
|
875
|
-
var n =
|
|
869
|
+
})), tn = /* @__PURE__ */ O(((e, t) => {
|
|
870
|
+
var n = H();
|
|
876
871
|
t.exports = (e, t, r) => n(e, t, r) <= 0;
|
|
877
|
-
})),
|
|
878
|
-
var n =
|
|
872
|
+
})), nn = /* @__PURE__ */ O(((e, t) => {
|
|
873
|
+
var n = Qt(), r = $t(), i = U(), a = en(), o = Zt(), s = tn();
|
|
879
874
|
t.exports = (e, t, c, l) => {
|
|
880
875
|
switch (t) {
|
|
881
876
|
case "===": return typeof e == "object" && (e = e.version), typeof c == "object" && (c = c.version), e === c;
|
|
@@ -891,8 +886,8 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
891
886
|
default: throw TypeError(`Invalid operator: ${t}`);
|
|
892
887
|
}
|
|
893
888
|
};
|
|
894
|
-
})),
|
|
895
|
-
var n =
|
|
889
|
+
})), rn = /* @__PURE__ */ O(((e, t) => {
|
|
890
|
+
var n = B(), r = V(), { safeRe: i, t: a } = z();
|
|
896
891
|
t.exports = (e, t) => {
|
|
897
892
|
if (e instanceof n) return e;
|
|
898
893
|
if (typeof e == "number" && (e = String(e)), typeof e != "string") return null;
|
|
@@ -901,14 +896,30 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
901
896
|
if (!t.rtl) o = e.match(t.includePrerelease ? i[a.COERCEFULL] : i[a.COERCE]);
|
|
902
897
|
else {
|
|
903
898
|
let n = t.includePrerelease ? i[a.COERCERTLFULL] : i[a.COERCERTL], r;
|
|
904
|
-
for (; (r = n.exec(e)) && (!o || o.index + o[0].length !== e.length);)
|
|
899
|
+
for (; (r = n.exec(e)) && (!o || o.index + o[0].length !== e.length);) o && r.index + r[0].length === o.index + o[0].length || (o = r), n.lastIndex = r.index + r[1].length + r[2].length;
|
|
905
900
|
n.lastIndex = -1;
|
|
906
901
|
}
|
|
907
902
|
if (o === null) return null;
|
|
908
903
|
let s = o[2];
|
|
909
904
|
return r(`${s}.${o[3] || "0"}.${o[4] || "0"}${t.includePrerelease && o[5] ? `-${o[5]}` : ""}${t.includePrerelease && o[6] ? `+${o[6]}` : ""}`, t);
|
|
910
905
|
};
|
|
911
|
-
})),
|
|
906
|
+
})), an = /* @__PURE__ */ O(((e, t) => {
|
|
907
|
+
var n = V(), r = L(), i = B(), a = (e, t, n) => {
|
|
908
|
+
if (!r.RELEASE_TYPES.includes(t)) return null;
|
|
909
|
+
let i = o(e, n);
|
|
910
|
+
return i && s(i, t);
|
|
911
|
+
}, o = (e, t) => n(e instanceof i ? e.version : e, t), s = (e, t) => {
|
|
912
|
+
if (c(t)) return e.version;
|
|
913
|
+
switch (e.prerelease = [], t) {
|
|
914
|
+
case "major":
|
|
915
|
+
e.minor = 0, e.patch = 0;
|
|
916
|
+
break;
|
|
917
|
+
case "minor": e.patch = 0;
|
|
918
|
+
}
|
|
919
|
+
return e.format();
|
|
920
|
+
}, c = (e) => e.startsWith("pre");
|
|
921
|
+
t.exports = a;
|
|
922
|
+
})), on = /* @__PURE__ */ O(((e, t) => {
|
|
912
923
|
t.exports = class {
|
|
913
924
|
constructor() {
|
|
914
925
|
this.max = 1e3, this.map = /* @__PURE__ */ new Map();
|
|
@@ -931,7 +942,7 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
931
942
|
return this;
|
|
932
943
|
}
|
|
933
944
|
};
|
|
934
|
-
})),
|
|
945
|
+
})), W = /* @__PURE__ */ O(((e, t) => {
|
|
935
946
|
var n = /\s+/g;
|
|
936
947
|
t.exports = class e {
|
|
937
948
|
constructor(t, r) {
|
|
@@ -940,9 +951,9 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
940
951
|
if (this.options = r, this.loose = !!r.loose, this.includePrerelease = !!r.includePrerelease, this.raw = t.trim().replace(n, " "), this.set = this.raw.split("||").map((e) => this.parseRange(e.trim())).filter((e) => e.length), !this.set.length) throw TypeError(`Invalid SemVer Range: ${this.raw}`);
|
|
941
952
|
if (this.set.length > 1) {
|
|
942
953
|
let e = this.set[0];
|
|
943
|
-
if (this.set = this.set.filter((e) => !
|
|
954
|
+
if (this.set = this.set.filter((e) => !_(e[0])), this.set.length === 0) this.set = [e];
|
|
944
955
|
else if (this.set.length > 1) {
|
|
945
|
-
for (let e of this.set) if (e.length === 1 &&
|
|
956
|
+
for (let e of this.set) if (e.length === 1 && v(e[0])) {
|
|
946
957
|
this.set = [e];
|
|
947
958
|
break;
|
|
948
959
|
}
|
|
@@ -968,24 +979,25 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
968
979
|
return this.range;
|
|
969
980
|
}
|
|
970
981
|
parseRange(e) {
|
|
971
|
-
|
|
982
|
+
e = e.replace(g, "");
|
|
983
|
+
let t = ((this.options.includePrerelease && m) | (this.options.loose && h)) + ":" + e, n = r.get(t);
|
|
972
984
|
if (n) return n;
|
|
973
|
-
let i = this.options.loose, s = i ? c[
|
|
974
|
-
e = e.replace(s,
|
|
975
|
-
let
|
|
976
|
-
i && (
|
|
977
|
-
let
|
|
985
|
+
let i = this.options.loose, s = i ? c[u.HYPHENRANGELOOSE] : c[u.HYPHENRANGE];
|
|
986
|
+
e = e.replace(s, ce(this.options.includePrerelease)), o("hyphen replace", e), e = e.replace(c[u.COMPARATORTRIM], d), o("comparator trim", e), e = e.replace(c[u.TILDETRIM], f), o("tilde trim", e), e = e.replace(c[u.CARETTRIM], p), o("caret trim", e);
|
|
987
|
+
let l = e.split(" ").map((e) => b(e, this.options)).join(" ").split(/\s+/).map((e) => se(e, this.options));
|
|
988
|
+
i && (l = l.filter((e) => (o("loose invalid filter", e, this.options), !!e.match(c[u.COMPARATORLOOSE])))), o("range list", l);
|
|
989
|
+
let v = /* @__PURE__ */ new Map(), y = l.map((e) => new a(e, this.options));
|
|
978
990
|
for (let e of y) {
|
|
979
|
-
if (
|
|
980
|
-
|
|
991
|
+
if (_(e)) return [e];
|
|
992
|
+
v.set(e.value, e);
|
|
981
993
|
}
|
|
982
|
-
|
|
983
|
-
let
|
|
984
|
-
return r.set(t,
|
|
994
|
+
v.size > 1 && v.has("") && v.delete("");
|
|
995
|
+
let x = [...v.values()];
|
|
996
|
+
return r.set(t, x), x;
|
|
985
997
|
}
|
|
986
998
|
intersects(t, n) {
|
|
987
999
|
if (!(t instanceof e)) throw TypeError("a Range is required");
|
|
988
|
-
return this.set.some((e) =>
|
|
1000
|
+
return this.set.some((e) => y(e, n) && t.set.some((t) => y(t, n) && e.every((e) => t.every((t) => e.intersects(t, n)))));
|
|
989
1001
|
}
|
|
990
1002
|
test(e) {
|
|
991
1003
|
if (!e) return !1;
|
|
@@ -994,38 +1006,38 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
994
1006
|
} catch {
|
|
995
1007
|
return !1;
|
|
996
1008
|
}
|
|
997
|
-
for (let t = 0; t < this.set.length; t++) if (
|
|
1009
|
+
for (let t = 0; t < this.set.length; t++) if (C(this.set[t], e, this.options)) return !0;
|
|
998
1010
|
return !1;
|
|
999
1011
|
}
|
|
1000
1012
|
};
|
|
1001
|
-
var r = new (on())(), i =
|
|
1013
|
+
var r = new (on())(), i = It(), a = G(), o = R(), s = B(), { safeRe: c, src: l, t: u, comparatorTrimReplace: d, tildeTrimReplace: f, caretTrimReplace: p } = z(), { FLAG_INCLUDE_PRERELEASE: m, FLAG_LOOSE: h } = L(), g = new RegExp(l[u.BUILD], "g"), _ = (e) => e.value === "<0.0.0-0", v = (e) => e.value === "", y = (e, t) => {
|
|
1002
1014
|
let n = !0, r = e.slice(), i = r.pop();
|
|
1003
1015
|
for (; n && r.length;) n = r.every((e) => i.intersects(e, t)), i = r.pop();
|
|
1004
1016
|
return n;
|
|
1005
|
-
},
|
|
1006
|
-
let n = t.loose ? c[
|
|
1007
|
-
return e.replace(n, (t, n,
|
|
1008
|
-
o("tilde", e, t, n,
|
|
1009
|
-
let
|
|
1010
|
-
return
|
|
1017
|
+
}, b = (e, t) => (e = e.replace(c[u.BUILD], ""), o("comp", e, t), e = ne(e, t), o("caret", e), e = te(e, t), o("tildes", e), e = ie(e, t), o("xrange", e), e = oe(e, t), o("stars", e), e), x = (e) => !e || e.toLowerCase() === "x" || e === "*", ee = (e, t, n) => x(e) && !x(t) || x(t) && n && !x(n), te = (e, t) => e.trim().split(/\s+/).map((e) => S(e, t)).join(" "), S = (e, t) => {
|
|
1018
|
+
let n = t.loose ? c[u.TILDELOOSE] : c[u.TILDE], r = t.includePrerelease ? "-0" : "";
|
|
1019
|
+
return e.replace(n, (t, n, i, a, s) => {
|
|
1020
|
+
o("tilde", e, t, n, i, a, s);
|
|
1021
|
+
let c;
|
|
1022
|
+
return x(n) ? c = "" : x(i) ? c = `>=${n}.0.0${r} <${+n + 1}.0.0-0` : x(a) ? c = `>=${n}.${i}.0${r} <${n}.${+i + 1}.0-0` : s ? (o("replaceTilde pr", s), c = `>=${n}.${i}.${a}-${s} <${n}.${+i + 1}.0-0`) : c = `>=${n}.${i}.${a} <${n}.${+i + 1}.0-0`, o("tilde return", c), c;
|
|
1011
1023
|
});
|
|
1012
|
-
},
|
|
1024
|
+
}, ne = (e, t) => e.trim().split(/\s+/).map((e) => re(e, t)).join(" "), re = (e, t) => {
|
|
1013
1025
|
o("caret", e, t);
|
|
1014
|
-
let n = t.loose ? c[
|
|
1026
|
+
let n = t.loose ? c[u.CARETLOOSE] : c[u.CARET], r = t.includePrerelease ? "-0" : "";
|
|
1015
1027
|
return e.replace(n, (t, n, i, a, s) => {
|
|
1016
1028
|
o("caret", e, t, n, i, a, s);
|
|
1017
1029
|
let c;
|
|
1018
|
-
return
|
|
1030
|
+
return x(n) ? c = "" : x(i) ? c = `>=${n}.0.0${r} <${+n + 1}.0.0-0` : x(a) ? c = n === "0" ? `>=${n}.${i}.0${r} <${n}.${+i + 1}.0-0` : `>=${n}.${i}.0${r} <${+n + 1}.0.0-0` : s ? (o("replaceCaret pr", s), c = n === "0" ? i === "0" ? `>=${n}.${i}.${a}-${s} <${n}.${i}.${+a + 1}-0` : `>=${n}.${i}.${a}-${s} <${n}.${+i + 1}.0-0` : `>=${n}.${i}.${a}-${s} <${+n + 1}.0.0-0`) : (o("no pr"), c = n === "0" ? i === "0" ? `>=${n}.${i}.${a} <${n}.${i}.${+a + 1}-0` : `>=${n}.${i}.${a} <${n}.${+i + 1}.0-0` : `>=${n}.${i}.${a} <${+n + 1}.0.0-0`), o("caret return", c), c;
|
|
1019
1031
|
});
|
|
1020
|
-
},
|
|
1032
|
+
}, ie = (e, t) => (o("replaceXRanges", e, t), e.split(/\s+/).map((e) => ae(e, t)).join(" ")), ae = (e, t) => {
|
|
1021
1033
|
e = e.trim();
|
|
1022
|
-
let n = t.loose ? c[
|
|
1034
|
+
let n = t.loose ? c[u.XRANGELOOSE] : c[u.XRANGE];
|
|
1023
1035
|
return e.replace(n, (n, r, i, a, s, c) => {
|
|
1024
|
-
o("xRange", e, n, r, i, a, s, c);
|
|
1025
|
-
let l =
|
|
1036
|
+
if (o("xRange", e, n, r, i, a, s, c), ee(i, a, s)) return e;
|
|
1037
|
+
let l = x(i), u = l || x(a), d = u || x(s), f = d;
|
|
1026
1038
|
return r === "=" && f && (r = ""), c = t.includePrerelease ? "-0" : "", l ? n = r === ">" || r === "<" ? "<0.0.0-0" : "*" : r && f ? (u && (a = 0), s = 0, r === ">" ? (r = ">=", u ? (i = +i + 1, a = 0, s = 0) : (a = +a + 1, s = 0)) : r === "<=" && (r = "<", u ? i = +i + 1 : a = +a + 1), r === "<" && (c = "-0"), n = `${r + i}.${a}.${s}${c}`) : u ? n = `>=${i}.0.0${c} <${+i + 1}.0.0-0` : d && (n = `>=${i}.${a}.0${c} <${i}.${+a + 1}.0-0`), o("xRange return", n), n;
|
|
1027
1039
|
});
|
|
1028
|
-
},
|
|
1040
|
+
}, oe = (e, t) => (o("replaceStars", e, t), e.trim().replace(c[u.STAR], "")), se = (e, t) => (o("replaceGTE0", e, t), e.trim().replace(c[t.includePrerelease ? u.GTE0PRE : u.GTE0], "")), ce = (e) => (t, n, r, i, a, o, s, c, l, u, d, f) => (n = x(r) ? "" : x(i) ? `>=${r}.0.0${e ? "-0" : ""}` : x(a) ? `>=${r}.${i}.0${e ? "-0" : ""}` : o ? `>=${n}` : `>=${n}${e ? "-0" : ""}`, c = x(l) ? "" : x(u) ? `<${+l + 1}.0.0-0` : x(d) ? `<${l}.${+u + 1}.0-0` : f ? `<=${l}.${u}.${d}-${f}` : e ? `<${l}.${u}.${+d + 1}-0` : `<=${c}`, `${n} ${c}`.trim()), C = (e, t, n) => {
|
|
1029
1041
|
for (let n = 0; n < e.length; n++) if (!e[n].test(t)) return !1;
|
|
1030
1042
|
if (t.prerelease.length && !n.includePrerelease) {
|
|
1031
1043
|
for (let n = 0; n < e.length; n++) if (o(e[n].semver), e[n].semver !== a.ANY && e[n].semver.prerelease.length > 0) {
|
|
@@ -1036,7 +1048,7 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1036
1048
|
}
|
|
1037
1049
|
return !0;
|
|
1038
1050
|
};
|
|
1039
|
-
})),
|
|
1051
|
+
})), G = /* @__PURE__ */ O(((e, t) => {
|
|
1040
1052
|
var n = Symbol("SemVer ANY");
|
|
1041
1053
|
t.exports = class e {
|
|
1042
1054
|
static get ANY() {
|
|
@@ -1047,12 +1059,12 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1047
1059
|
if (t.loose === !!i.loose) return t;
|
|
1048
1060
|
t = t.value;
|
|
1049
1061
|
}
|
|
1050
|
-
t = t.trim().split(/\s+/).join(" "), s("comparator", t, i), this.options = i, this.loose = !!i.loose, this.parse(t), this.semver === n ?
|
|
1062
|
+
t = t.trim().split(/\s+/).join(" "), s("comparator", t, i), this.options = i, this.loose = !!i.loose, this.parse(t), this.value = this.semver === n ? "" : this.operator + this.semver.version, s("comp", this);
|
|
1051
1063
|
}
|
|
1052
1064
|
parse(e) {
|
|
1053
1065
|
let t = this.options.loose ? i[a.COMPARATORLOOSE] : i[a.COMPARATOR], r = e.match(t);
|
|
1054
1066
|
if (!r) throw TypeError(`Invalid comparator: ${e}`);
|
|
1055
|
-
this.operator = r[1] === void 0 ? "" : r[1], this.operator === "=" && (this.operator = ""), r[2] ?
|
|
1067
|
+
this.operator = r[1] === void 0 ? "" : r[1], this.operator === "=" && (this.operator = ""), this.semver = r[2] ? new c(r[2], this.options.loose) : n;
|
|
1056
1068
|
}
|
|
1057
1069
|
toString() {
|
|
1058
1070
|
return this.value;
|
|
@@ -1068,12 +1080,12 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1068
1080
|
}
|
|
1069
1081
|
intersects(t, n) {
|
|
1070
1082
|
if (!(t instanceof e)) throw TypeError("a Comparator is required");
|
|
1071
|
-
return this.operator === "" ? this.value === ""
|
|
1083
|
+
return this.operator === "" ? this.value === "" || new l(t.value, n).test(this.value) : t.operator === "" ? t.value === "" || 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(">")));
|
|
1072
1084
|
}
|
|
1073
1085
|
};
|
|
1074
|
-
var r =
|
|
1075
|
-
})),
|
|
1076
|
-
var n =
|
|
1086
|
+
var r = It(), { safeRe: i, t: a } = z(), o = nn(), s = R(), c = B(), l = W();
|
|
1087
|
+
})), K = /* @__PURE__ */ O(((e, t) => {
|
|
1088
|
+
var n = W();
|
|
1077
1089
|
t.exports = (e, t, r) => {
|
|
1078
1090
|
try {
|
|
1079
1091
|
t = new n(t, r);
|
|
@@ -1082,11 +1094,11 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1082
1094
|
}
|
|
1083
1095
|
return t.test(e);
|
|
1084
1096
|
};
|
|
1085
|
-
})), sn = /* @__PURE__ */
|
|
1086
|
-
var n =
|
|
1097
|
+
})), sn = /* @__PURE__ */ O(((e, t) => {
|
|
1098
|
+
var n = W();
|
|
1087
1099
|
t.exports = (e, t) => new n(e, t).set.map((e) => e.map((e) => e.value).join(" ").trim().split(" "));
|
|
1088
|
-
})), cn = /* @__PURE__ */
|
|
1089
|
-
var n =
|
|
1100
|
+
})), cn = /* @__PURE__ */ O(((e, t) => {
|
|
1101
|
+
var n = B(), r = W();
|
|
1090
1102
|
t.exports = (e, t, i) => {
|
|
1091
1103
|
let a = null, o = null, s = null;
|
|
1092
1104
|
try {
|
|
@@ -1095,11 +1107,11 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1095
1107
|
return null;
|
|
1096
1108
|
}
|
|
1097
1109
|
return e.forEach((e) => {
|
|
1098
|
-
s.test(e) && (
|
|
1110
|
+
s.test(e) && (a && o.compare(e) !== -1 || (a = e, o = new n(a, i)));
|
|
1099
1111
|
}), a;
|
|
1100
1112
|
};
|
|
1101
|
-
})), ln = /* @__PURE__ */
|
|
1102
|
-
var n =
|
|
1113
|
+
})), ln = /* @__PURE__ */ O(((e, t) => {
|
|
1114
|
+
var n = B(), r = W();
|
|
1103
1115
|
t.exports = (e, t, i) => {
|
|
1104
1116
|
let a = null, o = null, s = null;
|
|
1105
1117
|
try {
|
|
@@ -1108,11 +1120,11 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1108
1120
|
return null;
|
|
1109
1121
|
}
|
|
1110
1122
|
return e.forEach((e) => {
|
|
1111
|
-
s.test(e) && (
|
|
1123
|
+
s.test(e) && (a && o.compare(e) !== 1 || (a = e, o = new n(a, i)));
|
|
1112
1124
|
}), a;
|
|
1113
1125
|
};
|
|
1114
|
-
})), un = /* @__PURE__ */
|
|
1115
|
-
var n =
|
|
1126
|
+
})), un = /* @__PURE__ */ O(((e, t) => {
|
|
1127
|
+
var n = B(), r = W(), i = U();
|
|
1116
1128
|
t.exports = (e, t) => {
|
|
1117
1129
|
e = new r(e, t);
|
|
1118
1130
|
let a = new n("0.0.0");
|
|
@@ -1137,8 +1149,8 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1137
1149
|
}
|
|
1138
1150
|
return a && e.test(a) ? a : null;
|
|
1139
1151
|
};
|
|
1140
|
-
})), dn = /* @__PURE__ */
|
|
1141
|
-
var n =
|
|
1152
|
+
})), dn = /* @__PURE__ */ O(((e, t) => {
|
|
1153
|
+
var n = W();
|
|
1142
1154
|
t.exports = (e, t) => {
|
|
1143
1155
|
try {
|
|
1144
1156
|
return new n(e, t).range || "*";
|
|
@@ -1146,8 +1158,8 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1146
1158
|
return null;
|
|
1147
1159
|
}
|
|
1148
1160
|
};
|
|
1149
|
-
})), fn = /* @__PURE__ */
|
|
1150
|
-
var n =
|
|
1161
|
+
})), fn = /* @__PURE__ */ O(((e, t) => {
|
|
1162
|
+
var n = B(), r = G(), { ANY: i } = r, a = W(), o = K(), s = U(), c = Zt(), l = tn(), u = en();
|
|
1151
1163
|
t.exports = (e, t, d, f) => {
|
|
1152
1164
|
e = new n(e, f), t = new a(t, f);
|
|
1153
1165
|
let p, m, h, g, _;
|
|
@@ -1169,17 +1181,17 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1169
1181
|
}
|
|
1170
1182
|
return !0;
|
|
1171
1183
|
};
|
|
1172
|
-
})), pn = /* @__PURE__ */
|
|
1184
|
+
})), pn = /* @__PURE__ */ O(((e, t) => {
|
|
1173
1185
|
var n = fn();
|
|
1174
1186
|
t.exports = (e, t, r) => n(e, t, ">", r);
|
|
1175
|
-
})), mn = /* @__PURE__ */
|
|
1187
|
+
})), mn = /* @__PURE__ */ O(((e, t) => {
|
|
1176
1188
|
var n = fn();
|
|
1177
1189
|
t.exports = (e, t, r) => n(e, t, "<", r);
|
|
1178
|
-
})), hn = /* @__PURE__ */
|
|
1179
|
-
var n =
|
|
1190
|
+
})), hn = /* @__PURE__ */ O(((e, t) => {
|
|
1191
|
+
var n = W();
|
|
1180
1192
|
t.exports = (e, t, r) => (e = new n(e, r), t = new n(t, r), e.intersects(t, r));
|
|
1181
|
-
})), gn = /* @__PURE__ */
|
|
1182
|
-
var n =
|
|
1193
|
+
})), gn = /* @__PURE__ */ O(((e, t) => {
|
|
1194
|
+
var n = K(), r = H();
|
|
1183
1195
|
t.exports = (e, t, i) => {
|
|
1184
1196
|
let a = [], o = null, s = null, c = e.sort((e, t) => r(e, t, i));
|
|
1185
1197
|
for (let e of c) n(e, t, i) ? (s = e, o ||= e) : (s && a.push([o, s]), s = null, o = null);
|
|
@@ -1189,8 +1201,8 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1189
1201
|
let u = l.join(" || "), d = typeof t.raw == "string" ? t.raw : String(t);
|
|
1190
1202
|
return u.length < d.length ? u : t;
|
|
1191
1203
|
};
|
|
1192
|
-
})), _n = /* @__PURE__ */
|
|
1193
|
-
var n =
|
|
1204
|
+
})), _n = /* @__PURE__ */ O(((e, t) => {
|
|
1205
|
+
var n = W(), r = G(), { ANY: i } = r, a = K(), o = H(), s = (e, t, r = {}) => {
|
|
1194
1206
|
if (e === t) return !0;
|
|
1195
1207
|
e = new n(e, r), t = new n(t, r);
|
|
1196
1208
|
let i = !1;
|
|
@@ -1228,12 +1240,12 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1228
1240
|
if (_ = _ || e.operator === ">" || e.operator === ">=", g = g || e.operator === "<" || e.operator === "<=", s) {
|
|
1229
1241
|
if (y && e.semver.prerelease && e.semver.prerelease.length && e.semver.major === y.major && e.semver.minor === y.minor && e.semver.patch === y.patch && (y = !1), e.operator === ">" || e.operator === ">=") {
|
|
1230
1242
|
if (m = d(s, e, n), m === e && m !== s) return !1;
|
|
1231
|
-
} else if (s.operator === ">=" && !
|
|
1243
|
+
} else if (s.operator === ">=" && !e.test(s.semver)) return !1;
|
|
1232
1244
|
}
|
|
1233
1245
|
if (u) {
|
|
1234
1246
|
if (v && e.semver.prerelease && e.semver.prerelease.length && e.semver.major === v.major && e.semver.minor === v.minor && e.semver.patch === v.patch && (v = !1), e.operator === "<" || e.operator === "<=") {
|
|
1235
1247
|
if (h = f(u, e, n), h === e && h !== u) return !1;
|
|
1236
|
-
} else if (u.operator === "<=" && !
|
|
1248
|
+
} else if (u.operator === "<=" && !e.test(u.semver)) return !1;
|
|
1237
1249
|
}
|
|
1238
1250
|
if (!e.operator && (u || s) && p !== 0) return !1;
|
|
1239
1251
|
}
|
|
@@ -1248,35 +1260,36 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1248
1260
|
return r < 0 ? e : r > 0 || t.operator === "<" && e.operator === "<=" ? t : e;
|
|
1249
1261
|
};
|
|
1250
1262
|
t.exports = s;
|
|
1251
|
-
})),
|
|
1252
|
-
var n =
|
|
1263
|
+
})), vn = /* @__PURE__ */ O(((e, t) => {
|
|
1264
|
+
var n = z(), r = L(), i = B(), a = Lt();
|
|
1253
1265
|
t.exports = {
|
|
1254
|
-
parse:
|
|
1255
|
-
valid:
|
|
1256
|
-
clean:
|
|
1257
|
-
inc:
|
|
1258
|
-
diff:
|
|
1259
|
-
major:
|
|
1260
|
-
minor:
|
|
1261
|
-
patch:
|
|
1262
|
-
prerelease:
|
|
1263
|
-
compare:
|
|
1264
|
-
rcompare:
|
|
1265
|
-
compareLoose:
|
|
1266
|
-
compareBuild:
|
|
1267
|
-
sort:
|
|
1268
|
-
rsort:
|
|
1269
|
-
gt:
|
|
1270
|
-
lt:
|
|
1271
|
-
eq:
|
|
1272
|
-
neq:
|
|
1273
|
-
gte:
|
|
1274
|
-
lte:
|
|
1275
|
-
cmp:
|
|
1276
|
-
coerce:
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1266
|
+
parse: V(),
|
|
1267
|
+
valid: Rt(),
|
|
1268
|
+
clean: zt(),
|
|
1269
|
+
inc: Bt(),
|
|
1270
|
+
diff: Vt(),
|
|
1271
|
+
major: Ht(),
|
|
1272
|
+
minor: Ut(),
|
|
1273
|
+
patch: Wt(),
|
|
1274
|
+
prerelease: Gt(),
|
|
1275
|
+
compare: H(),
|
|
1276
|
+
rcompare: Kt(),
|
|
1277
|
+
compareLoose: qt(),
|
|
1278
|
+
compareBuild: Jt(),
|
|
1279
|
+
sort: Yt(),
|
|
1280
|
+
rsort: Xt(),
|
|
1281
|
+
gt: U(),
|
|
1282
|
+
lt: Zt(),
|
|
1283
|
+
eq: Qt(),
|
|
1284
|
+
neq: $t(),
|
|
1285
|
+
gte: en(),
|
|
1286
|
+
lte: tn(),
|
|
1287
|
+
cmp: nn(),
|
|
1288
|
+
coerce: rn(),
|
|
1289
|
+
truncate: an(),
|
|
1290
|
+
Comparator: G(),
|
|
1291
|
+
Range: W(),
|
|
1292
|
+
satisfies: K(),
|
|
1280
1293
|
toComparators: sn(),
|
|
1281
1294
|
maxSatisfying: cn(),
|
|
1282
1295
|
minSatisfying: ln(),
|
|
@@ -1297,58 +1310,57 @@ var I = /* @__PURE__ */ D(((e, t) => {
|
|
|
1297
1310
|
compareIdentifiers: a.compareIdentifiers,
|
|
1298
1311
|
rcompareIdentifiers: a.rcompareIdentifiers
|
|
1299
1312
|
};
|
|
1300
|
-
}))
|
|
1301
|
-
function
|
|
1302
|
-
return `${
|
|
1313
|
+
})), q = /* @__PURE__ */ Oe(vn()), yn = "_updates_v2/per_package_version/";
|
|
1314
|
+
function bn(e, t) {
|
|
1315
|
+
return `${yn}${e.organization}/${e.name}/${e.version}/${t}`;
|
|
1303
1316
|
}
|
|
1304
|
-
var
|
|
1305
|
-
function
|
|
1306
|
-
return `${
|
|
1317
|
+
var xn = /(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<name>[^/]+))\/(?<version>[^/]+)\/(?<seed>[^/]+)$/, Sn = "_updates_v2/_global_update_in", Cn = "_updates_v2/_global_update_out", wn = "_overview_snapshots_v2/global/", Tn = "_overview_snapshots_v2/per_package/", En = /^(?<timestamp>\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}\.\d{3}Z-[a-z0-9]+)\.json\.gz$/;
|
|
1318
|
+
function Dn(e) {
|
|
1319
|
+
return `${wn}${e}.json.gz`;
|
|
1307
1320
|
}
|
|
1308
|
-
function
|
|
1309
|
-
return `${
|
|
1321
|
+
function On(e, t) {
|
|
1322
|
+
return `${Tn}${e.organization}/${e.name}/${t}.json.gz`;
|
|
1310
1323
|
}
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
function J(e) {
|
|
1324
|
+
// src/v2/registry/schema_public.ts
|
|
1325
|
+
var kn = "v2/", An = "overview.json", jn = "overview.json.gz", Mn = "overview.json", Nn = "manifest.json", J = "channels", Pn = /^[-a-z0-9]+$/;
|
|
1326
|
+
function Y(e) {
|
|
1315
1327
|
return `${e.organization}/${e.name}/${e.version}`;
|
|
1316
1328
|
}
|
|
1317
|
-
function
|
|
1318
|
-
return `v2/${
|
|
1329
|
+
function X(e) {
|
|
1330
|
+
return `v2/${Y(e)}`;
|
|
1319
1331
|
}
|
|
1320
|
-
var
|
|
1332
|
+
var Fn = "/manifest.json", In = C.object({
|
|
1321
1333
|
description: l,
|
|
1322
|
-
channels:
|
|
1334
|
+
channels: C.array(C.string()).default(() => []),
|
|
1323
1335
|
manifestSha256: h
|
|
1324
|
-
}).passthrough(),
|
|
1325
|
-
schema:
|
|
1326
|
-
versions:
|
|
1336
|
+
}).passthrough(), Ln = C.object({
|
|
1337
|
+
schema: C.literal("v2"),
|
|
1338
|
+
versions: C.array(In)
|
|
1327
1339
|
}).passthrough();
|
|
1328
|
-
function Ln(e) {
|
|
1329
|
-
return `${e.organization}/${e.name}/${jn}`;
|
|
1330
|
-
}
|
|
1331
1340
|
function Rn(e) {
|
|
1332
|
-
return
|
|
1341
|
+
return `${e.organization}/${e.name}/${Mn}`;
|
|
1333
1342
|
}
|
|
1334
1343
|
function zn(e) {
|
|
1335
|
-
return
|
|
1344
|
+
return `v2/${Rn(e)}`;
|
|
1336
1345
|
}
|
|
1337
1346
|
function Bn(e) {
|
|
1338
|
-
return
|
|
1347
|
+
return `${Y(e)}/${J}/`;
|
|
1339
1348
|
}
|
|
1340
|
-
|
|
1349
|
+
function Vn(e) {
|
|
1350
|
+
return `v2/${Bn(e)}`;
|
|
1351
|
+
}
|
|
1352
|
+
var Hn = /(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<name>[^/]+))\/(?<version>[^/]+)\/manifest\.json$/, Z = `v2/${An}`, Un = `v2/${jn}`, Wn = C.object({
|
|
1341
1353
|
id: d,
|
|
1342
|
-
allVersions:
|
|
1343
|
-
allVersionsWithChannels:
|
|
1354
|
+
allVersions: C.array(C.string()).optional(),
|
|
1355
|
+
allVersionsWithChannels: C.array(_).optional(),
|
|
1344
1356
|
latest: l.optional(),
|
|
1345
1357
|
latestManifestSha256: h.optional(),
|
|
1346
|
-
latestByChannel:
|
|
1358
|
+
latestByChannel: C.record(C.string(), C.object({
|
|
1347
1359
|
description: l,
|
|
1348
1360
|
manifestSha256: h
|
|
1349
1361
|
}).passthrough()).default({})
|
|
1350
1362
|
}).passthrough();
|
|
1351
|
-
function
|
|
1363
|
+
function Gn(e) {
|
|
1352
1364
|
let t = `${e.id.organization}/${e.id.name}`, n = e.allVersionsWithChannels;
|
|
1353
1365
|
if (n === void 0) {
|
|
1354
1366
|
if (e.allVersions === void 0) throw Error(`GlobalOverviewEntry ${t} is missing both 'allVersionsWithChannels' and the deprecated 'allVersions' fallback`);
|
|
@@ -1374,23 +1386,25 @@ function Wn(e) {
|
|
|
1374
1386
|
latestByChannel: r
|
|
1375
1387
|
};
|
|
1376
1388
|
}
|
|
1377
|
-
var
|
|
1378
|
-
schema:
|
|
1379
|
-
packages:
|
|
1389
|
+
var Kn = C.object({
|
|
1390
|
+
schema: C.literal("v2"),
|
|
1391
|
+
packages: C.array(Wn)
|
|
1380
1392
|
}).passthrough();
|
|
1381
|
-
function
|
|
1382
|
-
let t =
|
|
1393
|
+
function Q(e) {
|
|
1394
|
+
let t = Kn.parse(e);
|
|
1383
1395
|
return {
|
|
1384
1396
|
...t,
|
|
1385
|
-
packages: t.packages.map(
|
|
1397
|
+
packages: t.packages.map(Gn)
|
|
1386
1398
|
};
|
|
1387
1399
|
}
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1400
|
+
// src/v2/registry/registry.ts
|
|
1401
|
+
var qn = class {
|
|
1402
|
+
storage;
|
|
1403
|
+
logger;
|
|
1404
|
+
settings;
|
|
1405
|
+
gzipAsync = fe(ie);
|
|
1406
|
+
gunzipAsync = fe(ne);
|
|
1407
|
+
constructor(e, t = new le(), n = {}) {
|
|
1394
1408
|
this.storage = e, this.logger = t, this.settings = n;
|
|
1395
1409
|
}
|
|
1396
1410
|
generateTimestamp() {
|
|
@@ -1401,7 +1415,7 @@ var Kn = class {
|
|
|
1401
1415
|
}
|
|
1402
1416
|
async createGlobalOverviewSnapshot(e, t) {
|
|
1403
1417
|
if (!this.settings.skipSnapshotCreation) try {
|
|
1404
|
-
let n = await this.gzipAsync(e), r =
|
|
1418
|
+
let n = await this.gzipAsync(e), r = Dn(t);
|
|
1405
1419
|
await this.storage.putFile(r, Buffer.from(n)), this.logger.info(`Global overview snapshot created at ${r}`);
|
|
1406
1420
|
} catch (e) {
|
|
1407
1421
|
this.logger.warn(`Failed to create global overview snapshot: ${String(e)}`);
|
|
@@ -1409,7 +1423,7 @@ var Kn = class {
|
|
|
1409
1423
|
}
|
|
1410
1424
|
async createPackageOverviewSnapshot(e, t, n) {
|
|
1411
1425
|
if (!this.settings.skipSnapshotCreation) try {
|
|
1412
|
-
let r = JSON.stringify(t), i = await this.gzipAsync(r), a =
|
|
1426
|
+
let r = JSON.stringify(t), i = await this.gzipAsync(r), a = On(e, n);
|
|
1413
1427
|
await this.storage.putFile(a, Buffer.from(i)), this.logger.info(`Package overview snapshot created at ${a} for ${e.organization}:${e.name}`);
|
|
1414
1428
|
} catch (t) {
|
|
1415
1429
|
this.logger.warn(`Failed to create package overview snapshot for ${e.organization}:${e.name}: ${String(t)}`);
|
|
@@ -1427,19 +1441,19 @@ var Kn = class {
|
|
|
1427
1441
|
add: []
|
|
1428
1442
|
});
|
|
1429
1443
|
return i.rebuild || i.replacedBlockIds.add(n), r.set(t, i), i;
|
|
1430
|
-
}, o = await this.storage.listFiles(
|
|
1444
|
+
}, o = await this.storage.listFiles(yn), c = ({ organization: e, name: t, version: r }) => {
|
|
1431
1445
|
let i = `${e}:${t}`, a = n.get(i);
|
|
1432
|
-
return a ? a.versions.has(r)
|
|
1446
|
+
return a ? !a.versions.has(r) && (a.versions.add(r), !0) : (n.set(i, {
|
|
1433
1447
|
package: {
|
|
1434
1448
|
organization: e,
|
|
1435
1449
|
name: t
|
|
1436
1450
|
},
|
|
1437
|
-
versions: new Set([r])
|
|
1451
|
+
versions: /* @__PURE__ */ new Set([r])
|
|
1438
1452
|
}), !0);
|
|
1439
1453
|
};
|
|
1440
1454
|
this.logger.info("Packages to be updated:");
|
|
1441
1455
|
for (let e of o) {
|
|
1442
|
-
let t = e.match(
|
|
1456
|
+
let t = e.match(xn);
|
|
1443
1457
|
if (!t) continue;
|
|
1444
1458
|
i.push(e);
|
|
1445
1459
|
let { organization: n, name: r, version: a, seed: o } = t.groups, s = c({
|
|
@@ -1452,7 +1466,7 @@ var Kn = class {
|
|
|
1452
1466
|
if (e === "force") {
|
|
1453
1467
|
let e = await this.storage.listFiles("v2/");
|
|
1454
1468
|
for (let t of e) {
|
|
1455
|
-
let e = t.match(
|
|
1469
|
+
let e = t.match(Hn);
|
|
1456
1470
|
if (!e) continue;
|
|
1457
1471
|
let { organization: n, name: r, version: i } = e.groups, a = c({
|
|
1458
1472
|
organization: n,
|
|
@@ -1462,12 +1476,12 @@ var Kn = class {
|
|
|
1462
1476
|
this.logger.info(` - ${n}:${r}:${i} force_added:${a}`);
|
|
1463
1477
|
}
|
|
1464
1478
|
let t = await this.storage.listFiles(M);
|
|
1465
|
-
for (let e of t)
|
|
1479
|
+
for (let e of t) yt.test(e) && r.set(M + e, {
|
|
1466
1480
|
rebuild: !0,
|
|
1467
1481
|
add: []
|
|
1468
1482
|
});
|
|
1469
1483
|
}
|
|
1470
|
-
let l = await this.storage.getFile(
|
|
1484
|
+
let l = await this.storage.getFile(Z);
|
|
1471
1485
|
if (e === "force" && l !== void 0) {
|
|
1472
1486
|
let e = this.generatePreWriteTimestamp();
|
|
1473
1487
|
await this.createGlobalOverviewSnapshot(l.toString(), e);
|
|
@@ -1475,42 +1489,42 @@ var Kn = class {
|
|
|
1475
1489
|
let u = (e === "force" || l === void 0 ? {
|
|
1476
1490
|
schema: "v2",
|
|
1477
1491
|
packages: []
|
|
1478
|
-
} :
|
|
1492
|
+
} : Q(JSON.parse(l.toString()))).packages;
|
|
1479
1493
|
this.logger.info(`Global overview ${e === "force" ? "starting empty (force mode)" : "loaded"}, ${u.length} records`);
|
|
1480
1494
|
for (let [, r] of n.entries()) {
|
|
1481
|
-
let n =
|
|
1495
|
+
let n = zn(r.package), i = await this.storage.getFile(n);
|
|
1482
1496
|
if (e === "force" && i !== void 0) {
|
|
1483
|
-
let e = this.generatePreWriteTimestamp(), t =
|
|
1497
|
+
let e = this.generatePreWriteTimestamp(), t = Ln.parse(JSON.parse(i.toString()));
|
|
1484
1498
|
await this.createPackageOverviewSnapshot(r.package, t, e);
|
|
1485
1499
|
}
|
|
1486
1500
|
let o = e === "force" || i === void 0 ? {
|
|
1487
1501
|
schema: "v2",
|
|
1488
1502
|
versions: []
|
|
1489
|
-
} :
|
|
1503
|
+
} : Ln.parse(JSON.parse(i.toString()));
|
|
1490
1504
|
this.logger.info(`Updating ${r.package.organization}:${r.package.name} overview${e === "force" ? " (starting empty in force mode)" : ""}, ${o.versions.length} records`);
|
|
1491
1505
|
let c = o.versions.filter((e) => r.versions.has(e.description.id.version)), l = o.versions.filter((e) => !r.versions.has(e.description.id.version));
|
|
1492
|
-
for (let e of c) e.description.kind && a(
|
|
1506
|
+
for (let e of c) e.description.kind && a(vt(P(S(e.description.kind).name)), b(e.description.id));
|
|
1493
1507
|
for (let [e] of r.versions.entries()) {
|
|
1494
1508
|
let t = e.toString(), n = {
|
|
1495
1509
|
...r.package,
|
|
1496
1510
|
version: t
|
|
1497
|
-
}, i = await this.storage.getFile(
|
|
1511
|
+
}, i = await this.storage.getFile(X(n) + Fn);
|
|
1498
1512
|
if (!i) continue;
|
|
1499
|
-
let o = await A(i), s = (await this.storage.listFiles(
|
|
1513
|
+
let o = await A(i), s = (await this.storage.listFiles(Vn(n))).filter((e) => e.match(Pn) ? !0 : (this.logger.warn(`Unexpected channel in ${b(n)}: ${e}`), !1)), c = f.parse(JSON.parse(i.toString("utf8"))).description;
|
|
1500
1514
|
if (l.push({
|
|
1501
|
-
description:
|
|
1515
|
+
description: tt(c, t),
|
|
1502
1516
|
manifestSha256: o,
|
|
1503
1517
|
channels: s
|
|
1504
1518
|
}), c.kind) {
|
|
1505
|
-
let { name: e, version: t } =
|
|
1506
|
-
a(
|
|
1519
|
+
let { name: e, version: t } = S(c.kind);
|
|
1520
|
+
a(vt(P(e)), b(n)).add.push({
|
|
1507
1521
|
id: n,
|
|
1508
1522
|
kindVersion: t,
|
|
1509
1523
|
channels: s
|
|
1510
1524
|
});
|
|
1511
1525
|
}
|
|
1512
1526
|
}
|
|
1513
|
-
l.sort((e, t) => (0,
|
|
1527
|
+
l.sort((e, t) => (0, q.compare)(t.description.id.version, e.description.id.version));
|
|
1514
1528
|
let d = {
|
|
1515
1529
|
schema: "v2",
|
|
1516
1530
|
versions: l
|
|
@@ -1530,13 +1544,13 @@ var Kn = class {
|
|
|
1530
1544
|
version: e.description.id.version,
|
|
1531
1545
|
channels: e.channels
|
|
1532
1546
|
})).reverse(),
|
|
1533
|
-
latest:
|
|
1547
|
+
latest: tt(l[0].description, m),
|
|
1534
1548
|
latestManifestSha256: l[0].manifestSha256,
|
|
1535
1549
|
latestByChannel: Object.fromEntries([...p, s].map((e) => {
|
|
1536
1550
|
let t = l.find((t) => e === s || t.channels.indexOf(e) !== -1);
|
|
1537
1551
|
if (!t) throw Error("Assertion error");
|
|
1538
1552
|
return [e, {
|
|
1539
|
-
description:
|
|
1553
|
+
description: tt(t.description, m),
|
|
1540
1554
|
manifestSha256: t?.manifestSha256
|
|
1541
1555
|
}];
|
|
1542
1556
|
}))
|
|
@@ -1559,12 +1573,12 @@ var Kn = class {
|
|
|
1559
1573
|
return {
|
|
1560
1574
|
kindVersion: e,
|
|
1561
1575
|
latestByChannel: Object.fromEntries([...n, s].map((e) => {
|
|
1562
|
-
let n = t.filter((t) => e === s || t.channels.indexOf(e) !== -1).sort((e, t) => (0,
|
|
1576
|
+
let n = t.filter((t) => e === s || t.channels.indexOf(e) !== -1).sort((e, t) => (0, q.compare)(t.id.version, e.id.version))[0];
|
|
1563
1577
|
if (!n) throw Error("Assertion error");
|
|
1564
1578
|
return [e, n.id];
|
|
1565
1579
|
}))
|
|
1566
1580
|
};
|
|
1567
|
-
}).sort((e, t) => (0,
|
|
1581
|
+
}).sort((e, t) => (0, q.compare)(t.kindVersion, e.kindVersion)), o = {
|
|
1568
1582
|
schema: "v1",
|
|
1569
1583
|
implementers: r,
|
|
1570
1584
|
kindVersions: a
|
|
@@ -1576,80 +1590,72 @@ var Kn = class {
|
|
|
1576
1590
|
schema: "v2",
|
|
1577
1591
|
packages: u
|
|
1578
1592
|
}), n = Buffer.from(e);
|
|
1579
|
-
await this.storage.putFile(
|
|
1593
|
+
await this.storage.putFile(Z, n);
|
|
1580
1594
|
let r = await this.gzipAsync(e);
|
|
1581
|
-
await this.storage.putFile(
|
|
1595
|
+
await this.storage.putFile(Un, Buffer.from(r)), await this.createGlobalOverviewSnapshot(e, t);
|
|
1582
1596
|
}
|
|
1583
|
-
this.logger.info(`Global overview updated (${u.length} records)`), e !== "dry-run" && await this.storage.deleteFiles(...i.map((e) => `${
|
|
1597
|
+
this.logger.info(`Global overview updated (${u.length} records)`), e !== "dry-run" && await this.storage.deleteFiles(...i.map((e) => `${yn}${e}`)), this.logger.info("Version update requests cleared");
|
|
1584
1598
|
}
|
|
1585
1599
|
async updateIfNeeded(e = "normal") {
|
|
1586
1600
|
this.logger.info("Checking if registry requires refresh...");
|
|
1587
|
-
let t = await this.storage.getFile(
|
|
1588
|
-
|
|
1589
|
-
this.logger.info("No global seed files found, update not needed.");
|
|
1590
|
-
return;
|
|
1591
|
-
}
|
|
1592
|
-
if (e !== "force" && t !== void 0 && n !== void 0 && t.equals(n)) {
|
|
1593
|
-
this.logger.info("Registry is up to date.");
|
|
1594
|
-
return;
|
|
1595
|
-
}
|
|
1596
|
-
await this.updateRegistry(e), t && (e !== "dry-run" && await this.storage.putFile(Sn, t), this.logger.info("Refresh finished."));
|
|
1601
|
+
let t = await this.storage.getFile(Sn), n = await this.storage.getFile(Cn);
|
|
1602
|
+
e !== "force" && t === void 0 && n === void 0 ? this.logger.info("No global seed files found, update not needed.") : e !== "force" && t !== void 0 && n !== void 0 && t.equals(n) ? this.logger.info("Registry is up to date.") : (await this.updateRegistry(e), t && (e !== "dry-run" && await this.storage.putFile(Cn, t), this.logger.info("Refresh finished.")));
|
|
1597
1603
|
}
|
|
1598
1604
|
async getPackageOverview(e) {
|
|
1599
|
-
let t = await this.storage.getFile(
|
|
1600
|
-
if (t !== void 0) return
|
|
1605
|
+
let t = await this.storage.getFile(zn(e));
|
|
1606
|
+
if (t !== void 0) return Ln.parse(JSON.parse(t.toString()));
|
|
1601
1607
|
}
|
|
1602
1608
|
async getGlobalOverview() {
|
|
1603
|
-
let e = await this.storage.getFile(
|
|
1604
|
-
if (e !== void 0) return
|
|
1609
|
+
let e = await this.storage.getFile(Z);
|
|
1610
|
+
if (e !== void 0) return Q(JSON.parse(e.toString()));
|
|
1605
1611
|
}
|
|
1606
1612
|
async getKindOverviewAt(e) {
|
|
1607
1613
|
let t = await this.storage.getFile(e);
|
|
1608
|
-
if (t !== void 0) return
|
|
1614
|
+
if (t !== void 0) return wt.parse(JSON.parse(t.toString()));
|
|
1609
1615
|
}
|
|
1610
1616
|
async marchChanged(e) {
|
|
1611
|
-
let t =
|
|
1612
|
-
this.logger.info(`Creating update seed at ${n} ...`), await this.storage.putFile(n, Buffer.from(t)), this.logger.info(`Touching global update seed ${
|
|
1617
|
+
let t = oe(), n = bn(e, t);
|
|
1618
|
+
this.logger.info(`Creating update seed at ${n} ...`), await this.storage.putFile(n, Buffer.from(t)), this.logger.info(`Touching global update seed ${Sn} ...`), await this.storage.putFile(Sn, Buffer.from(t));
|
|
1613
1619
|
}
|
|
1614
1620
|
async addPackageToChannel(e, t) {
|
|
1615
|
-
if (!t.match(
|
|
1616
|
-
let n =
|
|
1621
|
+
if (!t.match(Pn)) throw Error(`Illegal characters in channel name: ${t}`);
|
|
1622
|
+
let n = X(e);
|
|
1617
1623
|
if (await this.storage.getFile(`${n}/manifest.json`) === void 0) throw Error(`Package ${b(e)} not found in the registry.`);
|
|
1618
|
-
await this.storage.putFile(`${n}/${
|
|
1624
|
+
await this.storage.putFile(`${n}/${J}/${t}`, Buffer.from(t)), await this.marchChanged(e);
|
|
1619
1625
|
}
|
|
1620
1626
|
async removePackageFromChannel(e, t) {
|
|
1621
|
-
if (!t.match(
|
|
1622
|
-
let n =
|
|
1627
|
+
if (!t.match(Pn)) throw Error(`Illegal characters in channel name: ${t}`);
|
|
1628
|
+
let n = X(e);
|
|
1623
1629
|
if (await this.storage.getFile(`${n}/manifest.json`) === void 0) throw Error(`Package ${b(e)} not found in the registry.`);
|
|
1624
|
-
await this.storage.deleteFiles(`${n}/${
|
|
1630
|
+
await this.storage.deleteFiles(`${n}/${J}/${t}`), await this.marchChanged(e);
|
|
1625
1631
|
}
|
|
1626
1632
|
async listGlobalOverviewSnapshots() {
|
|
1627
|
-
let e = await this.storage.listFiles(
|
|
1633
|
+
let e = await this.storage.listFiles(wn), t = [];
|
|
1628
1634
|
for (let n of e) {
|
|
1629
|
-
let e = n.indexOf("/") === -1 ? n : n.substring(n.lastIndexOf("/") + 1), r = e.match(
|
|
1635
|
+
let e = n.indexOf("/") === -1 ? n : n.substring(n.lastIndexOf("/") + 1), r = e.match(En);
|
|
1630
1636
|
r && t.push({
|
|
1631
1637
|
timestamp: r.groups.timestamp,
|
|
1632
|
-
path:
|
|
1638
|
+
path: wn + e
|
|
1633
1639
|
});
|
|
1634
1640
|
}
|
|
1635
1641
|
return t.sort((e, t) => t.timestamp.localeCompare(e.timestamp)), t;
|
|
1636
1642
|
}
|
|
1637
1643
|
async restoreGlobalOverviewFromSnapshot(e) {
|
|
1638
|
-
let t =
|
|
1644
|
+
let t = Dn(e), n = await this.storage.getFile(t);
|
|
1639
1645
|
if (!n) throw Error(`Snapshot ${e} not found at ${t}`);
|
|
1640
1646
|
let r = (await this.gunzipAsync(n)).toString("utf8");
|
|
1641
1647
|
try {
|
|
1642
|
-
|
|
1648
|
+
Q(JSON.parse(r));
|
|
1643
1649
|
} catch (t) {
|
|
1644
1650
|
throw Error(`Invalid snapshot data in ${e}: ${String(t)}`);
|
|
1645
1651
|
}
|
|
1646
1652
|
let i = Buffer.from(r);
|
|
1647
|
-
await this.storage.putFile(
|
|
1653
|
+
await this.storage.putFile(Z, i);
|
|
1648
1654
|
let a = await this.gzipAsync(r);
|
|
1649
|
-
await this.storage.putFile(
|
|
1655
|
+
await this.storage.putFile(Un, Buffer.from(a)), this.logger.info(`Global overview restored from snapshot ${e}`);
|
|
1650
1656
|
}
|
|
1651
1657
|
async publishPackage(e, t) {
|
|
1652
|
-
let n =
|
|
1658
|
+
let n = X(e.description.id);
|
|
1653
1659
|
for (let r of e.files) {
|
|
1654
1660
|
let e = await t(r.name);
|
|
1655
1661
|
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})`);
|
|
@@ -1658,13 +1664,13 @@ var Kn = class {
|
|
|
1658
1664
|
let a = n + "/" + r.name;
|
|
1659
1665
|
this.logger.info(`Uploading ${r.name} -> ${a} ...`), await this.storage.putFile(a, e);
|
|
1660
1666
|
}
|
|
1661
|
-
let r = n + "/" +
|
|
1667
|
+
let r = n + "/" + Nn;
|
|
1662
1668
|
this.logger.info(`Uploading manifest to ${r} ...`), await this.storage.putFile(r, Buffer.from(JSON.stringify(e))), await this.marchChanged(e.description.id);
|
|
1663
1669
|
}
|
|
1664
1670
|
async publishKind(e, t) {
|
|
1665
|
-
let { name: n, version: r } = e.kind, i =
|
|
1671
|
+
let { name: n, version: r } = e.kind, i = _t(n, r), a = await this.storage.getFile(`${i}/${gt}`);
|
|
1666
1672
|
if (a !== void 0) {
|
|
1667
|
-
let t =
|
|
1673
|
+
let t = F.parse(JSON.parse(a.toString()));
|
|
1668
1674
|
if (t.sourceHash === e.sourceHash) {
|
|
1669
1675
|
this.logger.info(`Kind ${n}@${r} already published with identical source — no-op`);
|
|
1670
1676
|
return;
|
|
@@ -1679,16 +1685,15 @@ var Kn = class {
|
|
|
1679
1685
|
let a = `${i}/${n.name}`;
|
|
1680
1686
|
this.logger.info(`Uploading ${n.name} -> ${a} ...`), await this.storage.putFile(a, e);
|
|
1681
1687
|
}
|
|
1682
|
-
let o =
|
|
1688
|
+
let o = F.parse({
|
|
1683
1689
|
...e,
|
|
1684
1690
|
firstUploadTimestamp: e.firstUploadTimestamp ?? Date.now()
|
|
1685
|
-
}), s = `${i}/${
|
|
1691
|
+
}), s = `${i}/${gt}`;
|
|
1686
1692
|
this.logger.info(`Uploading kind manifest to ${s} ...`), await this.storage.putFile(s, Buffer.from(JSON.stringify(o)));
|
|
1687
1693
|
}
|
|
1688
1694
|
};
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
function qn(e) {
|
|
1695
|
+
// src/v2/registry/kind_resolver.ts
|
|
1696
|
+
function Jn(e) {
|
|
1692
1697
|
let t = e.trim();
|
|
1693
1698
|
switch (t[0]) {
|
|
1694
1699
|
case "~": return {
|
|
@@ -1709,32 +1714,34 @@ function qn(e) {
|
|
|
1709
1714
|
};
|
|
1710
1715
|
}
|
|
1711
1716
|
}
|
|
1712
|
-
function
|
|
1717
|
+
function Yn(e) {
|
|
1713
1718
|
if (e.op === "exact") return `=${e.version}`;
|
|
1714
|
-
let t =
|
|
1719
|
+
let t = q.major(e.version), n = q.minor(e.version), r = e.op === "patch" ? `${t}.${n + 1}.0` : `${t + 1}.0.0`;
|
|
1715
1720
|
return `>=${e.version} <${r}-0`;
|
|
1716
1721
|
}
|
|
1717
|
-
var
|
|
1722
|
+
var Xn = class extends Error {
|
|
1723
|
+
reason;
|
|
1724
|
+
ref;
|
|
1718
1725
|
constructor(e, t) {
|
|
1719
1726
|
super(`Cannot resolve block kind "${t}": ${e}`), this.reason = e, this.ref = t, this.name = "KindResolutionError";
|
|
1720
1727
|
}
|
|
1721
1728
|
};
|
|
1722
|
-
function
|
|
1723
|
-
let i = e.filter((e) =>
|
|
1724
|
-
if (i.length !== 0) return i.reduce((e, t) =>
|
|
1729
|
+
function Zn(e, t, n, r) {
|
|
1730
|
+
let i = e.filter((e) => q.eq(e.kindVersion, t) && (r || e.channels.includes(n)));
|
|
1731
|
+
if (i.length !== 0) return i.reduce((e, t) => q.gt(t.id.version, e.id.version) ? t : e).id;
|
|
1725
1732
|
}
|
|
1726
|
-
function
|
|
1727
|
-
let r =
|
|
1733
|
+
function Qn(e, t, n) {
|
|
1734
|
+
let r = Yn(typeof t == "string" ? Jn(t) : t), i = e.kindVersions.map((e) => e.kindVersion), a = q.maxSatisfying(i, r);
|
|
1728
1735
|
if (a === null) return {
|
|
1729
1736
|
ok: !1,
|
|
1730
1737
|
reason: "no-matching-kind-version"
|
|
1731
1738
|
};
|
|
1732
|
-
let o = e.kindVersions.find((e) =>
|
|
1739
|
+
let o = e.kindVersions.find((e) => q.eq(e.kindVersion, a)), c = n.allowUnstable ? s : g, l = Zn(e.implementers, a, c, n.allowUnstable) ?? o?.latestByChannel[c];
|
|
1733
1740
|
return l ? {
|
|
1734
1741
|
ok: !0,
|
|
1735
1742
|
blockId: l,
|
|
1736
1743
|
channel: c
|
|
1737
|
-
} : e.implementers.some((e) =>
|
|
1744
|
+
} : e.implementers.some((e) => q.eq(e.kindVersion, a)) || o !== void 0 && Object.keys(o.latestByChannel).length > 0 ? {
|
|
1738
1745
|
ok: !1,
|
|
1739
1746
|
reason: "no-stable-implementation"
|
|
1740
1747
|
} : {
|
|
@@ -1742,14 +1749,13 @@ function Zn(e, t, n) {
|
|
|
1742
1749
|
reason: "no-implementation"
|
|
1743
1750
|
};
|
|
1744
1751
|
}
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
var Qn = {
|
|
1752
|
+
// src/v2/registry/registry_reader.ts
|
|
1753
|
+
var $n = {
|
|
1748
1754
|
cacheBlockListFor: 45e3,
|
|
1749
1755
|
keepStaleBlockListFor: 3e5
|
|
1750
1756
|
};
|
|
1751
|
-
function
|
|
1752
|
-
let n =
|
|
1757
|
+
function er(e, t) {
|
|
1758
|
+
let n = q.inc(e, "minor"), r = q.inc(e, "major"), i = [], a = t.find((t) => q.gt(t, e) && q.lt(t, n)), o = t.find((e) => q.gte(e, n) && q.lt(e, r)), s = t.find((e) => q.gte(e, r));
|
|
1753
1759
|
return a && i.push({
|
|
1754
1760
|
type: "patch",
|
|
1755
1761
|
update: a
|
|
@@ -1761,25 +1767,26 @@ function $n(e, t) {
|
|
|
1761
1767
|
update: s
|
|
1762
1768
|
}), i;
|
|
1763
1769
|
}
|
|
1764
|
-
var
|
|
1770
|
+
var tr = class {
|
|
1771
|
+
registryReader;
|
|
1765
1772
|
v2RootFolderReader;
|
|
1766
1773
|
kindsRootFolderReader;
|
|
1767
1774
|
ops;
|
|
1768
1775
|
constructor(e, t) {
|
|
1769
1776
|
this.registryReader = e, this.v2RootFolderReader = e.relativeReader("v2/"), this.kindsRootFolderReader = e.relativeReader(M), this.ops = {
|
|
1770
|
-
|
|
1777
|
+
...$n,
|
|
1771
1778
|
...t
|
|
1772
1779
|
};
|
|
1773
1780
|
}
|
|
1774
|
-
embeddedGlobalMetaCache = new
|
|
1781
|
+
embeddedGlobalMetaCache = new me({
|
|
1775
1782
|
max: 500,
|
|
1776
|
-
fetchMethod: async (e, t, n) => await
|
|
1777
|
-
let e = n.context.relativeTo === void 0 ? this.v2RootFolderReader.getContentReader() : this.v2RootFolderReader.relativeReader(
|
|
1778
|
-
return await
|
|
1779
|
-
},
|
|
1783
|
+
fetchMethod: async (e, t, n) => await T(async () => {
|
|
1784
|
+
let e = n.context.relativeTo === void 0 ? this.v2RootFolderReader.getContentReader() : this.v2RootFolderReader.relativeReader(Y(n.context.relativeTo)).getContentReader();
|
|
1785
|
+
return await qe(n.context.meta, e);
|
|
1786
|
+
}, w)
|
|
1780
1787
|
});
|
|
1781
1788
|
async embedMetaContent(e, t, n, r) {
|
|
1782
|
-
return await this.embeddedGlobalMetaCache.forceFetch(
|
|
1789
|
+
return await this.embeddedGlobalMetaCache.forceFetch(pe({
|
|
1783
1790
|
id: e,
|
|
1784
1791
|
sha256: t,
|
|
1785
1792
|
absolutePath: n
|
|
@@ -1793,8 +1800,8 @@ var er = class {
|
|
|
1793
1800
|
async listBlockPacks(e) {
|
|
1794
1801
|
if (this.listCache !== void 0 && Date.now() - this.listCacheTimestamp <= this.ops.cacheBlockListFor) return this.listCache;
|
|
1795
1802
|
try {
|
|
1796
|
-
return await
|
|
1797
|
-
let t =
|
|
1803
|
+
return await T(async () => {
|
|
1804
|
+
let t = Q(JSON.parse(Buffer.from(await this.v2RootFolderReader.readFile(An, { signal: e?.signal })).toString())), n = await Promise.all(t.packages.map(async (e) => {
|
|
1798
1805
|
let t = await Promise.all(Object.entries(e.latestByChannel).map(async ([e, t]) => [e, {
|
|
1799
1806
|
id: t.description.id,
|
|
1800
1807
|
meta: await this.embedMetaContent(t.description.id, t.manifestSha256, !0, t.description.meta),
|
|
@@ -1813,7 +1820,7 @@ var er = class {
|
|
|
1813
1820
|
};
|
|
1814
1821
|
}));
|
|
1815
1822
|
return this.listCache = n, this.listCacheTimestamp = Date.now(), n;
|
|
1816
|
-
},
|
|
1823
|
+
}, w);
|
|
1817
1824
|
} catch (e) {
|
|
1818
1825
|
if (this.listCache !== void 0 && Date.now() - this.listCacheTimestamp <= this.ops.keepStaleBlockListFor) return this.listCache;
|
|
1819
1826
|
throw e;
|
|
@@ -1827,11 +1834,11 @@ var er = class {
|
|
|
1827
1834
|
let n = (await this.listBlockPacks()).find((t) => y(e, t.id));
|
|
1828
1835
|
if (n === void 0) return;
|
|
1829
1836
|
let r = n.allVersions.filter((e) => t === s || e.channels.indexOf(t) >= 0).map((e) => e.version);
|
|
1830
|
-
return r.reverse(),
|
|
1837
|
+
return r.reverse(), er(e.version, r);
|
|
1831
1838
|
}
|
|
1832
1839
|
async getSpecificOverview(e, t) {
|
|
1833
|
-
return await
|
|
1834
|
-
let n = await this.v2RootFolderReader.readFile(
|
|
1840
|
+
return await T(async () => {
|
|
1841
|
+
let n = await this.v2RootFolderReader.readFile(Y(e) + Fn), r = f.parse(JSON.parse(Buffer.from(n).toString()));
|
|
1835
1842
|
return {
|
|
1836
1843
|
id: e,
|
|
1837
1844
|
meta: await this.embedMetaContent(e, await A(n), !1, r.description.meta),
|
|
@@ -1842,34 +1849,34 @@ var er = class {
|
|
|
1842
1849
|
channel: t
|
|
1843
1850
|
}
|
|
1844
1851
|
};
|
|
1845
|
-
},
|
|
1852
|
+
}, w);
|
|
1846
1853
|
}
|
|
1847
|
-
componentsCache = new
|
|
1854
|
+
componentsCache = new me({
|
|
1848
1855
|
max: 500,
|
|
1849
|
-
fetchMethod: async (e, t, { context: n }) => await
|
|
1850
|
-
let e = this.v2RootFolderReader.relativeReader(
|
|
1851
|
-
return
|
|
1852
|
-
},
|
|
1856
|
+
fetchMethod: async (e, t, { context: n }) => await T(async () => {
|
|
1857
|
+
let e = this.v2RootFolderReader.relativeReader(Y(n));
|
|
1858
|
+
return Ze(f.parse(JSON.parse(Buffer.from(await e.readFile(Nn)).toString())).description.components, e.rootUrl.toString());
|
|
1859
|
+
}, w)
|
|
1853
1860
|
});
|
|
1854
1861
|
async getComponents(e) {
|
|
1855
|
-
return await this.componentsCache.forceFetch(
|
|
1862
|
+
return await this.componentsCache.forceFetch(pe(e), { context: e });
|
|
1856
1863
|
}
|
|
1857
1864
|
async getKindOverview(e, t) {
|
|
1858
|
-
let { org: n, name: r } =
|
|
1865
|
+
let { org: n, name: r } = P(e), i = `${n}/${r}/${N}`;
|
|
1859
1866
|
try {
|
|
1860
|
-
return await
|
|
1867
|
+
return await T(async () => {
|
|
1861
1868
|
let e = await this.kindsRootFolderReader.readFile(i, { signal: t?.signal });
|
|
1862
|
-
return
|
|
1863
|
-
},
|
|
1869
|
+
return wt.parse(JSON.parse(Buffer.from(e).toString()));
|
|
1870
|
+
}, w);
|
|
1864
1871
|
} catch {
|
|
1865
1872
|
return;
|
|
1866
1873
|
}
|
|
1867
1874
|
}
|
|
1868
1875
|
async resolveKind(e, { allowUnstable: t }, n) {
|
|
1869
|
-
let { name: r, version: i } =
|
|
1870
|
-
if (a === void 0) throw new
|
|
1871
|
-
let o =
|
|
1872
|
-
if (!o.ok) throw new
|
|
1876
|
+
let { name: r, version: i } = S(e), a = await this.getKindOverview(r, n);
|
|
1877
|
+
if (a === void 0) throw new Xn("no-matching-kind-version", e);
|
|
1878
|
+
let o = Qn(a, i, { allowUnstable: t });
|
|
1879
|
+
if (!o.ok) throw new Xn(o.reason, e);
|
|
1873
1880
|
return {
|
|
1874
1881
|
type: "from-registry-v2",
|
|
1875
1882
|
id: o.blockId,
|
|
@@ -1877,7 +1884,10 @@ var er = class {
|
|
|
1877
1884
|
channel: o.channel
|
|
1878
1885
|
};
|
|
1879
1886
|
}
|
|
1880
|
-
},
|
|
1887
|
+
}, nr = class {
|
|
1888
|
+
client;
|
|
1889
|
+
bucket;
|
|
1890
|
+
root;
|
|
1881
1891
|
constructor(e, t, n) {
|
|
1882
1892
|
this.client = e, this.bucket = t, this.root = n;
|
|
1883
1893
|
}
|
|
@@ -1885,7 +1895,7 @@ var er = class {
|
|
|
1885
1895
|
try {
|
|
1886
1896
|
return Buffer.from(await (await this.client.getObject({
|
|
1887
1897
|
Bucket: this.bucket,
|
|
1888
|
-
Key:
|
|
1898
|
+
Key: E.join(this.root, e)
|
|
1889
1899
|
})).Body.transformToByteArray());
|
|
1890
1900
|
} catch (e) {
|
|
1891
1901
|
if (e instanceof Error && e.name === "NoSuchKey") return;
|
|
@@ -1893,89 +1903,90 @@ var er = class {
|
|
|
1893
1903
|
}
|
|
1894
1904
|
}
|
|
1895
1905
|
async listFiles(e) {
|
|
1896
|
-
let t =
|
|
1906
|
+
let t = E.join(this.root, e), n = ge({ client: this.client }, {
|
|
1897
1907
|
Bucket: this.bucket,
|
|
1898
1908
|
Prefix: t
|
|
1899
1909
|
}), r = [];
|
|
1900
|
-
for await (let e of n) r.push(...(e.Contents ?? []).map((e) =>
|
|
1910
|
+
for await (let e of n) r.push(...(e.Contents ?? []).map((e) => E.relative(t, e.Key)));
|
|
1901
1911
|
return r;
|
|
1902
1912
|
}
|
|
1903
1913
|
async putFile(e, t) {
|
|
1904
1914
|
await this.client.putObject({
|
|
1905
1915
|
Bucket: this.bucket,
|
|
1906
|
-
Key:
|
|
1916
|
+
Key: E.join(this.root, e),
|
|
1907
1917
|
Body: t
|
|
1908
1918
|
});
|
|
1909
1919
|
}
|
|
1910
1920
|
async deleteFiles(...e) {
|
|
1911
1921
|
let t = await this.client.deleteObjects({
|
|
1912
1922
|
Bucket: this.bucket,
|
|
1913
|
-
Delete: { Objects: e.map((e) => ({ Key:
|
|
1923
|
+
Delete: { Objects: e.map((e) => ({ Key: E.join(this.root, e) })) }
|
|
1914
1924
|
});
|
|
1915
1925
|
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")}`);
|
|
1916
1926
|
}
|
|
1917
|
-
},
|
|
1927
|
+
}, rr = class {
|
|
1918
1928
|
root;
|
|
1919
1929
|
constructor(t) {
|
|
1920
1930
|
this.root = e.resolve(t);
|
|
1921
1931
|
}
|
|
1922
1932
|
toAbsolutePath(t) {
|
|
1923
|
-
if (
|
|
1924
|
-
return e.resolve(this.root, t.split(
|
|
1933
|
+
if (E.isAbsolute(t)) throw Error("absolute path");
|
|
1934
|
+
return e.resolve(this.root, t.split(E.sep).join(e.sep));
|
|
1925
1935
|
}
|
|
1926
1936
|
async getFile(e) {
|
|
1927
1937
|
try {
|
|
1928
|
-
return await
|
|
1938
|
+
return await n.promises.readFile(this.toAbsolutePath(e));
|
|
1929
1939
|
} catch (e) {
|
|
1930
1940
|
if (e instanceof Error && "code" in e && e.code === "ENOENT") return;
|
|
1931
1941
|
throw e;
|
|
1932
1942
|
}
|
|
1933
1943
|
}
|
|
1934
|
-
async listFiles(
|
|
1944
|
+
async listFiles(t) {
|
|
1935
1945
|
try {
|
|
1936
|
-
let r = this.toAbsolutePath(
|
|
1937
|
-
return (await
|
|
1946
|
+
let r = this.toAbsolutePath(t);
|
|
1947
|
+
return (await n.promises.readdir(r, {
|
|
1938
1948
|
recursive: !0,
|
|
1939
1949
|
withFileTypes: !0
|
|
1940
|
-
})).filter((e) => e.isFile()).map((t) => e.relative(r, e.resolve(t.parentPath, t.name)).split(e.sep).join(
|
|
1950
|
+
})).filter((e) => e.isFile()).map((t) => e.relative(r, e.resolve(t.parentPath, t.name)).split(e.sep).join(E.sep));
|
|
1941
1951
|
} catch (e) {
|
|
1942
1952
|
if (e instanceof Error && "code" in e && e.code === "ENOENT") return [];
|
|
1943
1953
|
throw e;
|
|
1944
1954
|
}
|
|
1945
1955
|
}
|
|
1946
|
-
async putFile(
|
|
1947
|
-
let i = this.toAbsolutePath(
|
|
1948
|
-
await
|
|
1956
|
+
async putFile(t, r) {
|
|
1957
|
+
let i = this.toAbsolutePath(t);
|
|
1958
|
+
await n.promises.mkdir(e.dirname(i), { recursive: !0 }), await n.promises.writeFile(i, r);
|
|
1949
1959
|
}
|
|
1950
1960
|
async deleteFiles(...e) {
|
|
1951
|
-
for (let
|
|
1961
|
+
for (let t of e) await n.promises.rm(this.toAbsolutePath(t));
|
|
1952
1962
|
}
|
|
1953
1963
|
};
|
|
1954
|
-
function
|
|
1955
|
-
let n = new URL(t, `file:${e.resolve(".").split(e.sep).join(
|
|
1964
|
+
function ir(t) {
|
|
1965
|
+
let n = new URL(t, `file:${e.resolve(".").split(e.sep).join(E.sep)}/`);
|
|
1956
1966
|
switch (n.protocol) {
|
|
1957
|
-
case "file:": return new
|
|
1967
|
+
case "file:": return new rr(e.resolve(n.pathname));
|
|
1958
1968
|
case "s3:": {
|
|
1959
1969
|
let e = {}, t = n.searchParams.get("region");
|
|
1960
1970
|
t && (e.region = t);
|
|
1961
1971
|
let r = n.hostname;
|
|
1962
|
-
return new
|
|
1972
|
+
return new nr(new he(e), r, n.pathname.replace(/^\//, ""));
|
|
1963
1973
|
}
|
|
1964
1974
|
default: throw Error(`Unknown protocol: ${n.protocol}`);
|
|
1965
1975
|
}
|
|
1966
1976
|
}
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1977
|
+
// src/io/folder_reader.ts
|
|
1978
|
+
var ar = class e {
|
|
1979
|
+
rootUrl;
|
|
1980
|
+
httpDispatcher;
|
|
1970
1981
|
constructor(e, t) {
|
|
1971
1982
|
this.rootUrl = e, this.httpDispatcher = t;
|
|
1972
1983
|
}
|
|
1973
1984
|
async readFile(e, t) {
|
|
1974
|
-
let n =
|
|
1985
|
+
let n = new URL(e, this.rootUrl), r = await _e(n, {
|
|
1975
1986
|
dispatcher: this.httpDispatcher,
|
|
1976
1987
|
signal: t?.signal
|
|
1977
1988
|
});
|
|
1978
|
-
return Buffer.from(await
|
|
1989
|
+
return Buffer.from(await r.body.arrayBuffer());
|
|
1979
1990
|
}
|
|
1980
1991
|
relativeReader(t) {
|
|
1981
1992
|
return t.endsWith("/") || (t += "/"), new e(new URL(t, this.rootUrl), this.httpDispatcher);
|
|
@@ -1984,82 +1995,85 @@ var ir = class e {
|
|
|
1984
1995
|
let t = e === void 0 ? this : this.relativeReader(e);
|
|
1985
1996
|
return (e) => t.readFile(e);
|
|
1986
1997
|
}
|
|
1987
|
-
},
|
|
1998
|
+
}, or = class t {
|
|
1999
|
+
rootUrl;
|
|
2000
|
+
root;
|
|
1988
2001
|
constructor(e, t) {
|
|
1989
2002
|
this.rootUrl = e, this.root = t;
|
|
1990
2003
|
}
|
|
1991
2004
|
async readFile(t, n) {
|
|
1992
|
-
let i = e.join(this.root, ...t.split(
|
|
2005
|
+
let i = e.join(this.root, ...t.split(E.sep));
|
|
1993
2006
|
return await r.readFile(i, { signal: n?.signal });
|
|
1994
2007
|
}
|
|
1995
2008
|
relativeReader(n) {
|
|
1996
|
-
return n.endsWith("/") || (n += "/"), new t(new URL(n, this.rootUrl), e.join(this.root, ...n.split(
|
|
2009
|
+
return n.endsWith("/") || (n += "/"), new t(new URL(n, this.rootUrl), e.join(this.root, ...n.split(E.sep)));
|
|
1997
2010
|
}
|
|
1998
2011
|
getContentReader(e) {
|
|
1999
2012
|
let t = e === void 0 ? this : this.relativeReader(e);
|
|
2000
2013
|
return (e) => t.readFile(e);
|
|
2001
2014
|
}
|
|
2002
2015
|
};
|
|
2003
|
-
function or(t) {
|
|
2004
|
-
return t.split(T.sep).join(e.sep);
|
|
2005
|
-
}
|
|
2006
2016
|
function sr(t) {
|
|
2007
|
-
return t.split(
|
|
2017
|
+
return t.split(E.sep).join(e.sep);
|
|
2018
|
+
}
|
|
2019
|
+
function cr(t) {
|
|
2020
|
+
return t.split(e.sep).join(E.sep);
|
|
2008
2021
|
}
|
|
2009
|
-
function
|
|
2022
|
+
function lr(t, n) {
|
|
2010
2023
|
t.endsWith("/") || (t += "/");
|
|
2011
|
-
let r = new URL(t, `file:${
|
|
2024
|
+
let r = new URL(t, `file:${cr(e.resolve("."))}/`);
|
|
2012
2025
|
switch (r.protocol) {
|
|
2013
|
-
case "file:": return new
|
|
2026
|
+
case "file:": return new or(r, sr(r.pathname));
|
|
2014
2027
|
case "https:":
|
|
2015
|
-
case "http:": return new
|
|
2028
|
+
case "http:": return new ar(r, n ?? ve());
|
|
2016
2029
|
default: throw Error(`Unknown protocol: ${r.protocol}`);
|
|
2017
2030
|
}
|
|
2018
2031
|
}
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
package: S.string(),
|
|
2032
|
+
// src/common_types.ts
|
|
2033
|
+
var ur = C.string().regex(/^(?:s3:|file:)/), dr = C.object({
|
|
2034
|
+
organization: C.string(),
|
|
2035
|
+
package: C.string(),
|
|
2024
2036
|
version: m.optional(),
|
|
2025
|
-
files:
|
|
2026
|
-
meta:
|
|
2027
|
-
}),
|
|
2028
|
-
registries:
|
|
2029
|
-
registry:
|
|
2030
|
-
}),
|
|
2037
|
+
files: C.record(C.string().regex(/^[^/]+$/), C.string()).default({}),
|
|
2038
|
+
meta: C.object({}).passthrough()
|
|
2039
|
+
}), fr = C.object({
|
|
2040
|
+
registries: C.record(C.string(), ur).default({}),
|
|
2041
|
+
registry: C.string().optional()
|
|
2042
|
+
}), pr = fr.merge(dr).required({
|
|
2031
2043
|
registry: !0,
|
|
2032
2044
|
version: !0
|
|
2033
|
-
}),
|
|
2045
|
+
}), mr = pr.partial().required({
|
|
2034
2046
|
registries: !0,
|
|
2035
2047
|
files: !0
|
|
2036
|
-
}),
|
|
2037
|
-
function
|
|
2038
|
-
return `${
|
|
2048
|
+
}), hr = "pl.package.json", gr = "pl.package.yaml", _r = "v1/";
|
|
2049
|
+
function vr(e) {
|
|
2050
|
+
return `${_r}${e.organization}/${e.package}/${e.version}`;
|
|
2039
2051
|
}
|
|
2040
|
-
function
|
|
2041
|
-
return `${
|
|
2052
|
+
function yr(e, t) {
|
|
2053
|
+
return `${_r}${e.organization}/${e.package}/${e.version}/${t}`;
|
|
2042
2054
|
}
|
|
2043
|
-
function
|
|
2044
|
-
return `${
|
|
2055
|
+
function br(e) {
|
|
2056
|
+
return `${_r}${e.organization}/${e.package}/overview.json`;
|
|
2045
2057
|
}
|
|
2046
|
-
var
|
|
2047
|
-
function
|
|
2048
|
-
return `${
|
|
2058
|
+
var xr = `${_r}overview.json`, Sr = "meta.json", Cr = "_updates_v1/per_package_version/";
|
|
2059
|
+
function wr(e, t) {
|
|
2060
|
+
return `${Cr}${e.organization}/${e.package}/${e.version}/${t}`;
|
|
2049
2061
|
}
|
|
2050
|
-
var
|
|
2062
|
+
var Tr = /(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<pkg>[^/]+))\/(?<version>[^/]+)\/(?<seed>[^/]+)$/, Er = "_updates_v1/_global_update_in", Dr = "_updates_v1/_global_update_out", Or = class {
|
|
2063
|
+
storage;
|
|
2064
|
+
logger;
|
|
2051
2065
|
constructor(e, t) {
|
|
2052
2066
|
this.storage = e, this.logger = t;
|
|
2053
2067
|
}
|
|
2054
2068
|
constructNewPackage(e) {
|
|
2055
|
-
return new
|
|
2069
|
+
return new kr(this.storage, e);
|
|
2056
2070
|
}
|
|
2057
2071
|
async updateRegistry() {
|
|
2058
2072
|
this.logger?.info("Initiating registry refresh...");
|
|
2059
|
-
let e = /* @__PURE__ */ new Map(), t = [], n = await this.storage.listFiles(
|
|
2073
|
+
let e = /* @__PURE__ */ new Map(), t = [], n = await this.storage.listFiles(Cr);
|
|
2060
2074
|
this.logger?.info("Packages to be updated:");
|
|
2061
2075
|
for (let r of n) {
|
|
2062
|
-
let n = r.match(
|
|
2076
|
+
let n = r.match(Tr);
|
|
2063
2077
|
if (!n) continue;
|
|
2064
2078
|
t.push(r);
|
|
2065
2079
|
let { packageKeyWithoutVersion: i, organization: a, pkg: o, version: s, seed: c } = n.groups, l = e.get(i);
|
|
@@ -2068,25 +2082,25 @@ var Cr = /(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<pkg>[^/]+))\/(?
|
|
|
2068
2082
|
organization: a,
|
|
2069
2083
|
package: o
|
|
2070
2084
|
},
|
|
2071
|
-
versions: new Set([s])
|
|
2085
|
+
versions: /* @__PURE__ */ new Set([s])
|
|
2072
2086
|
}), this.logger?.info(` - ${a}:${o}:${s}`);
|
|
2073
2087
|
}
|
|
2074
|
-
let r = await this.storage.getFile(
|
|
2088
|
+
let r = await this.storage.getFile(xr), i = r === void 0 ? [] : JSON.parse(r.toString());
|
|
2075
2089
|
this.logger?.info(`Global overview loaded, ${i.length} records`);
|
|
2076
2090
|
for (let [, t] of e.entries()) {
|
|
2077
|
-
let e =
|
|
2091
|
+
let e = br(t.package), n = await this.storage.getFile(e), r = n === void 0 ? [] : JSON.parse(n.toString());
|
|
2078
2092
|
this.logger?.info(`Updating ${t.package.organization}:${t.package.package} overview, ${r.length} records`), r = r.filter((e) => !t.versions.has(e.version));
|
|
2079
2093
|
for (let [e] of t.versions.entries()) {
|
|
2080
|
-
let n = e.toString(), i = await this.storage.getFile(
|
|
2094
|
+
let n = e.toString(), i = await this.storage.getFile(yr({
|
|
2081
2095
|
...t.package,
|
|
2082
2096
|
version: n
|
|
2083
|
-
},
|
|
2097
|
+
}, Sr));
|
|
2084
2098
|
i && r.push({
|
|
2085
2099
|
version: n,
|
|
2086
2100
|
meta: JSON.parse(i.toString())
|
|
2087
2101
|
});
|
|
2088
2102
|
}
|
|
2089
|
-
r.sort((e, t) =>
|
|
2103
|
+
r.sort((e, t) => q.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({
|
|
2090
2104
|
organization: t.package.organization,
|
|
2091
2105
|
package: t.package.package,
|
|
2092
2106
|
allVersions: r.map((e) => e.version).reverse(),
|
|
@@ -2094,40 +2108,41 @@ var Cr = /(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<pkg>[^/]+))\/(?
|
|
|
2094
2108
|
latestMeta: r[0].meta
|
|
2095
2109
|
});
|
|
2096
2110
|
}
|
|
2097
|
-
await this.storage.putFile(
|
|
2111
|
+
await this.storage.putFile(xr, Buffer.from(JSON.stringify(i))), this.logger?.info(`Global overview updated (${i.length} records)`), await this.storage.deleteFiles(...t.map((e) => `${Cr}${e}`)), this.logger?.info("Version update requests cleared");
|
|
2098
2112
|
}
|
|
2099
2113
|
async updateIfNeeded(e = !1) {
|
|
2100
2114
|
this.logger?.info("Checking if registry requires refresh...");
|
|
2101
|
-
let t = await this.storage.getFile(
|
|
2102
|
-
!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(
|
|
2115
|
+
let t = await this.storage.getFile(Er), n = await this.storage.getFile(Dr);
|
|
2116
|
+
!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(Dr, t), this.logger?.info("Refresh finished")));
|
|
2103
2117
|
}
|
|
2104
2118
|
async getPackageOverview(e) {
|
|
2105
|
-
let t = await this.storage.getFile(
|
|
2119
|
+
let t = await this.storage.getFile(br(e));
|
|
2106
2120
|
if (t !== void 0) return JSON.parse(t.toString());
|
|
2107
2121
|
}
|
|
2108
2122
|
async getGlobalOverview() {
|
|
2109
|
-
let e = await this.storage.getFile(
|
|
2123
|
+
let e = await this.storage.getFile(xr);
|
|
2110
2124
|
if (e !== void 0) return JSON.parse(e.toString());
|
|
2111
2125
|
}
|
|
2112
|
-
},
|
|
2126
|
+
}, kr = class {
|
|
2127
|
+
storage;
|
|
2128
|
+
name;
|
|
2113
2129
|
metaAdded = !1;
|
|
2114
|
-
seed =
|
|
2130
|
+
seed = oe();
|
|
2115
2131
|
constructor(e, t) {
|
|
2116
2132
|
this.storage = e, this.name = t;
|
|
2117
2133
|
}
|
|
2118
2134
|
async addFile(e, t) {
|
|
2119
|
-
await this.storage.putFile(
|
|
2135
|
+
await this.storage.putFile(yr(this.name, e), t);
|
|
2120
2136
|
}
|
|
2121
2137
|
async writeMeta(e) {
|
|
2122
|
-
await this.addFile(
|
|
2138
|
+
await this.addFile(Sr, Buffer.from(JSON.stringify(e))), this.metaAdded = !0;
|
|
2123
2139
|
}
|
|
2124
2140
|
async finish() {
|
|
2125
2141
|
if (!this.metaAdded) throw Error("meta not added");
|
|
2126
|
-
await this.storage.putFile(
|
|
2142
|
+
await this.storage.putFile(wr(this.name, this.seed), Buffer.of(0)), await this.storage.putFile(Er, Buffer.from(this.seed));
|
|
2127
2143
|
}
|
|
2128
2144
|
};
|
|
2129
|
-
|
|
2130
|
-
//#region src/registry_v1/config.ts
|
|
2145
|
+
// src/registry_v1/config.ts
|
|
2131
2146
|
function $(e, t) {
|
|
2132
2147
|
return t === void 0 ? e : {
|
|
2133
2148
|
...e,
|
|
@@ -2142,17 +2157,18 @@ function $(e, t) {
|
|
|
2142
2157
|
}
|
|
2143
2158
|
};
|
|
2144
2159
|
}
|
|
2145
|
-
async function
|
|
2146
|
-
return nt(e, (e) =>
|
|
2160
|
+
async function Ar(e) {
|
|
2161
|
+
return nt(e, (e) => mr.parse(JSON.parse(e.toString())));
|
|
2147
2162
|
}
|
|
2148
|
-
async function
|
|
2149
|
-
return nt(e, (e) =>
|
|
2163
|
+
async function jr(e) {
|
|
2164
|
+
return nt(e, (e) => mr.parse(ye.parse(e.toString())));
|
|
2150
2165
|
}
|
|
2151
|
-
async function
|
|
2152
|
-
let e =
|
|
2153
|
-
return e = $(e, await
|
|
2166
|
+
async function Mr() {
|
|
2167
|
+
let e = mr.parse({});
|
|
2168
|
+
return e = $(e, await Ar("./.pl.reg.json")), e = $(e, await jr("./.pl.reg.yaml")), e = $(e, await Ar(`${be.homedir()}/.pl.reg.json`)), e = $(e, await jr(`${be.homedir()}/.pl.reg.yaml`)), e = $(e, await Ar(hr)), e = $(e, await jr(gr)), e;
|
|
2154
2169
|
}
|
|
2155
|
-
var
|
|
2170
|
+
var Nr = class {
|
|
2171
|
+
conf;
|
|
2156
2172
|
constructor(e) {
|
|
2157
2173
|
this.conf = e;
|
|
2158
2174
|
}
|
|
@@ -2163,7 +2179,7 @@ var jr = class {
|
|
|
2163
2179
|
if (!e) throw Error(`Registry with alias "${t}" not found`);
|
|
2164
2180
|
t = e;
|
|
2165
2181
|
}
|
|
2166
|
-
return new
|
|
2182
|
+
return new Or(ir(t), e);
|
|
2167
2183
|
}
|
|
2168
2184
|
get fullPackageName() {
|
|
2169
2185
|
return {
|
|
@@ -2173,11 +2189,10 @@ var jr = class {
|
|
|
2173
2189
|
};
|
|
2174
2190
|
}
|
|
2175
2191
|
};
|
|
2176
|
-
async function
|
|
2177
|
-
let t = await
|
|
2178
|
-
return new
|
|
2192
|
+
async function Pr(e) {
|
|
2193
|
+
let t = await Mr();
|
|
2194
|
+
return new Nr(pr.parse($(t, e)));
|
|
2179
2195
|
}
|
|
2180
|
-
|
|
2181
|
-
export { Dt as $, X as A, Xe as At, Y as B, Le as Bt, Jn as C, at as Ct, kn as D, Qe as Dt, Mn as E, $e as Et, In as F, Ue as Ft, F as G, He as Gt, Rn as H, Re as Ht, jn as I, We as It, Ft as J, Me as Jt, Pt as K, ze as Kt, Fn as L, Fe as Lt, q as M, Ke as Mt, Pn as N, qe as Nt, An as O, Ze as Ot, Vn as P, Je as Pt, Ot as Q, Bn as R, Ie as Rt, Zn as S, ct as St, Nn as T, et as Tt, Ln as U, Be as Ut, J as V, Ne as Vt, Z as W, Ve as Wt, jt as X, Ae as Xt, Nt as Y, De as Yt, Mt as Z, rr as _, ht as _t, _r as a, xt as at, Yn as b, dt as bt, ur as c, bt as ct, dr as d, vt as dt, kt as et, fr as f, yt as ft, tr as g, pt as gt, nr as h, mt as ht, br as i, _t as it, On as j, Ge as jt, Hn as k, Ye as kt, mr as l, wt as lt, cr as m, j as mt, Mr as n, P as nt, yr as o, Tt as ot, pr as p, N as pt, It as q, je as qt, Q as r, St as rt, vr as s, gt as st, jr as t, Ct as tt, hr as u, M as ut, er as v, ft as vt, Kn as w, k as wt, qn as x, ot as xt, $n as y, ut as yt, zn as z, Pe as zt };
|
|
2196
|
+
export { Dt as $, Z as A, Je as At, X as B, Ne as Bt, Yn as C, ct as Ct, An as D, Qe as Dt, J as E, $e as Et, Ln as F, qe as Ft, vn as G, Be as Gt, zn as H, Me as Ht, Mn as I, He as It, Ft as J, Ae as Jt, I as K, Ve as Kt, In as L, Ue as Lt, Nn as M, We as Mt, Fn as N, Ge as Nt, jn as O, Ze as Ot, Hn as P, Ke as Pt, jt as Q, Oe as Qt, Vn as R, Pe as Rt, Qn as S, ot as St, Pn as T, tt as Tt, Rn as U, Le as Ut, Y as V, Ie as Vt, Q as W, ze as Wt, Mt as X, Ee as Xt, Pt as Y, je as Yt, At as Z, ke as Zt, ir as _, pt as _t, vr as a, gt as at, Xn as b, j as bt, dr as c, N as ct, fr as d, M as dt, Et as et, pr as f, _t as ft, nr as g, mt as gt, rr as h, lt as ht, Sr as i, xt as it, kn as j, Ye as jt, Un as k, Xe as kt, hr as l, yt as lt, lr as m, P as mt, Pr as n, St as nt, br as o, bt as ot, mr as p, vt as pt, Nt as q, Re as qt, xr as r, F as rt, yr as s, wt as st, Nr as t, Ot as tt, gr as u, Ct as ut, tr as v, ht as vt, qn as w, at as wt, Jn as x, dt as xt, er as y, ft as yt, Bn as z, Fe as zt };
|
|
2182
2197
|
|
|
2183
|
-
//# sourceMappingURL=config-
|
|
2198
|
+
//# sourceMappingURL=config-C07cYptA.mjs.map
|