@vltpkg/cli-js 1.0.10 → 1.1.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/{access-4RPC3X5N.js → access-YYMAAPHV.js} +42 -11
- package/{bugs-K6QLQLL4.js → bugs-RK5JBPSC.js} +19 -19
- package/{build-VD4L5IED.js → build-DVJSYCNF.js} +8 -9
- package/{cache-Q6FUUEQF.js → cache-JKQNGZ7L.js} +21 -15
- package/{chunk-5JFRXIK2.js → chunk-2PWSMJD7.js} +20 -1
- package/{chunk-5HBKYSTX.js → chunk-34TE4HZS.js} +36 -4
- package/{chunk-WAYVHANF.js → chunk-3LUM7NX5.js} +30 -5
- package/{chunk-NA732FNL.js → chunk-6FT6K5YN.js} +98 -6
- package/{chunk-HAYXR3MW.js → chunk-APMYKJI2.js} +1 -1
- package/{chunk-ZNCVQQDT.js → chunk-BWEH7DHQ.js} +2 -2
- package/{chunk-5HPGL5WS.js → chunk-CBASIDQH.js} +1 -1
- package/{chunk-MNK55XSE.js → chunk-CEHPRPGQ.js} +21 -0
- package/{chunk-2YJ5MESP.js → chunk-DF5K4CYR.js} +6 -10
- package/{chunk-DAS7TVRN.js → chunk-DR4Z63B6.js} +5 -5
- package/{chunk-NWLS3VOQ.js → chunk-DS7YMIHP.js} +239 -131
- package/{chunk-XUP35M5Q.js → chunk-GDT6KI4I.js} +4 -4
- package/{chunk-FUCQ7ARR.js → chunk-JZJWASXL.js} +36 -25
- package/{chunk-B5IILBX7.js → chunk-KDF7PEBY.js} +4 -4
- package/{chunk-P5S2TFCF.js → chunk-LN2A74PF.js} +14 -10
- package/{chunk-VL7RJVNN.js → chunk-LR42WTKN.js} +20 -11
- package/chunk-MZA6N2TA.js +190 -0
- package/{chunk-3564IL5W.js → chunk-QQYTPGIL.js} +1 -1
- package/chunk-SNOBGFNM.js +129 -0
- package/{chunk-LPIBYUMT.js → chunk-U7TEQCBN.js} +27 -1
- package/{chunk-TYRKIWGF.js → chunk-V4YCZZHY.js} +3 -3
- package/chunk-WD74RJXW.js +75 -0
- package/{chunk-XFI4THXZ.js → chunk-WE2TQN32.js} +1 -1
- package/{chunk-USTJECVS.js → chunk-X2AWQGYG.js} +1 -1
- package/{chunk-BSPUKIWY.js → chunk-XIF734VO.js} +12 -2
- package/chunk-YBVTY6ZW.js +91 -0
- package/{ci-G4PJWJQE.js → ci-WVYVR4XK.js} +10 -11
- package/cli-package.json +1 -1
- package/{config-WTIWWXRD.js → config-2MFZVP2N.js} +11 -11
- package/{config-66ARNESN.js → config-VYOTYBGS.js} +8 -6
- package/{create-DF6RQTHC.js → create-OJPLHBRR.js} +18 -18
- package/{deprecate-2KTC2HKH.js → deprecate-V4PKGFF7.js} +22 -19
- package/{dist-tag-QKJQIOGN.js → dist-tag-DNLV4VDE.js} +24 -26
- package/{docs-YSWJTGYX.js → docs-LXHDCGL5.js} +19 -19
- package/{exec-5XIMPSBI.js → exec-P32YSP44.js} +18 -18
- package/{exec-cache-OGX7WR5P.js → exec-cache-JZ5PDTOY.js} +16 -16
- package/{exec-local-SB7EPYED.js → exec-local-HHA464H4.js} +14 -15
- package/{help-GMCQHGVN.js → help-GVTTOYUL.js} +4 -5
- package/{init-KXIIWHBA.js → init-RENGG74N.js} +8 -9
- package/{install-ODTEMAMS.js → install-V6VXOBH2.js} +38 -15
- package/{list-QS4FLJSU.js → list-7N7Y5OXB.js} +42 -30
- package/{login-6TGYRY43.js → login-D2QSAUJC.js} +12 -12
- package/{logout-GOAB7KHJ.js → logout-QPOYBQNF.js} +8 -8
- package/{pack-PJDH6PKP.js → pack-4YYGXP3A.js} +12 -13
- package/package.json +1 -1
- package/{ping-ANBW2IRW.js → ping-QYRIZONU.js} +8 -8
- package/{pkg-GZWUXU65.js → pkg-WQTNABKT.js} +11 -12
- package/{profile-BLY74CMB.js → profile-PRI7WXK7.js} +21 -8
- package/{publish-W2KOTNMB.js → publish-PSBYJQS7.js} +33 -75
- package/{query-3PUMU5ON.js → query-UFYLQW4N.js} +36 -24
- package/{registry-ONSDWNPV.js → registry-YTJZ3AQD.js} +3 -3
- package/registry-client-src-revalidate.js +426 -217
- package/{repo-LZ6STH4C.js → repo-4S6ETFXX.js} +19 -19
- package/{reporter-SDMDYYMJ.js → reporter-GLWYHI2Y.js} +23 -1
- package/{run-JMIBADHE.js → run-OU7NUB7A.js} +14 -15
- package/{run-exec-JEKM2O53.js → run-exec-QPBY7ULE.js} +14 -15
- package/security-archive-src-update-expired.js +97 -63
- package/{setup-BTBU3NAI.js → setup-23QXG473.js} +43 -24
- package/{src-J4BAYOBO.js → src-3GN7TDNH.js} +14 -6
- package/{src-23VBKASP.js → src-575IYJOL.js} +17 -18
- package/{token-PUJ7QN6D.js → token-FCIA3RGD.js} +9 -9
- package/{uninstall-OTISP2T7.js → uninstall-BQVZVKB5.js} +12 -12
- package/{unpublish-X75EEQAN.js → unpublish-YGJ5HEYF.js} +43 -40
- package/{update-CKXX5POE.js → update-WCGV66JK.js} +35 -13
- package/{version-24B2X7M7.js → version-7EA3UQG7.js} +10 -11
- package/{view-Q7MAQ6R3.js → view-5FWIENVE.js} +10 -10
- package/vlr.js +1 -1
- package/vlrx.js +1 -1
- package/vlt.js +1 -1
- package/vlx.js +1 -1
- package/vlxl.js +1 -1
- package/{whoami-S6CQZFE3.js → whoami-O4ZTBIC4.js} +29 -13
- package/chunk-E74WGW5C.js +0 -49
- package/chunk-UBLFPJHV.js +0 -40
- package/chunk-Y3QEV76Q.js +0 -75
- package/registry-client-package.json +0 -75
|
@@ -1076,7 +1076,7 @@ var require_util = __commonJS({
|
|
|
1076
1076
|
return new BodyAsyncIterable(body);
|
|
1077
1077
|
} else if (body && isFormDataLike(body)) {
|
|
1078
1078
|
return body;
|
|
1079
|
-
} else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) &&
|
|
1079
|
+
} else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable3(body)) {
|
|
1080
1080
|
return new BodyAsyncIterable(body);
|
|
1081
1081
|
} else {
|
|
1082
1082
|
return body;
|
|
@@ -1197,7 +1197,7 @@ var require_util = __commonJS({
|
|
|
1197
1197
|
function isAsyncIterable(obj) {
|
|
1198
1198
|
return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
|
|
1199
1199
|
}
|
|
1200
|
-
function
|
|
1200
|
+
function isIterable3(obj) {
|
|
1201
1201
|
return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
|
|
1202
1202
|
}
|
|
1203
1203
|
function hasSafeIterator(obj) {
|
|
@@ -1808,7 +1808,7 @@ var require_util = __commonJS({
|
|
|
1808
1808
|
parseURL,
|
|
1809
1809
|
getServerName,
|
|
1810
1810
|
isStream,
|
|
1811
|
-
isIterable:
|
|
1811
|
+
isIterable: isIterable3,
|
|
1812
1812
|
hasSafeIterator,
|
|
1813
1813
|
isAsyncIterable,
|
|
1814
1814
|
isDestroyed,
|
|
@@ -1930,14 +1930,14 @@ var require_diagnostics = __commonJS({
|
|
|
1930
1930
|
"undici:client:beforeConnect",
|
|
1931
1931
|
(evt) => {
|
|
1932
1932
|
const {
|
|
1933
|
-
connectParams: { version
|
|
1933
|
+
connectParams: { version, protocol, port, host }
|
|
1934
1934
|
} = evt;
|
|
1935
1935
|
debugLog(
|
|
1936
1936
|
"connecting to %s%s using %s%s",
|
|
1937
1937
|
host,
|
|
1938
1938
|
port ? `:${port}` : "",
|
|
1939
1939
|
protocol,
|
|
1940
|
-
|
|
1940
|
+
version
|
|
1941
1941
|
);
|
|
1942
1942
|
}
|
|
1943
1943
|
);
|
|
@@ -1945,14 +1945,14 @@ var require_diagnostics = __commonJS({
|
|
|
1945
1945
|
"undici:client:connected",
|
|
1946
1946
|
(evt) => {
|
|
1947
1947
|
const {
|
|
1948
|
-
connectParams: { version
|
|
1948
|
+
connectParams: { version, protocol, port, host }
|
|
1949
1949
|
} = evt;
|
|
1950
1950
|
debugLog(
|
|
1951
1951
|
"connected to %s%s using %s%s",
|
|
1952
1952
|
host,
|
|
1953
1953
|
port ? `:${port}` : "",
|
|
1954
1954
|
protocol,
|
|
1955
|
-
|
|
1955
|
+
version
|
|
1956
1956
|
);
|
|
1957
1957
|
}
|
|
1958
1958
|
);
|
|
@@ -1960,7 +1960,7 @@ var require_diagnostics = __commonJS({
|
|
|
1960
1960
|
"undici:client:connectError",
|
|
1961
1961
|
(evt) => {
|
|
1962
1962
|
const {
|
|
1963
|
-
connectParams: { version
|
|
1963
|
+
connectParams: { version, protocol, port, host },
|
|
1964
1964
|
error: error2
|
|
1965
1965
|
} = evt;
|
|
1966
1966
|
debugLog(
|
|
@@ -1968,7 +1968,7 @@ var require_diagnostics = __commonJS({
|
|
|
1968
1968
|
host,
|
|
1969
1969
|
port ? `:${port}` : "",
|
|
1970
1970
|
protocol,
|
|
1971
|
-
|
|
1971
|
+
version,
|
|
1972
1972
|
error2.message
|
|
1973
1973
|
);
|
|
1974
1974
|
}
|
|
@@ -2117,7 +2117,7 @@ var require_request = __commonJS({
|
|
|
2117
2117
|
destroy,
|
|
2118
2118
|
isBuffer,
|
|
2119
2119
|
isFormDataLike,
|
|
2120
|
-
isIterable:
|
|
2120
|
+
isIterable: isIterable3,
|
|
2121
2121
|
hasSafeIterator,
|
|
2122
2122
|
isBlobLike,
|
|
2123
2123
|
serializePathWithQuery,
|
|
@@ -2232,7 +2232,7 @@ var require_request = __commonJS({
|
|
|
2232
2232
|
this.body = body.byteLength ? Buffer.from(body) : null;
|
|
2233
2233
|
} else if (typeof body === "string") {
|
|
2234
2234
|
this.body = body.length ? Buffer.from(body) : null;
|
|
2235
|
-
} else if (isFormDataLike(body) ||
|
|
2235
|
+
} else if (isFormDataLike(body) || isIterable3(body) || isBlobLike(body)) {
|
|
2236
2236
|
this.body = body;
|
|
2237
2237
|
} else {
|
|
2238
2238
|
throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
|
|
@@ -2744,9 +2744,9 @@ var require_dispatcher_base = __commonJS({
|
|
|
2744
2744
|
}
|
|
2745
2745
|
close(callback) {
|
|
2746
2746
|
if (callback === void 0) {
|
|
2747
|
-
return new Promise((
|
|
2747
|
+
return new Promise((resolve10, reject) => {
|
|
2748
2748
|
this.close((err, data) => {
|
|
2749
|
-
return err ? reject(err) :
|
|
2749
|
+
return err ? reject(err) : resolve10(data);
|
|
2750
2750
|
});
|
|
2751
2751
|
});
|
|
2752
2752
|
}
|
|
@@ -2784,9 +2784,9 @@ var require_dispatcher_base = __commonJS({
|
|
|
2784
2784
|
err = null;
|
|
2785
2785
|
}
|
|
2786
2786
|
if (callback === void 0) {
|
|
2787
|
-
return new Promise((
|
|
2787
|
+
return new Promise((resolve10, reject) => {
|
|
2788
2788
|
this.destroy(err, (err2, data) => {
|
|
2789
|
-
return err2 ? reject(err2) :
|
|
2789
|
+
return err2 ? reject(err2) : resolve10(data);
|
|
2790
2790
|
});
|
|
2791
2791
|
});
|
|
2792
2792
|
}
|
|
@@ -6283,8 +6283,8 @@ var require_promise = __commonJS({
|
|
|
6283
6283
|
function createDeferredPromise() {
|
|
6284
6284
|
let res;
|
|
6285
6285
|
let rej;
|
|
6286
|
-
const promise = new Promise((
|
|
6287
|
-
res =
|
|
6286
|
+
const promise = new Promise((resolve10, reject) => {
|
|
6287
|
+
res = resolve10;
|
|
6288
6288
|
rej = reject;
|
|
6289
6289
|
});
|
|
6290
6290
|
return { promise, resolve: res, reject: rej };
|
|
@@ -7688,12 +7688,12 @@ upgrade: ${upgrade}\r
|
|
|
7688
7688
|
cb();
|
|
7689
7689
|
}
|
|
7690
7690
|
}
|
|
7691
|
-
const waitForDrain = () => new Promise((
|
|
7691
|
+
const waitForDrain = () => new Promise((resolve10, reject) => {
|
|
7692
7692
|
assert(callback === null);
|
|
7693
7693
|
if (socket[kError]) {
|
|
7694
7694
|
reject(socket[kError]);
|
|
7695
7695
|
} else {
|
|
7696
|
-
callback =
|
|
7696
|
+
callback = resolve10;
|
|
7697
7697
|
}
|
|
7698
7698
|
});
|
|
7699
7699
|
socket.on("close", onDrain).on("drain", onDrain);
|
|
@@ -8538,12 +8538,12 @@ var require_client_h2 = __commonJS({
|
|
|
8538
8538
|
cb();
|
|
8539
8539
|
}
|
|
8540
8540
|
}
|
|
8541
|
-
const waitForDrain = () => new Promise((
|
|
8541
|
+
const waitForDrain = () => new Promise((resolve10, reject) => {
|
|
8542
8542
|
assert(callback === null);
|
|
8543
8543
|
if (socket[kError]) {
|
|
8544
8544
|
reject(socket[kError]);
|
|
8545
8545
|
} else {
|
|
8546
|
-
callback =
|
|
8546
|
+
callback = resolve10;
|
|
8547
8547
|
}
|
|
8548
8548
|
});
|
|
8549
8549
|
h2stream.on("close", onDrain).on("drain", onDrain);
|
|
@@ -8859,16 +8859,16 @@ var require_client = __commonJS({
|
|
|
8859
8859
|
return this[kNeedDrain] < 2;
|
|
8860
8860
|
}
|
|
8861
8861
|
[kClose]() {
|
|
8862
|
-
return new Promise((
|
|
8862
|
+
return new Promise((resolve10) => {
|
|
8863
8863
|
if (this[kSize]) {
|
|
8864
|
-
this[kClosedResolve] =
|
|
8864
|
+
this[kClosedResolve] = resolve10;
|
|
8865
8865
|
} else {
|
|
8866
|
-
|
|
8866
|
+
resolve10(null);
|
|
8867
8867
|
}
|
|
8868
8868
|
});
|
|
8869
8869
|
}
|
|
8870
8870
|
[kDestroy](err) {
|
|
8871
|
-
return new Promise((
|
|
8871
|
+
return new Promise((resolve10) => {
|
|
8872
8872
|
const requests = this[kQueue].splice(this[kPendingIdx]);
|
|
8873
8873
|
for (let i2 = 0; i2 < requests.length; i2++) {
|
|
8874
8874
|
const request2 = requests[i2];
|
|
@@ -8879,7 +8879,7 @@ var require_client = __commonJS({
|
|
|
8879
8879
|
this[kClosedResolve]();
|
|
8880
8880
|
this[kClosedResolve] = null;
|
|
8881
8881
|
}
|
|
8882
|
-
|
|
8882
|
+
resolve10(null);
|
|
8883
8883
|
};
|
|
8884
8884
|
if (this[kHTTPContext]) {
|
|
8885
8885
|
this[kHTTPContext].destroy(err, callback);
|
|
@@ -9284,8 +9284,8 @@ var require_pool_base = __commonJS({
|
|
|
9284
9284
|
}
|
|
9285
9285
|
return Promise.all(closeAll);
|
|
9286
9286
|
} else {
|
|
9287
|
-
return new Promise((
|
|
9288
|
-
this[kClosedResolve] =
|
|
9287
|
+
return new Promise((resolve10) => {
|
|
9288
|
+
this[kClosedResolve] = resolve10;
|
|
9289
9289
|
});
|
|
9290
9290
|
}
|
|
9291
9291
|
}
|
|
@@ -10155,10 +10155,10 @@ var require_socks5_client = __commonJS({
|
|
|
10155
10155
|
if (this.buffer.length < 2) {
|
|
10156
10156
|
return;
|
|
10157
10157
|
}
|
|
10158
|
-
const
|
|
10158
|
+
const version = this.buffer[0];
|
|
10159
10159
|
const method = this.buffer[1];
|
|
10160
|
-
if (
|
|
10161
|
-
throw new Socks5ProxyError(`Invalid SOCKS version: ${
|
|
10160
|
+
if (version !== SOCKS_VERSION) {
|
|
10161
|
+
throw new Socks5ProxyError(`Invalid SOCKS version: ${version}`, "UND_ERR_SOCKS5_VERSION");
|
|
10162
10162
|
}
|
|
10163
10163
|
if (method === AUTH_METHODS.NO_ACCEPTABLE) {
|
|
10164
10164
|
throw new Socks5ProxyError("No acceptable authentication method", "UND_ERR_SOCKS5_AUTH_REJECTED");
|
|
@@ -10203,10 +10203,10 @@ var require_socks5_client = __commonJS({
|
|
|
10203
10203
|
if (this.buffer.length < 2) {
|
|
10204
10204
|
return;
|
|
10205
10205
|
}
|
|
10206
|
-
const
|
|
10206
|
+
const version = this.buffer[0];
|
|
10207
10207
|
const status = this.buffer[1];
|
|
10208
|
-
if (
|
|
10209
|
-
throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${
|
|
10208
|
+
if (version !== 1) {
|
|
10209
|
+
throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${version}`, "UND_ERR_SOCKS5_AUTH_VERSION");
|
|
10210
10210
|
}
|
|
10211
10211
|
if (status !== 0) {
|
|
10212
10212
|
throw new Socks5ProxyError("Authentication failed", "UND_ERR_SOCKS5_AUTH_FAILED");
|
|
@@ -10253,11 +10253,11 @@ var require_socks5_client = __commonJS({
|
|
|
10253
10253
|
if (this.buffer.length < 4) {
|
|
10254
10254
|
return;
|
|
10255
10255
|
}
|
|
10256
|
-
const
|
|
10256
|
+
const version = this.buffer[0];
|
|
10257
10257
|
const reply = this.buffer[1];
|
|
10258
10258
|
const addressType = this.buffer[3];
|
|
10259
|
-
if (
|
|
10260
|
-
throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${
|
|
10259
|
+
if (version !== SOCKS_VERSION) {
|
|
10260
|
+
throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${version}`, "UND_ERR_SOCKS5_REPLY_VERSION");
|
|
10261
10261
|
}
|
|
10262
10262
|
let responseLength = 4;
|
|
10263
10263
|
if (addressType === ADDRESS_TYPES.IPV4) {
|
|
@@ -10402,7 +10402,7 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10402
10402
|
const proxyHost = this[kProxyUrl].hostname;
|
|
10403
10403
|
const proxyPort = parseInt(this[kProxyUrl].port) || 1080;
|
|
10404
10404
|
debug2("creating SOCKS5 connection to", proxyHost, proxyPort);
|
|
10405
|
-
const socket = await new Promise((
|
|
10405
|
+
const socket = await new Promise((resolve10, reject) => {
|
|
10406
10406
|
this[kConnector]({
|
|
10407
10407
|
hostname: proxyHost,
|
|
10408
10408
|
host: proxyHost,
|
|
@@ -10412,7 +10412,7 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10412
10412
|
if (err) {
|
|
10413
10413
|
reject(err);
|
|
10414
10414
|
} else {
|
|
10415
|
-
|
|
10415
|
+
resolve10(socket2);
|
|
10416
10416
|
}
|
|
10417
10417
|
});
|
|
10418
10418
|
});
|
|
@@ -10422,14 +10422,14 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10422
10422
|
socket.destroy();
|
|
10423
10423
|
});
|
|
10424
10424
|
await socks5Client.handshake();
|
|
10425
|
-
await new Promise((
|
|
10425
|
+
await new Promise((resolve10, reject) => {
|
|
10426
10426
|
const timeout = setTimeout(() => {
|
|
10427
10427
|
reject(new Error("SOCKS5 authentication timeout"));
|
|
10428
10428
|
}, 5e3);
|
|
10429
10429
|
const onAuthenticated = () => {
|
|
10430
10430
|
clearTimeout(timeout);
|
|
10431
10431
|
socks5Client.removeListener("error", onError);
|
|
10432
|
-
|
|
10432
|
+
resolve10();
|
|
10433
10433
|
};
|
|
10434
10434
|
const onError = (err) => {
|
|
10435
10435
|
clearTimeout(timeout);
|
|
@@ -10438,14 +10438,14 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10438
10438
|
};
|
|
10439
10439
|
if (socks5Client.state === STATES.AUTHENTICATED) {
|
|
10440
10440
|
clearTimeout(timeout);
|
|
10441
|
-
|
|
10441
|
+
resolve10();
|
|
10442
10442
|
} else {
|
|
10443
10443
|
socks5Client.once("authenticated", onAuthenticated);
|
|
10444
10444
|
socks5Client.once("error", onError);
|
|
10445
10445
|
}
|
|
10446
10446
|
});
|
|
10447
10447
|
await socks5Client.connect(targetHost, targetPort);
|
|
10448
|
-
await new Promise((
|
|
10448
|
+
await new Promise((resolve10, reject) => {
|
|
10449
10449
|
const timeout = setTimeout(() => {
|
|
10450
10450
|
reject(new Error("SOCKS5 connection timeout"));
|
|
10451
10451
|
}, 5e3);
|
|
@@ -10453,7 +10453,7 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10453
10453
|
debug2("SOCKS5 tunnel established to", targetHost, targetPort, "via", info);
|
|
10454
10454
|
clearTimeout(timeout);
|
|
10455
10455
|
socks5Client.removeListener("error", onError);
|
|
10456
|
-
|
|
10456
|
+
resolve10();
|
|
10457
10457
|
};
|
|
10458
10458
|
const onError = (err) => {
|
|
10459
10459
|
clearTimeout(timeout);
|
|
@@ -10496,8 +10496,8 @@ var require_socks5_proxy_agent = __commonJS({
|
|
|
10496
10496
|
socket,
|
|
10497
10497
|
servername: this[kRequestTls]?.servername || targetHost
|
|
10498
10498
|
});
|
|
10499
|
-
await new Promise((
|
|
10500
|
-
finalSocket.once("secureConnect",
|
|
10499
|
+
await new Promise((resolve10, reject) => {
|
|
10500
|
+
finalSocket.once("secureConnect", resolve10);
|
|
10501
10501
|
finalSocket.once("error", reject);
|
|
10502
10502
|
});
|
|
10503
10503
|
}
|
|
@@ -11553,7 +11553,7 @@ var require_readable = __commonJS({
|
|
|
11553
11553
|
if (this._readableState.closeEmitted) {
|
|
11554
11554
|
return Promise.resolve(null);
|
|
11555
11555
|
}
|
|
11556
|
-
return new Promise((
|
|
11556
|
+
return new Promise((resolve10, reject) => {
|
|
11557
11557
|
if (this[kContentLength] && this[kContentLength] > limit || this[kBytesRead] > limit) {
|
|
11558
11558
|
this.destroy(new AbortError());
|
|
11559
11559
|
}
|
|
@@ -11567,11 +11567,11 @@ var require_readable = __commonJS({
|
|
|
11567
11567
|
if (signal.aborted) {
|
|
11568
11568
|
reject(signal.reason ?? new AbortError());
|
|
11569
11569
|
} else {
|
|
11570
|
-
|
|
11570
|
+
resolve10(null);
|
|
11571
11571
|
}
|
|
11572
11572
|
});
|
|
11573
11573
|
} else {
|
|
11574
|
-
this.on("close",
|
|
11574
|
+
this.on("close", resolve10);
|
|
11575
11575
|
}
|
|
11576
11576
|
this.on("error", noop).on("data", () => {
|
|
11577
11577
|
if (this[kBytesRead] > limit) {
|
|
@@ -11599,7 +11599,7 @@ var require_readable = __commonJS({
|
|
|
11599
11599
|
}
|
|
11600
11600
|
function consume(stream, type) {
|
|
11601
11601
|
assert(!stream[kConsume]);
|
|
11602
|
-
return new Promise((
|
|
11602
|
+
return new Promise((resolve10, reject) => {
|
|
11603
11603
|
if (isUnusable(stream)) {
|
|
11604
11604
|
const rState = stream._readableState;
|
|
11605
11605
|
if (rState.destroyed && rState.closeEmitted === false) {
|
|
@@ -11614,7 +11614,7 @@ var require_readable = __commonJS({
|
|
|
11614
11614
|
stream[kConsume] = {
|
|
11615
11615
|
type,
|
|
11616
11616
|
stream,
|
|
11617
|
-
resolve:
|
|
11617
|
+
resolve: resolve10,
|
|
11618
11618
|
reject,
|
|
11619
11619
|
length: 0,
|
|
11620
11620
|
body: []
|
|
@@ -11688,18 +11688,18 @@ var require_readable = __commonJS({
|
|
|
11688
11688
|
return buffer;
|
|
11689
11689
|
}
|
|
11690
11690
|
function consumeEnd(consume2, encoding) {
|
|
11691
|
-
const { type, body, resolve:
|
|
11691
|
+
const { type, body, resolve: resolve10, stream, length } = consume2;
|
|
11692
11692
|
try {
|
|
11693
11693
|
if (type === "text") {
|
|
11694
|
-
|
|
11694
|
+
resolve10(chunksDecode(body, length, encoding));
|
|
11695
11695
|
} else if (type === "json") {
|
|
11696
|
-
|
|
11696
|
+
resolve10(JSON.parse(chunksDecode(body, length, encoding)));
|
|
11697
11697
|
} else if (type === "arrayBuffer") {
|
|
11698
|
-
|
|
11698
|
+
resolve10(chunksConcat(body, length).buffer);
|
|
11699
11699
|
} else if (type === "blob") {
|
|
11700
|
-
|
|
11700
|
+
resolve10(new Blob(body, { type: stream[kContentType] }));
|
|
11701
11701
|
} else if (type === "bytes") {
|
|
11702
|
-
|
|
11702
|
+
resolve10(chunksConcat(body, length));
|
|
11703
11703
|
}
|
|
11704
11704
|
consumeFinish(consume2);
|
|
11705
11705
|
} catch (err) {
|
|
@@ -11889,9 +11889,9 @@ var require_api_request = __commonJS({
|
|
|
11889
11889
|
};
|
|
11890
11890
|
function request2(opts, callback) {
|
|
11891
11891
|
if (callback === void 0) {
|
|
11892
|
-
return new Promise((
|
|
11892
|
+
return new Promise((resolve10, reject) => {
|
|
11893
11893
|
request2.call(this, opts, (err, data) => {
|
|
11894
|
-
return err ? reject(err) :
|
|
11894
|
+
return err ? reject(err) : resolve10(data);
|
|
11895
11895
|
});
|
|
11896
11896
|
});
|
|
11897
11897
|
}
|
|
@@ -12103,9 +12103,9 @@ var require_api_stream = __commonJS({
|
|
|
12103
12103
|
};
|
|
12104
12104
|
function stream(opts, factory, callback) {
|
|
12105
12105
|
if (callback === void 0) {
|
|
12106
|
-
return new Promise((
|
|
12106
|
+
return new Promise((resolve10, reject) => {
|
|
12107
12107
|
stream.call(this, opts, factory, (err, data) => {
|
|
12108
|
-
return err ? reject(err) :
|
|
12108
|
+
return err ? reject(err) : resolve10(data);
|
|
12109
12109
|
});
|
|
12110
12110
|
});
|
|
12111
12111
|
}
|
|
@@ -12393,9 +12393,9 @@ var require_api_upgrade = __commonJS({
|
|
|
12393
12393
|
};
|
|
12394
12394
|
function upgrade(opts, callback) {
|
|
12395
12395
|
if (callback === void 0) {
|
|
12396
|
-
return new Promise((
|
|
12396
|
+
return new Promise((resolve10, reject) => {
|
|
12397
12397
|
upgrade.call(this, opts, (err, data) => {
|
|
12398
|
-
return err ? reject(err) :
|
|
12398
|
+
return err ? reject(err) : resolve10(data);
|
|
12399
12399
|
});
|
|
12400
12400
|
});
|
|
12401
12401
|
}
|
|
@@ -12488,9 +12488,9 @@ var require_api_connect = __commonJS({
|
|
|
12488
12488
|
};
|
|
12489
12489
|
function connect(opts, callback) {
|
|
12490
12490
|
if (callback === void 0) {
|
|
12491
|
-
return new Promise((
|
|
12491
|
+
return new Promise((resolve10, reject) => {
|
|
12492
12492
|
connect.call(this, opts, (err, data) => {
|
|
12493
|
-
return err ? reject(err) :
|
|
12493
|
+
return err ? reject(err) : resolve10(data);
|
|
12494
12494
|
});
|
|
12495
12495
|
});
|
|
12496
12496
|
}
|
|
@@ -12599,7 +12599,7 @@ var require_mock_utils = __commonJS({
|
|
|
12599
12599
|
kTotalDispatchCount
|
|
12600
12600
|
} = require_mock_symbols();
|
|
12601
12601
|
var { serializePathWithQuery } = require_util();
|
|
12602
|
-
var { STATUS_CODES:
|
|
12602
|
+
var { STATUS_CODES: STATUS_CODES3 } = __require("node:http");
|
|
12603
12603
|
var {
|
|
12604
12604
|
types: {
|
|
12605
12605
|
isPromise
|
|
@@ -12807,7 +12807,7 @@ var require_mock_utils = __commonJS({
|
|
|
12807
12807
|
return result;
|
|
12808
12808
|
}
|
|
12809
12809
|
function getStatusText(statusCode) {
|
|
12810
|
-
return
|
|
12810
|
+
return STATUS_CODES3[statusCode] || "unknown";
|
|
12811
12811
|
}
|
|
12812
12812
|
async function getResponse(body) {
|
|
12813
12813
|
const buffers = [];
|
|
@@ -13764,7 +13764,7 @@ var require_snapshot_recorder = __commonJS({
|
|
|
13764
13764
|
"../../node_modules/.vlt/~npm~undici@7.29.0/node_modules/undici/lib/mock/snapshot-recorder.js"(exports, module3) {
|
|
13765
13765
|
"use strict";
|
|
13766
13766
|
var { writeFile: writeFile3, readFile: readFile4, mkdir: mkdir3 } = __require("node:fs/promises");
|
|
13767
|
-
var { dirname:
|
|
13767
|
+
var { dirname: dirname4, resolve: resolve10 } = __require("node:path");
|
|
13768
13768
|
var { setTimeout: setTimeout4, clearTimeout: clearTimeout2 } = __require("node:timers");
|
|
13769
13769
|
var { InvalidArgumentError, UndiciError } = require_errors();
|
|
13770
13770
|
var { hashId, isUrlExcludedFactory, normalizeHeaders, createHeaderFilters } = require_snapshot_utils();
|
|
@@ -13965,7 +13965,7 @@ var require_snapshot_recorder = __commonJS({
|
|
|
13965
13965
|
throw new InvalidArgumentError("Snapshot path is required");
|
|
13966
13966
|
}
|
|
13967
13967
|
try {
|
|
13968
|
-
const data = await readFile4(
|
|
13968
|
+
const data = await readFile4(resolve10(path2), "utf8");
|
|
13969
13969
|
const parsed = JSON.parse(data);
|
|
13970
13970
|
if (Array.isArray(parsed)) {
|
|
13971
13971
|
this.#snapshots.clear();
|
|
@@ -13994,8 +13994,8 @@ var require_snapshot_recorder = __commonJS({
|
|
|
13994
13994
|
if (!path2) {
|
|
13995
13995
|
throw new InvalidArgumentError("Snapshot path is required");
|
|
13996
13996
|
}
|
|
13997
|
-
const resolvedPath =
|
|
13998
|
-
await mkdir3(
|
|
13997
|
+
const resolvedPath = resolve10(path2);
|
|
13998
|
+
await mkdir3(dirname4(resolvedPath), { recursive: true });
|
|
13999
13999
|
const data = Array.from(this.#snapshots.entries()).map(([hash2, snapshot]) => ({
|
|
14000
14000
|
hash: hash2,
|
|
14001
14001
|
snapshot
|
|
@@ -20413,7 +20413,7 @@ var require_fetch = __commonJS({
|
|
|
20413
20413
|
var { dataURLProcessor, serializeAMimeType, minimizeSupportedMimeType } = require_data_url();
|
|
20414
20414
|
var { getGlobalDispatcher } = require_global2();
|
|
20415
20415
|
var { webidl } = require_webidl();
|
|
20416
|
-
var { STATUS_CODES:
|
|
20416
|
+
var { STATUS_CODES: STATUS_CODES3 } = __require("node:http");
|
|
20417
20417
|
var { bytesMatch } = require_subresource_integrity();
|
|
20418
20418
|
var { createDeferredPromise } = require_promise();
|
|
20419
20419
|
var { isomorphicEncode } = require_infra();
|
|
@@ -21307,7 +21307,7 @@ var require_fetch = __commonJS({
|
|
|
21307
21307
|
const agent = fetchParams.controller.dispatcher;
|
|
21308
21308
|
const path2 = url.pathname + url.search;
|
|
21309
21309
|
const hasTrailingQuestionMark = url.search.length === 0 && url.href[url.href.length - url.hash.length - 1] === "?";
|
|
21310
|
-
return new Promise((
|
|
21310
|
+
return new Promise((resolve10, reject) => agent.dispatch(
|
|
21311
21311
|
{
|
|
21312
21312
|
path: hasTrailingQuestionMark ? `${path2}?` : path2,
|
|
21313
21313
|
origin: url.origin,
|
|
@@ -21395,7 +21395,7 @@ var require_fetch = __commonJS({
|
|
|
21395
21395
|
}
|
|
21396
21396
|
}
|
|
21397
21397
|
const onError = this.onError.bind(this);
|
|
21398
|
-
|
|
21398
|
+
resolve10({
|
|
21399
21399
|
status,
|
|
21400
21400
|
statusText,
|
|
21401
21401
|
headersList,
|
|
@@ -21448,9 +21448,9 @@ var require_fetch = __commonJS({
|
|
|
21448
21448
|
headersList.append(headerName, String(value), true);
|
|
21449
21449
|
}
|
|
21450
21450
|
}
|
|
21451
|
-
|
|
21451
|
+
resolve10({
|
|
21452
21452
|
status,
|
|
21453
|
-
statusText:
|
|
21453
|
+
statusText: STATUS_CODES3[status],
|
|
21454
21454
|
headersList,
|
|
21455
21455
|
socket
|
|
21456
21456
|
});
|
|
@@ -21472,9 +21472,9 @@ var require_fetch = __commonJS({
|
|
|
21472
21472
|
headersList.append(nameStr, value.toString("latin1"), true);
|
|
21473
21473
|
}
|
|
21474
21474
|
}
|
|
21475
|
-
|
|
21475
|
+
resolve10({
|
|
21476
21476
|
status,
|
|
21477
|
-
statusText:
|
|
21477
|
+
statusText: STATUS_CODES3[status],
|
|
21478
21478
|
headersList,
|
|
21479
21479
|
socket
|
|
21480
21480
|
});
|
|
@@ -30402,11 +30402,11 @@ var maybeNumber = (s) => {
|
|
|
30402
30402
|
const n7 = Number(s);
|
|
30403
30403
|
return n7 <= Number.MAX_SAFE_INTEGER ? n7 : s;
|
|
30404
30404
|
};
|
|
30405
|
-
var safeNumber = (s,
|
|
30405
|
+
var safeNumber = (s, version, field) => {
|
|
30406
30406
|
const n7 = Number(s);
|
|
30407
30407
|
if (n7 > Number.MAX_SAFE_INTEGER) {
|
|
30408
30408
|
throw invalidVersion(
|
|
30409
|
-
|
|
30409
|
+
version,
|
|
30410
30410
|
`invalid ${field}, must be <= ${Number.MAX_SAFE_INTEGER}`
|
|
30411
30411
|
);
|
|
30412
30412
|
}
|
|
@@ -30419,10 +30419,10 @@ var re2 = {
|
|
|
30419
30419
|
build: /\+([0-9a-zA-Z_.-]+)$/,
|
|
30420
30420
|
full: /^[ v=]*(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9a-zA-Z_.-]+))?(?:\+([0-9a-zA-Z_.-]+))?$/
|
|
30421
30421
|
};
|
|
30422
|
-
var invalidVersion = (
|
|
30422
|
+
var invalidVersion = (version, message) => {
|
|
30423
30423
|
const er = syntaxError(
|
|
30424
30424
|
`invalid version: ${message}`,
|
|
30425
|
-
{ version
|
|
30425
|
+
{ version },
|
|
30426
30426
|
Version
|
|
30427
30427
|
);
|
|
30428
30428
|
return er;
|
|
@@ -30454,35 +30454,35 @@ var Version = class _Version {
|
|
|
30454
30454
|
return `${this.major}.${this.minor}.${this.patch}${this.prerelease ? "-" + this.prerelease.join(".") : ""}${this.build ? "+" + this.build.join(".") : ""}`;
|
|
30455
30455
|
}
|
|
30456
30456
|
/** Generate a `Version` object from a SemVer string */
|
|
30457
|
-
static parse(
|
|
30458
|
-
|
|
30459
|
-
if (
|
|
30457
|
+
static parse(version) {
|
|
30458
|
+
version = version.replace(re2.prefix, "").trim();
|
|
30459
|
+
if (version.length > 256) {
|
|
30460
30460
|
throw invalidVersion(
|
|
30461
|
-
|
|
30461
|
+
version,
|
|
30462
30462
|
"must be less than 256 characters"
|
|
30463
30463
|
);
|
|
30464
30464
|
}
|
|
30465
|
-
const parsed = re2.full.exec(
|
|
30465
|
+
const parsed = re2.full.exec(version);
|
|
30466
30466
|
if (!parsed) {
|
|
30467
|
-
const main2 = re2.main.exec(
|
|
30467
|
+
const main2 = re2.main.exec(version);
|
|
30468
30468
|
if (!main2) {
|
|
30469
30469
|
throw invalidVersion(
|
|
30470
|
-
|
|
30470
|
+
version,
|
|
30471
30471
|
"no Major.minor.patch tuple present"
|
|
30472
30472
|
);
|
|
30473
30473
|
} else {
|
|
30474
30474
|
throw invalidVersion(
|
|
30475
|
-
|
|
30475
|
+
version,
|
|
30476
30476
|
"invalid build or patch section"
|
|
30477
30477
|
);
|
|
30478
30478
|
}
|
|
30479
30479
|
}
|
|
30480
30480
|
const [_3, major_, minor_, patch_, prerelease, build] = parsed;
|
|
30481
|
-
const major2 = safeNumber(major_,
|
|
30482
|
-
const minor2 = safeNumber(minor_,
|
|
30483
|
-
const patch = safeNumber(patch_,
|
|
30481
|
+
const major2 = safeNumber(major_, version, "major");
|
|
30482
|
+
const minor2 = safeNumber(minor_, version, "minor");
|
|
30483
|
+
const patch = safeNumber(patch_, version, "patch");
|
|
30484
30484
|
return new _Version(
|
|
30485
|
-
|
|
30485
|
+
version,
|
|
30486
30486
|
major2,
|
|
30487
30487
|
minor2,
|
|
30488
30488
|
patch,
|
|
@@ -30490,8 +30490,8 @@ var Version = class _Version {
|
|
|
30490
30490
|
build
|
|
30491
30491
|
);
|
|
30492
30492
|
}
|
|
30493
|
-
constructor(
|
|
30494
|
-
this.raw =
|
|
30493
|
+
constructor(version, major2, minor2, patch, prerelease, build) {
|
|
30494
|
+
this.raw = version;
|
|
30495
30495
|
this.major = major2;
|
|
30496
30496
|
this.minor = minor2;
|
|
30497
30497
|
this.patch = patch;
|
|
@@ -30499,7 +30499,7 @@ var Version = class _Version {
|
|
|
30499
30499
|
this.prerelease = fastSplit(prerelease, ".", -1, (c) => {
|
|
30500
30500
|
if (!c) {
|
|
30501
30501
|
throw invalidVersion(
|
|
30502
|
-
|
|
30502
|
+
version,
|
|
30503
30503
|
"invalid prerelease, empty identifiers not allowed"
|
|
30504
30504
|
);
|
|
30505
30505
|
}
|
|
@@ -30510,7 +30510,7 @@ var Version = class _Version {
|
|
|
30510
30510
|
this.build = fastSplit(build, ".", -1, (c) => {
|
|
30511
30511
|
if (!c) {
|
|
30512
30512
|
throw invalidVersion(
|
|
30513
|
-
|
|
30513
|
+
version,
|
|
30514
30514
|
"invalid build metadata, empty identifiers not allowed"
|
|
30515
30515
|
);
|
|
30516
30516
|
}
|
|
@@ -32141,7 +32141,7 @@ var SpawnPromise = class extends Promise {
|
|
|
32141
32141
|
Object.assign(errorResult, extra);
|
|
32142
32142
|
rej(error("command failed", errorResult));
|
|
32143
32143
|
};
|
|
32144
|
-
const
|
|
32144
|
+
const resolve10 = (status, signal) => {
|
|
32145
32145
|
const stdio = stdioResult(stdout, stderr, opts);
|
|
32146
32146
|
const successResult = {
|
|
32147
32147
|
command,
|
|
@@ -32162,7 +32162,7 @@ var SpawnPromise = class extends Promise {
|
|
|
32162
32162
|
if ((status || signal) && !opts.acceptFail) {
|
|
32163
32163
|
reject(void 0, status, signal);
|
|
32164
32164
|
} else {
|
|
32165
|
-
|
|
32165
|
+
resolve10(status, signal);
|
|
32166
32166
|
}
|
|
32167
32167
|
});
|
|
32168
32168
|
});
|
|
@@ -32440,49 +32440,86 @@ var XDG = class {
|
|
|
32440
32440
|
};
|
|
32441
32441
|
|
|
32442
32442
|
// ../../src/registry-client/src/index.ts
|
|
32443
|
+
var import_undici3 = __toESM(require_undici(), 1);
|
|
32443
32444
|
import { randomUUID } from "node:crypto";
|
|
32444
|
-
import { readFileSync as
|
|
32445
|
-
import { STATUS_CODES } from "node:http";
|
|
32445
|
+
import { readFileSync as readFileSync2 } from "node:fs";
|
|
32446
|
+
import { STATUS_CODES as STATUS_CODES2 } from "node:http";
|
|
32446
32447
|
import { availableParallelism } from "node:os";
|
|
32447
|
-
import { dirname as
|
|
32448
|
+
import { dirname as dirname3, resolve as resolve9 } from "node:path";
|
|
32448
32449
|
import { setTimeout as setTimeout3 } from "node:timers/promises";
|
|
32449
32450
|
|
|
32450
|
-
// ../../
|
|
32451
|
-
|
|
32452
|
-
|
|
32453
|
-
|
|
32454
|
-
|
|
32455
|
-
|
|
32456
|
-
|
|
32457
|
-
|
|
32458
|
-
|
|
32459
|
-
|
|
32460
|
-
|
|
32461
|
-
|
|
32462
|
-
|
|
32463
|
-
|
|
32464
|
-
|
|
32465
|
-
|
|
32466
|
-
|
|
32467
|
-
|
|
32468
|
-
|
|
32469
|
-
|
|
32470
|
-
|
|
32471
|
-
|
|
32472
|
-
|
|
32473
|
-
|
|
32474
|
-
|
|
32475
|
-
|
|
32476
|
-
|
|
32477
|
-
|
|
32478
|
-
|
|
32451
|
+
// ../../src/user-agent/package.json
|
|
32452
|
+
var package_default = {
|
|
32453
|
+
name: "@vltpkg/user-agent",
|
|
32454
|
+
description: "The User-Agent string that vlt sends with every outbound request",
|
|
32455
|
+
version: "1.1.1",
|
|
32456
|
+
repository: {
|
|
32457
|
+
type: "git",
|
|
32458
|
+
url: "git+https://github.com/vltpkg/vltpkg.git",
|
|
32459
|
+
directory: "src/user-agent"
|
|
32460
|
+
},
|
|
32461
|
+
author: "vlt technology inc. <support@vlt.sh> (http://vlt.sh)",
|
|
32462
|
+
devDependencies: {
|
|
32463
|
+
"@eslint/js": "catalog:",
|
|
32464
|
+
"@types/node": "catalog:",
|
|
32465
|
+
eslint: "catalog:",
|
|
32466
|
+
prettier: "catalog:",
|
|
32467
|
+
tap: "catalog:",
|
|
32468
|
+
typedoc: "catalog:",
|
|
32469
|
+
typescript: "catalog:",
|
|
32470
|
+
"typescript-eslint": "catalog:"
|
|
32471
|
+
},
|
|
32472
|
+
license: "BSD-2-Clause-Patent",
|
|
32473
|
+
engines: {
|
|
32474
|
+
node: ">=22.22.0"
|
|
32475
|
+
},
|
|
32476
|
+
scripts: {
|
|
32477
|
+
format: "prettier --write . --log-level warn --ignore-path ../../.prettierignore --cache",
|
|
32478
|
+
"format:check": "prettier --check . --ignore-path ../../.prettierignore --cache",
|
|
32479
|
+
lint: "eslint . --fix",
|
|
32480
|
+
"lint:check": "eslint .",
|
|
32481
|
+
prepack: "tsc -p tsconfig.publish.json && ../../scripts/update-dist-exports.ts",
|
|
32482
|
+
snap: "tap",
|
|
32483
|
+
test: "tap",
|
|
32484
|
+
posttest: "tsc --noEmit",
|
|
32485
|
+
typecheck: "tsc --noEmit"
|
|
32486
|
+
},
|
|
32487
|
+
tap: {
|
|
32488
|
+
extends: "../../tap-config.yaml"
|
|
32489
|
+
},
|
|
32490
|
+
prettier: "../../.prettierrc.js",
|
|
32491
|
+
module: "./src/index.ts",
|
|
32492
|
+
type: "module",
|
|
32493
|
+
exports: {
|
|
32494
|
+
"./package.json": "./package.json",
|
|
32495
|
+
".": {
|
|
32496
|
+
import: {
|
|
32497
|
+
default: "./src/index.ts"
|
|
32498
|
+
}
|
|
32479
32499
|
}
|
|
32480
|
-
}
|
|
32500
|
+
},
|
|
32501
|
+
files: [
|
|
32502
|
+
"dist"
|
|
32503
|
+
],
|
|
32504
|
+
bugs: {
|
|
32505
|
+
url: "https://github.com/vltpkg/vltpkg/issues"
|
|
32506
|
+
},
|
|
32507
|
+
homepage: "https://github.com/vltpkg/vltpkg/tree/main/src/user-agent#readme"
|
|
32481
32508
|
};
|
|
32482
|
-
var loadPackageJson = (from, pathFromSrc = "../package.json") => JSON.parse(readFileSync2(findPackageJson(from, pathFromSrc), "utf8"));
|
|
32483
32509
|
|
|
32484
|
-
// ../../src/
|
|
32485
|
-
var
|
|
32510
|
+
// ../../src/user-agent/src/index.ts
|
|
32511
|
+
var { navigator: nav, process: proc } = globalThis;
|
|
32512
|
+
var versions = proc?.versions ?? {};
|
|
32513
|
+
var isObj = (v3) => typeof v3 === "object" && !!v3;
|
|
32514
|
+
var { Deno, Bun } = globalThis;
|
|
32515
|
+
var isDeno2 = isObj(Deno);
|
|
32516
|
+
var isBun = !isDeno2 && isObj(Bun);
|
|
32517
|
+
var isNode = !isDeno2 && !isBun && "node" in versions;
|
|
32518
|
+
var bun = isBun ? versions.bun : void 0;
|
|
32519
|
+
var deno = isDeno2 ? versions.deno : void 0;
|
|
32520
|
+
var node = isNode ? versions.node : void 0;
|
|
32521
|
+
var runtime = nav?.userAgent ?? (bun ? `Bun/${bun}` : deno ? `Deno/${deno}` : node ? `Node.js/${node}` : "(unknown platform)");
|
|
32522
|
+
var userAgent = `vlt/${package_default.version} ${runtime}`;
|
|
32486
32523
|
|
|
32487
32524
|
// ../../src/registry-client/src/is-iterable.ts
|
|
32488
32525
|
var isIterable = (o) => !!o && typeof o === "object" && Symbol.iterator in o;
|
|
@@ -32490,27 +32527,23 @@ var isIterable = (o) => !!o && typeof o === "object" && Symbol.iterator in o;
|
|
|
32490
32527
|
// ../../src/registry-client/src/delete-header.ts
|
|
32491
32528
|
var deleteHeader = (headers, key) => {
|
|
32492
32529
|
if (!headers) return {};
|
|
32530
|
+
const lk = key.toLowerCase();
|
|
32493
32531
|
if (Array.isArray(headers)) {
|
|
32494
32532
|
if (!headers.length) return headers;
|
|
32495
|
-
|
|
32496
|
-
|
|
32497
|
-
|
|
32498
|
-
);
|
|
32499
|
-
if (
|
|
32500
|
-
|
|
32501
|
-
const h = headers;
|
|
32502
|
-
for (let i2 = 0; i2 < h.length; i2 += 2) {
|
|
32503
|
-
if (h[i2]?.toLowerCase() === key.toLowerCase()) {
|
|
32504
|
-
headers.splice(i2, 2);
|
|
32505
|
-
break;
|
|
32506
|
-
}
|
|
32507
|
-
}
|
|
32533
|
+
const step = Array.isArray(headers[0]) ? 1 : 2;
|
|
32534
|
+
for (let i2 = 0; i2 < headers.length; ) {
|
|
32535
|
+
const h = headers[i2];
|
|
32536
|
+
const k4 = Array.isArray(h) ? h[0] : h;
|
|
32537
|
+
if (k4.toLowerCase() === lk) headers.splice(i2, step);
|
|
32538
|
+
else i2 += step;
|
|
32508
32539
|
}
|
|
32509
32540
|
return headers;
|
|
32510
32541
|
} else if (isIterable(headers)) {
|
|
32511
32542
|
return deleteHeader([...headers], key);
|
|
32512
32543
|
} else {
|
|
32513
|
-
|
|
32544
|
+
for (const k4 of Object.keys(headers)) {
|
|
32545
|
+
if (k4.toLowerCase() === lk) delete headers[k4];
|
|
32546
|
+
}
|
|
32514
32547
|
return headers;
|
|
32515
32548
|
}
|
|
32516
32549
|
};
|
|
@@ -32535,7 +32568,7 @@ var addHeader = (headers, key, value) => {
|
|
|
32535
32568
|
|
|
32536
32569
|
// ../../src/keychain/src/index.ts
|
|
32537
32570
|
import { mkdir as mkdir2, readFile as readFile2, rename as rename3, writeFile as writeFile2 } from "node:fs/promises";
|
|
32538
|
-
import { dirname as
|
|
32571
|
+
import { dirname as dirname2 } from "node:path";
|
|
32539
32572
|
var Keychain = class {
|
|
32540
32573
|
#data;
|
|
32541
32574
|
#didExitSave = false;
|
|
@@ -32589,7 +32622,7 @@ var Keychain = class {
|
|
|
32589
32622
|
return this.#data ? Object.keys(this.#data) : [];
|
|
32590
32623
|
}
|
|
32591
32624
|
async #mkdir() {
|
|
32592
|
-
await mkdir2(
|
|
32625
|
+
await mkdir2(dirname2(this.#file), {
|
|
32593
32626
|
recursive: true,
|
|
32594
32627
|
mode: 448
|
|
32595
32628
|
});
|
|
@@ -32681,18 +32714,11 @@ var getTokenByURL = async (requestUrl, identity) => {
|
|
|
32681
32714
|
for (const k4 of await kc.keys()) {
|
|
32682
32715
|
candidates.push(k4);
|
|
32683
32716
|
}
|
|
32684
|
-
|
|
32685
|
-
|
|
32686
|
-
|
|
32687
|
-
if (
|
|
32688
|
-
bestKey = candidate;
|
|
32689
|
-
bestLen = candidate.length;
|
|
32690
|
-
}
|
|
32717
|
+
const matches = candidates.filter((c) => normalized === c || normalized.startsWith(c + "/")).sort((a2, b) => b.length - a2.length);
|
|
32718
|
+
for (const key of matches) {
|
|
32719
|
+
const tok = await getToken(key, identity);
|
|
32720
|
+
if (tok) return tok;
|
|
32691
32721
|
}
|
|
32692
|
-
if (bestKey) {
|
|
32693
|
-
return getToken(bestKey, identity);
|
|
32694
|
-
}
|
|
32695
|
-
return getToken(requestUrl, identity);
|
|
32696
32722
|
};
|
|
32697
32723
|
|
|
32698
32724
|
// ../../src/registry-client/src/cache-entry.ts
|
|
@@ -32941,6 +32967,19 @@ var CacheEntry = class _CacheEntry {
|
|
|
32941
32967
|
get statusCode() {
|
|
32942
32968
|
return this.#statusCode;
|
|
32943
32969
|
}
|
|
32970
|
+
/**
|
|
32971
|
+
* True when the registry answered with a 2xx.
|
|
32972
|
+
*
|
|
32973
|
+
* `RegistryClient.request()` resolves for every status, so this is how
|
|
32974
|
+
* code holding a real CacheEntry asks "did it work?".
|
|
32975
|
+
*
|
|
32976
|
+
* Note this is the strict form. Use it only where a genuine CacheEntry
|
|
32977
|
+
* is guaranteed; `assertOk` uses the loose range check because it is
|
|
32978
|
+
* also handed duck-typed responses.
|
|
32979
|
+
*/
|
|
32980
|
+
get ok() {
|
|
32981
|
+
return this.#statusCode >= 200 && this.#statusCode < 300;
|
|
32982
|
+
}
|
|
32944
32983
|
get headers() {
|
|
32945
32984
|
return this.#headers;
|
|
32946
32985
|
}
|
|
@@ -33284,12 +33323,12 @@ var emptyCacheEntry = new CacheEntry(0, [], { contentLength: 0 });
|
|
|
33284
33323
|
// ../../src/registry-client/src/cache-revalidate.ts
|
|
33285
33324
|
import { spawn as spawn3 } from "node:child_process";
|
|
33286
33325
|
import module2 from "node:module";
|
|
33287
|
-
var
|
|
33326
|
+
var isDeno3 = globalThis.Deno != void 0;
|
|
33288
33327
|
var didProcessBeforeExitHook2 = false;
|
|
33289
33328
|
var registered2 = /* @__PURE__ */ new Map();
|
|
33290
|
-
var register2 = (path2, method, url) => {
|
|
33329
|
+
var register2 = (path2, method, url, accept) => {
|
|
33291
33330
|
const r = registered2.get(path2) ?? /* @__PURE__ */ new Set();
|
|
33292
|
-
const key = `${method} ${url}`;
|
|
33331
|
+
const key = `${method} ${url}${accept ? ` ${String(accept)}` : ""}`;
|
|
33293
33332
|
r.add(key);
|
|
33294
33333
|
registered2.set(path2, r);
|
|
33295
33334
|
if (!didProcessBeforeExitHook2) {
|
|
@@ -33304,7 +33343,7 @@ var handleBeforeExit2 = () => {
|
|
|
33304
33343
|
const env = { ...process.env };
|
|
33305
33344
|
if (compileCacheDir) env.NODE_COMPILE_CACHE ??= compileCacheDir;
|
|
33306
33345
|
const args = [];
|
|
33307
|
-
if (
|
|
33346
|
+
if (isDeno3) {
|
|
33308
33347
|
args.push(
|
|
33309
33348
|
"--unstable-node-globals",
|
|
33310
33349
|
"--unstable-bare-node-builtins"
|
|
@@ -33312,7 +33351,7 @@ var handleBeforeExit2 = () => {
|
|
|
33312
33351
|
}
|
|
33313
33352
|
args.push(__CODE_SPLIT_SCRIPT_NAME2, path2);
|
|
33314
33353
|
registered2.delete(path2);
|
|
33315
|
-
const detached = !(
|
|
33354
|
+
const detached = !(isDeno3 && process.platform === "win32");
|
|
33316
33355
|
const proc3 = spawn3(process.execPath, args, {
|
|
33317
33356
|
detached,
|
|
33318
33357
|
stdio: ["pipe", "ignore", "ignore"],
|
|
@@ -33328,16 +33367,32 @@ var handleBeforeExit2 = () => {
|
|
|
33328
33367
|
}
|
|
33329
33368
|
};
|
|
33330
33369
|
|
|
33331
|
-
// ../../src/registry-client/src/
|
|
33332
|
-
|
|
33333
|
-
var
|
|
33334
|
-
|
|
33335
|
-
|
|
33336
|
-
|
|
33337
|
-
|
|
33338
|
-
|
|
33339
|
-
|
|
33340
|
-
|
|
33370
|
+
// ../../src/registry-client/src/get-header.ts
|
|
33371
|
+
var isIterable2 = (o) => !!o && typeof o === "object" && Symbol.iterator in o;
|
|
33372
|
+
var getHeader = (headers, key) => {
|
|
33373
|
+
if (!headers) return void 0;
|
|
33374
|
+
key = key.toLowerCase();
|
|
33375
|
+
if (Array.isArray(headers)) {
|
|
33376
|
+
if (!headers.length) return void 0;
|
|
33377
|
+
if (Array.isArray(headers[0])) {
|
|
33378
|
+
for (const [k4, v3] of headers) {
|
|
33379
|
+
if (k4.toLowerCase() === key) return v3;
|
|
33380
|
+
}
|
|
33381
|
+
} else if (headers.length % 2 === 0) {
|
|
33382
|
+
for (let i2 = 0; i2 < headers.length; i2 += 2) {
|
|
33383
|
+
if (headers[i2]?.toLowerCase() === key) return headers[i2 + 1];
|
|
33384
|
+
}
|
|
33385
|
+
}
|
|
33386
|
+
} else if (isIterable2(headers)) {
|
|
33387
|
+
for (const [k4, v3] of headers) {
|
|
33388
|
+
if (k4.toLowerCase() === key) return v3;
|
|
33389
|
+
}
|
|
33390
|
+
} else {
|
|
33391
|
+
for (const [k4, v3] of Object.entries(headers)) {
|
|
33392
|
+
if (k4.toLowerCase() === key) return v3;
|
|
33393
|
+
}
|
|
33394
|
+
}
|
|
33395
|
+
};
|
|
33341
33396
|
|
|
33342
33397
|
// ../../src/registry-client/src/handle-304-response.ts
|
|
33343
33398
|
var handleCacheHitResponse = (resp, entry) => {
|
|
@@ -33387,6 +33442,9 @@ var otplease = async (client, options, response) => {
|
|
|
33387
33442
|
);
|
|
33388
33443
|
if (wwwAuth.has("ipaddress")) {
|
|
33389
33444
|
throw error("Authorization is not allowed from your ip address", {
|
|
33445
|
+
code: "ENEEDAUTH",
|
|
33446
|
+
status: response.statusCode,
|
|
33447
|
+
method: options.method,
|
|
33390
33448
|
response
|
|
33391
33449
|
});
|
|
33392
33450
|
}
|
|
@@ -33419,17 +33477,30 @@ var otplease = async (client, options, response) => {
|
|
|
33419
33477
|
}
|
|
33420
33478
|
}
|
|
33421
33479
|
throw error("Unrecognized OTP authentication challenge", {
|
|
33480
|
+
code: "ENEEDAUTH",
|
|
33481
|
+
status: response.statusCode,
|
|
33482
|
+
method: options.method,
|
|
33422
33483
|
response
|
|
33423
33484
|
});
|
|
33424
33485
|
}
|
|
33425
33486
|
if (wwwAuth.has("bearer")) {
|
|
33426
33487
|
throw error(
|
|
33427
33488
|
"Missing or invalid authentication token. Run `vlt login` or `vlt token add` to authenticate.",
|
|
33428
|
-
{
|
|
33489
|
+
{
|
|
33490
|
+
code: "ENEEDAUTH",
|
|
33491
|
+
status: response.statusCode,
|
|
33492
|
+
method: options.method,
|
|
33493
|
+
response
|
|
33494
|
+
}
|
|
33429
33495
|
);
|
|
33430
33496
|
}
|
|
33431
33497
|
if (wwwAuth.size) {
|
|
33432
|
-
throw error("Unknown authentication challenge", {
|
|
33498
|
+
throw error("Unknown authentication challenge", {
|
|
33499
|
+
code: "ENEEDAUTH",
|
|
33500
|
+
status: response.statusCode,
|
|
33501
|
+
method: options.method,
|
|
33502
|
+
response
|
|
33503
|
+
});
|
|
33433
33504
|
}
|
|
33434
33505
|
const text = await responseBodyText(response).catch(() => "");
|
|
33435
33506
|
if (text.toLowerCase().includes("one-time pass")) {
|
|
@@ -33479,6 +33550,12 @@ var redirect = (options, response, from) => {
|
|
|
33479
33550
|
};
|
|
33480
33551
|
delete nextOptions.path;
|
|
33481
33552
|
redirections.add(String(nextURL));
|
|
33553
|
+
if (nextURL.origin !== from.origin) {
|
|
33554
|
+
nextOptions.headers = deleteHeader(
|
|
33555
|
+
nextOptions.headers,
|
|
33556
|
+
"authorization"
|
|
33557
|
+
);
|
|
33558
|
+
}
|
|
33482
33559
|
switch (response.statusCode) {
|
|
33483
33560
|
case 303: {
|
|
33484
33561
|
nextOptions.method = "GET";
|
|
@@ -33494,6 +33571,68 @@ var redirect = (options, response, from) => {
|
|
|
33494
33571
|
}
|
|
33495
33572
|
};
|
|
33496
33573
|
|
|
33574
|
+
// ../../src/registry-client/src/registry-error.ts
|
|
33575
|
+
import { STATUS_CODES } from "node:http";
|
|
33576
|
+
var MAX_DETAIL_LENGTH = 512;
|
|
33577
|
+
var truncate = (s) => s.length <= MAX_DETAIL_LENGTH ? s : `${s.slice(0, MAX_DETAIL_LENGTH - 1)}\u2026`;
|
|
33578
|
+
var isHTML = (s) => /^\s*(<!doctype\s+html|<html\b)/i.test(s);
|
|
33579
|
+
var stripTags = (s) => s.replace(/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi, " ").replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim();
|
|
33580
|
+
var detailFromJSON = (text) => {
|
|
33581
|
+
let body;
|
|
33582
|
+
try {
|
|
33583
|
+
body = JSON.parse(text);
|
|
33584
|
+
} catch {
|
|
33585
|
+
return void 0;
|
|
33586
|
+
}
|
|
33587
|
+
if (!body || typeof body !== "object") return void 0;
|
|
33588
|
+
const rec = body;
|
|
33589
|
+
const nested = rec.error;
|
|
33590
|
+
for (const v3 of [rec.error, rec.message, nested?.message]) {
|
|
33591
|
+
if (typeof v3 === "string" && v3.trim()) return v3.trim();
|
|
33592
|
+
}
|
|
33593
|
+
return void 0;
|
|
33594
|
+
};
|
|
33595
|
+
var registryErrorMessage = (response) => {
|
|
33596
|
+
const statusMessage = STATUS_CODES[response.statusCode];
|
|
33597
|
+
const status = `${response.statusCode}${statusMessage ? ` ${statusMessage}` : ""}`;
|
|
33598
|
+
let text;
|
|
33599
|
+
try {
|
|
33600
|
+
text = response.text?.().trim() ?? "";
|
|
33601
|
+
} catch {
|
|
33602
|
+
return status;
|
|
33603
|
+
}
|
|
33604
|
+
if (!text) return status;
|
|
33605
|
+
const detail = detailFromJSON(text) ?? (isHTML(text) ? stripTags(text) : text);
|
|
33606
|
+
return detail ? `${status} \u2014 ${truncate(detail)}` : status;
|
|
33607
|
+
};
|
|
33608
|
+
var registryError = (response, { message, url, method = "GET", advice }, from, cause) => {
|
|
33609
|
+
const { statusCode } = response;
|
|
33610
|
+
const denied = statusCode === 401 || statusCode === 403;
|
|
33611
|
+
const extra = advice?.(statusCode);
|
|
33612
|
+
const tips = (Array.isArray(extra) ? extra : [extra]).filter(
|
|
33613
|
+
(t) => !!t
|
|
33614
|
+
);
|
|
33615
|
+
const warn = tips.map((t) => `
|
|
33616
|
+
\u26A0\uFE0F ${t}`).join("");
|
|
33617
|
+
return error(
|
|
33618
|
+
`${message}: ${registryErrorMessage(response)}${warn}`,
|
|
33619
|
+
{
|
|
33620
|
+
code: denied ? "ENEEDAUTH" : "EREQUEST",
|
|
33621
|
+
url,
|
|
33622
|
+
method,
|
|
33623
|
+
status: statusCode,
|
|
33624
|
+
response,
|
|
33625
|
+
...cause === void 0 ? {} : { cause: asError(cause) }
|
|
33626
|
+
},
|
|
33627
|
+
from
|
|
33628
|
+
);
|
|
33629
|
+
};
|
|
33630
|
+
var assertOk = (response, options) => {
|
|
33631
|
+
const { statusCode } = response;
|
|
33632
|
+
if (!(statusCode < 200 || statusCode >= 300)) return;
|
|
33633
|
+
throw registryError(response, options, assertOk);
|
|
33634
|
+
};
|
|
33635
|
+
|
|
33497
33636
|
// ../../src/registry-client/src/set-cache-headers.ts
|
|
33498
33637
|
var setCacheHeaders = (options, entry) => {
|
|
33499
33638
|
if (!entry) return;
|
|
@@ -33551,12 +33690,6 @@ var import_undici2 = __toESM(require_undici(), 1);
|
|
|
33551
33690
|
var log3 = (msg) => console.error(msg);
|
|
33552
33691
|
var isCacheableMethod = (m2) => m2 === "GET" || m2 === "HEAD";
|
|
33553
33692
|
var cacheKey = (method, url) => `${method !== "GET" ? method + " " : ""}${url}`;
|
|
33554
|
-
var { version } = loadPackageJson(
|
|
33555
|
-
import.meta.filename,
|
|
33556
|
-
"registry-client-package.json"
|
|
33557
|
-
);
|
|
33558
|
-
var nua = globalThis.navigator?.userAgent ?? (bun ? `Bun/${bun}` : deno ? `Deno/${deno}` : node ? `Node.js/${node}` : "(unknown platform)");
|
|
33559
|
-
var userAgent = `@vltpkg/registry-client/${version} ${nua}`;
|
|
33560
33693
|
var agentOptions = {
|
|
33561
33694
|
bodyTimeout: 6e5,
|
|
33562
33695
|
headersTimeout: 6e5,
|
|
@@ -33601,7 +33734,7 @@ var RegistryClient = class {
|
|
|
33601
33734
|
} = options;
|
|
33602
33735
|
this.identity = identity;
|
|
33603
33736
|
this.staleWhileRevalidateFactor = staleWhileRevalidateFactor;
|
|
33604
|
-
const path2 =
|
|
33737
|
+
const path2 = resolve9(cache, "registry-client");
|
|
33605
33738
|
this.cache = new Cache({
|
|
33606
33739
|
path: path2,
|
|
33607
33740
|
maxSize: parseCacheMaxSize(process.env.VLT_CACHE_MAX_SIZE),
|
|
@@ -33635,7 +33768,40 @@ var RegistryClient = class {
|
|
|
33635
33768
|
*/
|
|
33636
33769
|
async scroll(url, options = {}, seek) {
|
|
33637
33770
|
const resp = await this.request(url, options);
|
|
33638
|
-
const {
|
|
33771
|
+
const { statusCode } = resp;
|
|
33772
|
+
if (statusCode < 200 || statusCode >= 300) {
|
|
33773
|
+
let detail;
|
|
33774
|
+
try {
|
|
33775
|
+
const body2 = resp.json();
|
|
33776
|
+
if (body2 && typeof body2 === "object" && "error" in body2) {
|
|
33777
|
+
detail = body2.error;
|
|
33778
|
+
}
|
|
33779
|
+
} catch {
|
|
33780
|
+
}
|
|
33781
|
+
const status = STATUS_CODES2[statusCode];
|
|
33782
|
+
throw error(
|
|
33783
|
+
`Failed to fetch paginated results: ${statusCode}${status ? ` ${status}` : ""}${typeof detail === "string" && detail ? `: ${detail}` : ""}`,
|
|
33784
|
+
{ code: "EREQUEST", status: statusCode, url: String(url) }
|
|
33785
|
+
);
|
|
33786
|
+
}
|
|
33787
|
+
let body;
|
|
33788
|
+
try {
|
|
33789
|
+
body = resp.json();
|
|
33790
|
+
} catch (cause) {
|
|
33791
|
+
throw error("Invalid JSON in paginated registry response", {
|
|
33792
|
+
code: "EREQUEST",
|
|
33793
|
+
url: String(url),
|
|
33794
|
+
cause
|
|
33795
|
+
});
|
|
33796
|
+
}
|
|
33797
|
+
if (!body || typeof body !== "object" || !("objects" in body) || !Array.isArray(body.objects) || !("urls" in body) || !body.urls || typeof body.urls !== "object" || Array.isArray(body.urls) || "next" in body.urls && body.urls.next !== null && body.urls.next !== void 0 && typeof body.urls.next !== "string") {
|
|
33798
|
+
throw error("Invalid pagination in registry response", {
|
|
33799
|
+
code: "EREQUEST",
|
|
33800
|
+
url: String(url)
|
|
33801
|
+
});
|
|
33802
|
+
}
|
|
33803
|
+
const objects = body.objects;
|
|
33804
|
+
const urls = body.urls;
|
|
33639
33805
|
return urls.next && !(seek && objects.some(seek)) ? objects.concat(await this.scroll(urls.next, options, seek)) : objects;
|
|
33640
33806
|
}
|
|
33641
33807
|
/**
|
|
@@ -33654,17 +33820,41 @@ var RegistryClient = class {
|
|
|
33654
33820
|
const s = tok.replace(/^(Bearer|Basic) /i, "");
|
|
33655
33821
|
const base = registryBase(registry);
|
|
33656
33822
|
const tokensUrl = new URL("-/npm/v1/tokens", base);
|
|
33657
|
-
const
|
|
33658
|
-
|
|
33659
|
-
|
|
33660
|
-
|
|
33661
|
-
|
|
33662
|
-
|
|
33663
|
-
|
|
33664
|
-
|
|
33665
|
-
|
|
33823
|
+
const stillLive = `Removing the local credential anyway; revoke the token in the registry UI if it is still live.`;
|
|
33824
|
+
try {
|
|
33825
|
+
let record;
|
|
33826
|
+
try {
|
|
33827
|
+
record = await this.seek(tokensUrl, ({ token }) => s.startsWith(token), {
|
|
33828
|
+
useCache: false
|
|
33829
|
+
});
|
|
33830
|
+
} catch (er) {
|
|
33831
|
+
log3(
|
|
33832
|
+
`Could not list tokens at ${tokensUrl}: ${asError(er).message}
|
|
33833
|
+
` + stillLive
|
|
33834
|
+
);
|
|
33835
|
+
}
|
|
33836
|
+
if (record) {
|
|
33837
|
+
const deleteUrl = new URL(
|
|
33838
|
+
`-/npm/v1/tokens/token/${record.key}`,
|
|
33839
|
+
base
|
|
33840
|
+
);
|
|
33841
|
+
const failed = (detail) => log3(
|
|
33842
|
+
`Failed to revoke the token on the registry: ${detail}
|
|
33843
|
+
` + stillLive
|
|
33844
|
+
);
|
|
33845
|
+
try {
|
|
33846
|
+
const response = await this.request(deleteUrl, {
|
|
33847
|
+
useCache: false,
|
|
33848
|
+
method: "DELETE"
|
|
33849
|
+
});
|
|
33850
|
+
if (!response.ok) failed(registryErrorMessage(response));
|
|
33851
|
+
} catch (er) {
|
|
33852
|
+
failed(asError(er).message);
|
|
33853
|
+
}
|
|
33854
|
+
}
|
|
33855
|
+
} finally {
|
|
33856
|
+
await deleteToken(registry, this.identity);
|
|
33666
33857
|
}
|
|
33667
|
-
await deleteToken(registry, this.identity);
|
|
33668
33858
|
}
|
|
33669
33859
|
/**
|
|
33670
33860
|
* Log into the registry specified.
|
|
@@ -33705,7 +33895,7 @@ var RegistryClient = class {
|
|
|
33705
33895
|
}
|
|
33706
33896
|
}
|
|
33707
33897
|
const { statusCode } = response;
|
|
33708
|
-
const status =
|
|
33898
|
+
const status = STATUS_CODES2[statusCode];
|
|
33709
33899
|
throw error(
|
|
33710
33900
|
`Failed to perform web login: ${statusCode}${status ? ` ${status}` : ""}`,
|
|
33711
33901
|
{
|
|
@@ -33768,11 +33958,19 @@ var RegistryClient = class {
|
|
|
33768
33958
|
}
|
|
33769
33959
|
return await this.#checkLogin(url, options);
|
|
33770
33960
|
}
|
|
33961
|
+
assertOk(response, {
|
|
33962
|
+
message: "Web login failed",
|
|
33963
|
+
url,
|
|
33964
|
+
advice: (statusCode) => statusCode === 404 ? "This registry does not implement the web login endpoint." : void 0
|
|
33965
|
+
});
|
|
33771
33966
|
if (response.statusCode === 200) {
|
|
33772
33967
|
const token = getTokenResponse(response.json());
|
|
33773
33968
|
if (token) return token;
|
|
33774
33969
|
}
|
|
33775
33970
|
throw error("Invalid response from web login endpoint", {
|
|
33971
|
+
code: "EREQUEST",
|
|
33972
|
+
url,
|
|
33973
|
+
status: response.statusCode,
|
|
33776
33974
|
response
|
|
33777
33975
|
});
|
|
33778
33976
|
}
|
|
@@ -33808,7 +34006,7 @@ var RegistryClient = class {
|
|
|
33808
34006
|
for (const path2 of paths) {
|
|
33809
34007
|
let buf;
|
|
33810
34008
|
try {
|
|
33811
|
-
buf =
|
|
34009
|
+
buf = readFileSync2(path2);
|
|
33812
34010
|
} catch {
|
|
33813
34011
|
continue;
|
|
33814
34012
|
}
|
|
@@ -33846,13 +34044,19 @@ var RegistryClient = class {
|
|
|
33846
34044
|
}
|
|
33847
34045
|
const forcedFallback = forceRevalidate && entry?.staleWhileRevalidate ? entry : void 0;
|
|
33848
34046
|
if (!forceRevalidate && staleWhileRevalidate && entry?.staleWhileRevalidate && m2) {
|
|
33849
|
-
register2(
|
|
34047
|
+
register2(
|
|
34048
|
+
dirname3(this.cache.path()),
|
|
34049
|
+
m2,
|
|
34050
|
+
url,
|
|
34051
|
+
getHeader(options.headers, "accept")
|
|
34052
|
+
);
|
|
33850
34053
|
logRequest(url, "stale", { method });
|
|
33851
34054
|
return entry;
|
|
33852
34055
|
}
|
|
33853
34056
|
logRequest(url, "start", { method });
|
|
33854
34057
|
const requestStart = Date.now();
|
|
33855
34058
|
setCacheHeaders(options, entry);
|
|
34059
|
+
const redirected = redirections.size > 0;
|
|
33856
34060
|
redirections.add(String(url));
|
|
33857
34061
|
options.path = u2.pathname.replace(/\/+$/, "") + u2.search;
|
|
33858
34062
|
options.origin = u2.origin;
|
|
@@ -33880,11 +34084,13 @@ var RegistryClient = class {
|
|
|
33880
34084
|
);
|
|
33881
34085
|
}
|
|
33882
34086
|
options.method = options.method ?? "GET";
|
|
33883
|
-
options.headers
|
|
33884
|
-
options.headers
|
|
33885
|
-
|
|
33886
|
-
|
|
33887
|
-
|
|
34087
|
+
if (!redirected || !getHeader(options.headers, "authorization")) {
|
|
34088
|
+
options.headers = addHeader(
|
|
34089
|
+
options.headers,
|
|
34090
|
+
"authorization",
|
|
34091
|
+
await getTokenByURL(String(u2), this.identity)
|
|
34092
|
+
);
|
|
34093
|
+
}
|
|
33888
34094
|
let response = null;
|
|
33889
34095
|
try {
|
|
33890
34096
|
response = await this.agent.request(
|
|
@@ -34017,7 +34223,7 @@ var readHead = async (fh) => {
|
|
|
34017
34223
|
const entry = CacheEntry.decodeHead(headBuf);
|
|
34018
34224
|
return entry.statusCode ? entry : void 0;
|
|
34019
34225
|
};
|
|
34020
|
-
var revalidateEntry = async (rc, method, url) => {
|
|
34226
|
+
var revalidateEntry = async (rc, method, url, accept) => {
|
|
34021
34227
|
try {
|
|
34022
34228
|
const u2 = typeof url === "string" ? new URL(url) : url;
|
|
34023
34229
|
const key = cacheKey(method, u2);
|
|
@@ -34046,6 +34252,9 @@ var revalidateEntry = async (rc, method, url) => {
|
|
|
34046
34252
|
"npm-session",
|
|
34047
34253
|
randomUUID2()
|
|
34048
34254
|
);
|
|
34255
|
+
if (accept) {
|
|
34256
|
+
options.headers = addHeader(options.headers, "accept", accept);
|
|
34257
|
+
}
|
|
34049
34258
|
setCacheHeaders(options, entry);
|
|
34050
34259
|
options.headers = addHeader(
|
|
34051
34260
|
options.headers,
|
|
@@ -34109,6 +34318,13 @@ var revalidateConcurrency = (raw) => {
|
|
|
34109
34318
|
const n7 = Number(raw);
|
|
34110
34319
|
return Number.isFinite(n7) && n7 >= 1 ? Math.min(32, Math.floor(n7)) : defaultConcurrency;
|
|
34111
34320
|
};
|
|
34321
|
+
var parseReq = (line) => {
|
|
34322
|
+
const method = line.startsWith("GET ") ? "GET" : line.startsWith("HEAD ") ? "HEAD" : void 0;
|
|
34323
|
+
if (!method) return void 0;
|
|
34324
|
+
const rest = line.substring(method.length + 1);
|
|
34325
|
+
const sp = rest.indexOf(" ");
|
|
34326
|
+
return sp === -1 ? [method, new URL(rest), void 0] : [method, new URL(rest.substring(0, sp)), rest.substring(sp + 1)];
|
|
34327
|
+
};
|
|
34112
34328
|
var runPool = async (reqs, concurrency, fn) => {
|
|
34113
34329
|
let next = 0;
|
|
34114
34330
|
const n7 = Math.min(concurrency, reqs.length);
|
|
@@ -34119,7 +34335,7 @@ var runPool = async (reqs, concurrency, fn) => {
|
|
|
34119
34335
|
if (i2 >= reqs.length) return;
|
|
34120
34336
|
const req = reqs[i2];
|
|
34121
34337
|
if (req === void 0) return;
|
|
34122
|
-
await fn(req
|
|
34338
|
+
await fn(...req);
|
|
34123
34339
|
}
|
|
34124
34340
|
})
|
|
34125
34341
|
);
|
|
@@ -34136,14 +34352,7 @@ var main = async (cache, input = process.stdin) => {
|
|
|
34136
34352
|
chunkLen += chunk.length;
|
|
34137
34353
|
});
|
|
34138
34354
|
input.on("end", () => {
|
|
34139
|
-
const reqs2 = Buffer.concat(
|
|
34140
|
-
chunks,
|
|
34141
|
-
chunkLen
|
|
34142
|
-
).toString().split("\0").filter(
|
|
34143
|
-
(i2) => !!i2 && (i2.startsWith("GET ") || i2.startsWith("HEAD "))
|
|
34144
|
-
).map(
|
|
34145
|
-
(i2) => i2.startsWith("GET ") ? ["GET", new URL(i2.substring("GET ".length))] : ["HEAD", new URL(i2.substring("HEAD ".length))]
|
|
34146
|
-
);
|
|
34355
|
+
const reqs2 = Buffer.concat(chunks, chunkLen).toString().split("\0").map(parseReq).filter((req) => req !== void 0);
|
|
34147
34356
|
res(reqs2);
|
|
34148
34357
|
});
|
|
34149
34358
|
});
|
|
@@ -34154,7 +34363,7 @@ var main = async (cache, input = process.stdin) => {
|
|
|
34154
34363
|
await runPool(
|
|
34155
34364
|
reqs,
|
|
34156
34365
|
revalidateConcurrency(process.env.VLT_REVALIDATE_CONCURRENCY),
|
|
34157
|
-
(method, url) => revalidateEntry(rc, method, url)
|
|
34366
|
+
(method, url, accept) => revalidateEntry(rc, method, url, accept)
|
|
34158
34367
|
);
|
|
34159
34368
|
return true;
|
|
34160
34369
|
};
|