@vltpkg/cli-js 1.0.8 → 1.0.10

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.
Files changed (72) hide show
  1. package/{access-FOYRQGJC.js → access-4RPC3X5N.js} +5 -5
  2. package/{bugs-ORVU4I5O.js → bugs-K6QLQLL4.js} +12 -12
  3. package/{build-JLVAGEEU.js → build-VD4L5IED.js} +8 -8
  4. package/{cache-RIOSSQD3.js → cache-Q6FUUEQF.js} +7 -7
  5. package/{chunk-5CNTLC2U.js → chunk-3564IL5W.js} +1 -1
  6. package/{chunk-YAIKXFLN.js → chunk-5HBKYSTX.js} +1 -1
  7. package/{chunk-PTR5IGFQ.js → chunk-5HPGL5WS.js} +1 -1
  8. package/{chunk-UYIA44HE.js → chunk-B5IILBX7.js} +4 -4
  9. package/{chunk-BJBFEQRR.js → chunk-BHJT53TP.js} +1 -0
  10. package/{chunk-ADLHAQRA.js → chunk-BSPUKIWY.js} +1 -1
  11. package/{chunk-3L2ERW54.js → chunk-DAS7TVRN.js} +3 -3
  12. package/{chunk-7D7SNVBV.js → chunk-FUCQ7ARR.js} +76 -25
  13. package/{chunk-XISRK3R5.js → chunk-MNK55XSE.js} +17 -0
  14. package/{chunk-WY4PAM6D.js → chunk-NA732FNL.js} +3 -3
  15. package/{chunk-AGHW2E24.js → chunk-NWLS3VOQ.js} +79 -15
  16. package/{chunk-YCVPEZRM.js → chunk-P5S2TFCF.js} +50 -16
  17. package/{chunk-5QAFAGO5.js → chunk-TYRKIWGF.js} +6 -6
  18. package/{chunk-JXVDCQZF.js → chunk-VL7RJVNN.js} +27 -5
  19. package/{chunk-NC3QYZPW.js → chunk-WAYVHANF.js} +3 -3
  20. package/{chunk-MUG5K6X2.js → chunk-XFI4THXZ.js} +1 -1
  21. package/{chunk-ZXIF4PVX.js → chunk-XUP35M5Q.js} +4 -4
  22. package/chunk-Y3QEV76Q.js +75 -0
  23. package/{chunk-OB73T23B.js → chunk-ZNCVQQDT.js} +1 -1
  24. package/{ci-2666LKEC.js → ci-G4PJWJQE.js} +7 -7
  25. package/cli-package.json +1 -1
  26. package/{config-3N7PBEXH.js → config-66ARNESN.js} +6 -5
  27. package/{config-WMYY5J37.js → config-WTIWWXRD.js} +8 -7
  28. package/{create-AEQSO6KX.js → create-DF6RQTHC.js} +13 -13
  29. package/{deprecate-MW76DAZ5.js → deprecate-2KTC2HKH.js} +8 -8
  30. package/{dist-tag-XGQLYA6C.js → dist-tag-QKJQIOGN.js} +5 -5
  31. package/{docs-7CCTL3OY.js → docs-YSWJTGYX.js} +12 -12
  32. package/{exec-GWCIDNOH.js → exec-5XIMPSBI.js} +13 -13
  33. package/{exec-cache-AML2HUTJ.js → exec-cache-OGX7WR5P.js} +11 -11
  34. package/{exec-local-JRTO2XG4.js → exec-local-SB7EPYED.js} +11 -11
  35. package/{help-4KSCV7GN.js → help-GMCQHGVN.js} +4 -4
  36. package/{init-OHVBHXB7.js → init-KXIIWHBA.js} +8 -8
  37. package/{install-TFDEHY5J.js → install-ODTEMAMS.js} +8 -8
  38. package/{list-UD4SDHVE.js → list-QS4FLJSU.js} +13 -13
  39. package/{login-B6TIQW62.js → login-6TGYRY43.js} +8 -8
  40. package/{logout-H3CXGLDN.js → logout-GOAB7KHJ.js} +5 -5
  41. package/{pack-YYK4LKBQ.js → pack-PJDH6PKP.js} +9 -9
  42. package/package.json +1 -1
  43. package/{ping-G765RWLM.js → ping-ANBW2IRW.js} +5 -5
  44. package/{pkg-D4S3SPUH.js → pkg-GZWUXU65.js} +9 -9
  45. package/{profile-YDQGMWYP.js → profile-BLY74CMB.js} +5 -5
  46. package/{publish-ANHSZPIM.js → publish-W2KOTNMB.js} +25 -13
  47. package/{query-PZ6C6AZJ.js → query-3PUMU5ON.js} +13 -13
  48. package/{registry-BMWXMQS4.js → registry-ONSDWNPV.js} +3 -3
  49. package/registry-client-package.json +1 -1
  50. package/registry-client-src-revalidate.js +75 -11
  51. package/{repo-ZA3TMERE.js → repo-LZ6STH4C.js} +12 -12
  52. package/{run-N4NK35UT.js → run-JMIBADHE.js} +11 -11
  53. package/{run-exec-N5FT4QO7.js → run-exec-JEKM2O53.js} +11 -11
  54. package/{setup-MWWDSKQZ.js → setup-BTBU3NAI.js} +35 -17
  55. package/{src-6UF5YTTL.js → src-23VBKASP.js} +9 -9
  56. package/{src-6PISL6QX.js → src-J4BAYOBO.js} +3 -3
  57. package/{src-U4EBFPPT.js → src-MOKZQTH2.js} +163 -205
  58. package/{token-FFUAFL43.js → token-PUJ7QN6D.js} +5 -5
  59. package/{uninstall-A4PUG6RI.js → uninstall-OTISP2T7.js} +8 -8
  60. package/{unpublish-OJEGZDGQ.js → unpublish-X75EEQAN.js} +6 -6
  61. package/{update-ENR6ICMR.js → update-CKXX5POE.js} +7 -7
  62. package/{version-K3BUGG7X.js → version-24B2X7M7.js} +23 -17
  63. package/{view-SWVQLQCB.js → view-Q7MAQ6R3.js} +7 -6
  64. package/vlr.js +1 -1
  65. package/vlrx.js +1 -1
  66. package/vlt.js +1 -1
  67. package/vlx.js +1 -1
  68. package/vlxl.js +1 -1
  69. package/{whoami-MA733O2T.js → whoami-S6CQZFE3.js} +5 -5
  70. package/chunk-AQ3XJJUP.js +0 -75
  71. package/{chunk-FG633ZKS.js → chunk-2YJ5MESP.js} +3 -3
  72. package/{chunk-OWML62W5.js → chunk-USTJECVS.js} +3 -3
@@ -14,20 +14,20 @@ import {
14
14
  } from "./chunk-5JFRXIK2.js";
15
15
  import {
16
16
  commandUsage
17
- } from "./chunk-PTR5IGFQ.js";
17
+ } from "./chunk-5HPGL5WS.js";
18
18
  import "./chunk-XKVU23NC.js";
19
- import "./chunk-XISRK3R5.js";
19
+ import "./chunk-MNK55XSE.js";
20
20
  import {
21
21
  RegistryClient
22
- } from "./chunk-AGHW2E24.js";
22
+ } from "./chunk-NWLS3VOQ.js";
23
23
  import "./chunk-HAYXR3MW.js";
24
24
  import "./chunk-E74WGW5C.js";
25
25
  import "./chunk-LPIBYUMT.js";
26
26
  import "./chunk-UBLFPJHV.js";
27
+ import "./chunk-VFBCWAOC.js";
27
28
  import "./chunk-XNLSTHDK.js";
28
- import "./chunk-BJBFEQRR.js";
29
+ import "./chunk-BHJT53TP.js";
29
30
  import "./chunk-VE6CCH33.js";
30
- import "./chunk-VFBCWAOC.js";
31
31
  import {
32
32
  error
33
33
  } from "./chunk-WZWDS3W4.js";
@@ -11,7 +11,7 @@ import {createRequire as _vlt_createRequire} from "node:module";
11
11
  var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  views
14
- } from "./chunk-3L2ERW54.js";
14
+ } from "./chunk-DAS7TVRN.js";
15
15
  import {
16
16
  del,
17
17
  get,
@@ -19,34 +19,34 @@ import {
19
19
  } from "./chunk-DBANBIL2.js";
20
20
  import {
21
21
  createHostContextsMap
22
- } from "./chunk-NC3QYZPW.js";
22
+ } from "./chunk-WAYVHANF.js";
23
23
  import {
24
24
  GraphModifier,
25
25
  Query,
26
26
  VIRTUAL_ROOT_ID,
27
27
  actual,
28
28
  init
29
- } from "./chunk-7D7SNVBV.js";
29
+ } from "./chunk-FUCQ7ARR.js";
30
30
  import {
31
31
  SecurityArchive
32
- } from "./chunk-FG633ZKS.js";
32
+ } from "./chunk-2YJ5MESP.js";
33
33
  import {
34
34
  minimatch
35
- } from "./chunk-OWML62W5.js";
35
+ } from "./chunk-USTJECVS.js";
36
36
  import "./chunk-YOE3VZFX.js";
37
37
  import {
38
38
  commandUsage
39
- } from "./chunk-PTR5IGFQ.js";
39
+ } from "./chunk-5HPGL5WS.js";
40
40
  import "./chunk-XKVU23NC.js";
41
- import "./chunk-XISRK3R5.js";
41
+ import "./chunk-MNK55XSE.js";
42
42
  import "./chunk-HTOTG4TS.js";
43
43
  import "./chunk-E74WGW5C.js";
44
44
  import "./chunk-LPIBYUMT.js";
45
45
  import "./chunk-UBLFPJHV.js";
46
+ import "./chunk-VFBCWAOC.js";
46
47
  import "./chunk-XNLSTHDK.js";
47
- import "./chunk-BJBFEQRR.js";
48
+ import "./chunk-BHJT53TP.js";
48
49
  import "./chunk-VE6CCH33.js";
49
- import "./chunk-VFBCWAOC.js";
50
50
  import {
51
51
  error
52
52
  } from "./chunk-WZWDS3W4.js";
@@ -14,20 +14,20 @@ import {
14
14
  } from "./chunk-5JFRXIK2.js";
15
15
  import {
16
16
  commandUsage
17
- } from "./chunk-PTR5IGFQ.js";
17
+ } from "./chunk-5HPGL5WS.js";
18
18
  import "./chunk-XKVU23NC.js";
19
- import "./chunk-XISRK3R5.js";
19
+ import "./chunk-MNK55XSE.js";
20
20
  import {
21
21
  RegistryClient
22
- } from "./chunk-AGHW2E24.js";
22
+ } from "./chunk-NWLS3VOQ.js";
23
23
  import "./chunk-HAYXR3MW.js";
24
24
  import "./chunk-E74WGW5C.js";
25
25
  import "./chunk-LPIBYUMT.js";
26
26
  import "./chunk-UBLFPJHV.js";
27
+ import "./chunk-VFBCWAOC.js";
27
28
  import "./chunk-XNLSTHDK.js";
28
- import "./chunk-BJBFEQRR.js";
29
+ import "./chunk-BHJT53TP.js";
29
30
  import "./chunk-VE6CCH33.js";
30
- import "./chunk-VFBCWAOC.js";
31
31
  import {
32
32
  error
33
33
  } from "./chunk-WZWDS3W4.js";
@@ -11,18 +11,18 @@ import {createRequire as _vlt_createRequire} from "node:module";
11
11
  var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  packTarball
14
- } from "./chunk-MUG5K6X2.js";
14
+ } from "./chunk-XFI4THXZ.js";
15
15
  import {
16
16
  createHostContextsMap
17
- } from "./chunk-NC3QYZPW.js";
17
+ } from "./chunk-WAYVHANF.js";
18
18
  import "./chunk-ZWKI5OSF.js";
19
19
  import {
20
20
  prettyBytes
21
21
  } from "./chunk-XA47WS4N.js";
22
22
  import {
23
23
  stderr
24
- } from "./chunk-JXVDCQZF.js";
25
- import "./chunk-YAIKXFLN.js";
24
+ } from "./chunk-VL7RJVNN.js";
25
+ import "./chunk-5HBKYSTX.js";
26
26
  import "./chunk-G2YT2GWF.js";
27
27
  import "./chunk-GDJ7JT2R.js";
28
28
  import {
@@ -33,34 +33,34 @@ import {
33
33
  Query,
34
34
  actual,
35
35
  run
36
- } from "./chunk-7D7SNVBV.js";
37
- import "./chunk-FG633ZKS.js";
36
+ } from "./chunk-FUCQ7ARR.js";
37
+ import "./chunk-2YJ5MESP.js";
38
38
  import {
39
39
  minimatch
40
- } from "./chunk-OWML62W5.js";
40
+ } from "./chunk-USTJECVS.js";
41
41
  import "./chunk-YOE3VZFX.js";
42
42
  import {
43
43
  commandUsage
44
- } from "./chunk-PTR5IGFQ.js";
44
+ } from "./chunk-5HPGL5WS.js";
45
45
  import "./chunk-XKVU23NC.js";
46
- import "./chunk-XISRK3R5.js";
46
+ import "./chunk-MNK55XSE.js";
47
47
  import "./chunk-4KCU2KZL.js";
48
48
  import "./chunk-HTOTG4TS.js";
49
49
  import {
50
50
  RegistryClient,
51
51
  oidc,
52
52
  registryBase
53
- } from "./chunk-AGHW2E24.js";
53
+ } from "./chunk-NWLS3VOQ.js";
54
54
  import "./chunk-HAYXR3MW.js";
55
55
  import "./chunk-E74WGW5C.js";
56
56
  import "./chunk-LPIBYUMT.js";
57
57
  import "./chunk-UBLFPJHV.js";
58
- import "./chunk-XNLSTHDK.js";
59
- import "./chunk-BJBFEQRR.js";
60
- import "./chunk-VE6CCH33.js";
61
58
  import {
62
59
  asError
63
60
  } from "./chunk-VFBCWAOC.js";
61
+ import "./chunk-XNLSTHDK.js";
62
+ import "./chunk-BHJT53TP.js";
63
+ import "./chunk-VE6CCH33.js";
64
64
  import {
65
65
  error
66
66
  } from "./chunk-WZWDS3W4.js";
@@ -349,21 +349,33 @@ var commandSingle = async (location, conf) => {
349
349
  });
350
350
  } catch (err) {
351
351
  throw error("Failed to publish package", {
352
+ code: "EREQUEST",
353
+ url: publishUrl,
354
+ method: "PUT",
352
355
  cause: asError(err)
353
356
  });
354
357
  }
355
358
  if (response.statusCode < 200 || response.statusCode >= 300) {
359
+ const denied = response.statusCode === 401 || response.statusCode === 403;
356
360
  let advice = "";
357
361
  if (response.statusCode === 409) {
358
362
  advice = `
359
363
  \u26A0\uFE0F ${name}@${version} already exists in the registry. Bump the version and try again.`;
360
364
  } else if (response.statusCode === 404) {
361
365
  advice = "\n\u26A0\uFE0F Make sure you're logged in and have access to publish the package.";
366
+ } else if (response.statusCode === 401) {
367
+ advice = `
368
+ \u26A0\uFE0F Not logged in to ${registryUrl.origin}. Run \`vlt login\` and try again.`;
369
+ } else if (response.statusCode === 403) {
370
+ advice = `
371
+ \u26A0\uFE0F ${name} cannot be published by this account. Run \`vlt whoami\` to see who you are logged in as, and \`vlt login\` to switch accounts. A name already taken by someone else cannot be reused.`;
362
372
  }
363
373
  throw error(
364
374
  `Failed to publish package: ${registryErrorMessage(response)}${advice}`,
365
375
  {
376
+ code: denied ? "ENEEDAUTH" : "EREQUEST",
366
377
  url: publishUrl,
378
+ method: "PUT",
367
379
  response
368
380
  }
369
381
  );
@@ -12,18 +12,18 @@ var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  MermaidImageView,
14
14
  createGetAuthHeader
15
- } from "./chunk-ZXIF4PVX.js";
15
+ } from "./chunk-XUP35M5Q.js";
16
16
  import {
17
17
  createDiffFilesProvider
18
18
  } from "./chunk-RIYFGX27.js";
19
- import "./chunk-OB73T23B.js";
19
+ import "./chunk-ZNCVQQDT.js";
20
20
  import {
21
21
  createHostContextsMap
22
- } from "./chunk-NC3QYZPW.js";
22
+ } from "./chunk-WAYVHANF.js";
23
23
  import {
24
24
  stdout
25
- } from "./chunk-JXVDCQZF.js";
26
- import "./chunk-YAIKXFLN.js";
25
+ } from "./chunk-VL7RJVNN.js";
26
+ import "./chunk-5HBKYSTX.js";
27
27
  import "./chunk-G2YT2GWF.js";
28
28
  import "./chunk-GDJ7JT2R.js";
29
29
  import "./chunk-5JFRXIK2.js";
@@ -36,28 +36,28 @@ import {
36
36
  humanReadableOutput,
37
37
  jsonOutput,
38
38
  mermaidOutput
39
- } from "./chunk-7D7SNVBV.js";
39
+ } from "./chunk-FUCQ7ARR.js";
40
40
  import {
41
41
  SecurityArchive
42
- } from "./chunk-FG633ZKS.js";
43
- import "./chunk-OWML62W5.js";
42
+ } from "./chunk-2YJ5MESP.js";
43
+ import "./chunk-USTJECVS.js";
44
44
  import "./chunk-YOE3VZFX.js";
45
45
  import {
46
46
  commandUsage
47
- } from "./chunk-PTR5IGFQ.js";
47
+ } from "./chunk-5HPGL5WS.js";
48
48
  import "./chunk-XKVU23NC.js";
49
- import "./chunk-XISRK3R5.js";
49
+ import "./chunk-MNK55XSE.js";
50
50
  import "./chunk-4KCU2KZL.js";
51
51
  import "./chunk-HTOTG4TS.js";
52
- import "./chunk-AGHW2E24.js";
52
+ import "./chunk-NWLS3VOQ.js";
53
53
  import "./chunk-HAYXR3MW.js";
54
54
  import "./chunk-E74WGW5C.js";
55
55
  import "./chunk-LPIBYUMT.js";
56
56
  import "./chunk-UBLFPJHV.js";
57
+ import "./chunk-VFBCWAOC.js";
57
58
  import "./chunk-XNLSTHDK.js";
58
- import "./chunk-BJBFEQRR.js";
59
+ import "./chunk-BHJT53TP.js";
59
60
  import "./chunk-VE6CCH33.js";
60
- import "./chunk-VFBCWAOC.js";
61
61
  import {
62
62
  error
63
63
  } from "./chunk-WZWDS3W4.js";
@@ -14,13 +14,13 @@ import {
14
14
  } from "./chunk-5JFRXIK2.js";
15
15
  import {
16
16
  commandUsage
17
- } from "./chunk-PTR5IGFQ.js";
17
+ } from "./chunk-5HPGL5WS.js";
18
18
  import "./chunk-XKVU23NC.js";
19
19
  import {
20
20
  getCommand
21
- } from "./chunk-XISRK3R5.js";
22
- import "./chunk-XNLSTHDK.js";
21
+ } from "./chunk-MNK55XSE.js";
23
22
  import "./chunk-VFBCWAOC.js";
23
+ import "./chunk-XNLSTHDK.js";
24
24
  import {
25
25
  error
26
26
  } from "./chunk-WZWDS3W4.js";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vltpkg/registry-client",
3
3
  "description": "Fetch package artifacts and metadata from registries",
4
- "version": "1.0.8",
4
+ "version": "1.0.10",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/vltpkg/vltpkg.git",
@@ -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 } = __require("node:http");
12602
+ var { STATUS_CODES: STATUS_CODES2 } = __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 STATUS_CODES[statusCode] || "unknown";
12810
+ return STATUS_CODES2[statusCode] || "unknown";
12811
12811
  }
12812
12812
  async function getResponse(body) {
12813
12813
  const buffers = [];
@@ -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 } = __require("node:http");
20416
+ var { STATUS_CODES: STATUS_CODES2 } = __require("node:http");
20417
20417
  var { bytesMatch } = require_subresource_integrity();
20418
20418
  var { createDeferredPromise } = require_promise();
20419
20419
  var { isomorphicEncode } = require_infra();
@@ -21450,7 +21450,7 @@ var require_fetch = __commonJS({
21450
21450
  }
21451
21451
  resolve11({
21452
21452
  status,
21453
- statusText: STATUS_CODES[status],
21453
+ statusText: STATUS_CODES2[status],
21454
21454
  headersList,
21455
21455
  socket
21456
21456
  });
@@ -21474,7 +21474,7 @@ var require_fetch = __commonJS({
21474
21474
  }
21475
21475
  resolve11({
21476
21476
  status,
21477
- statusText: STATUS_CODES[status],
21477
+ statusText: STATUS_CODES2[status],
21478
21478
  headersList,
21479
21479
  socket
21480
21480
  });
@@ -32441,6 +32441,8 @@ var XDG = class {
32441
32441
 
32442
32442
  // ../../src/registry-client/src/index.ts
32443
32443
  import { randomUUID } from "node:crypto";
32444
+ import { readFileSync as readFileSync3 } from "node:fs";
32445
+ import { STATUS_CODES } from "node:http";
32444
32446
  import { availableParallelism } from "node:os";
32445
32447
  import { dirname as dirname4, resolve as resolve10 } from "node:path";
32446
32448
  import { setTimeout as setTimeout3 } from "node:timers/promises";
@@ -33702,9 +33704,18 @@ var RegistryClient = class {
33702
33704
  return;
33703
33705
  }
33704
33706
  }
33705
- throw error("Failed to perform web login", { response });
33707
+ const { statusCode } = response;
33708
+ const status = STATUS_CODES[statusCode];
33709
+ throw error(
33710
+ `Failed to perform web login: ${statusCode}${status ? ` ${status}` : ""}`,
33711
+ {
33712
+ code: "EREQUEST",
33713
+ url: webLoginURL,
33714
+ status: statusCode,
33715
+ response
33716
+ }
33717
+ );
33706
33718
  }
33707
- /* c8 ignore stop */
33708
33719
  /**
33709
33720
  * Given a {@link WebAuthChallenge}, open the `authUrl` in a browser and
33710
33721
  * hang on the `doneUrl` until it returns a {@link TokenResponse} object.
@@ -33765,6 +33776,52 @@ var RegistryClient = class {
33765
33776
  response
33766
33777
  });
33767
33778
  }
33779
+ /**
33780
+ * Read a valid cached non-JSON body straight off disk, bypassing the
33781
+ * in-memory cache LRU so that a tarball is never held in it.
33782
+ *
33783
+ * One read: the head is decoded from the same bytes the body comes
33784
+ * from, so `cache-unzip` rewriting the head cannot land between the
33785
+ * two and hand back a body at a stale offset.
33786
+ *
33787
+ * Does not log a cache hit -- the caller may still reject the body
33788
+ * and fall back to {@link request}, which logs its own.
33789
+ *
33790
+ * Returns undefined on anything unexpected; callers fall back to
33791
+ * {@link request}.
33792
+ */
33793
+ cachedBody(url, options = {}) {
33794
+ const { integrity, method = "GET" } = options;
33795
+ try {
33796
+ const key = cacheKey(
33797
+ method,
33798
+ typeof url === "string" ? new URL(url) : url
33799
+ );
33800
+ if (this.cache.peek(key)) return void 0;
33801
+ const paths = /* @__PURE__ */ new Set();
33802
+ try {
33803
+ const i2 = this.cache.integrityPath(integrity);
33804
+ if (i2) paths.add(i2);
33805
+ } catch {
33806
+ }
33807
+ paths.add(this.cache.path(key));
33808
+ for (const path2 of paths) {
33809
+ let buf;
33810
+ try {
33811
+ buf = readFileSync3(path2);
33812
+ } catch {
33813
+ continue;
33814
+ }
33815
+ const entry = CacheEntry.decode(buf);
33816
+ if (entry.statusCode !== 200 || !entry.valid || entry.isJSON) {
33817
+ continue;
33818
+ }
33819
+ return { path: path2, body: entry.buffer() };
33820
+ }
33821
+ } catch {
33822
+ }
33823
+ return void 0;
33824
+ }
33768
33825
  async request(url, options = {}) {
33769
33826
  const u2 = typeof url === "string" ? new URL(url) : url;
33770
33827
  const {
@@ -33773,7 +33830,8 @@ var RegistryClient = class {
33773
33830
  redirections = /* @__PURE__ */ new Set(),
33774
33831
  signal,
33775
33832
  otp = (process.env.VLT_OTP ?? "").trim(),
33776
- staleWhileRevalidate = true
33833
+ staleWhileRevalidate = true,
33834
+ forceRevalidate = false
33777
33835
  } = options;
33778
33836
  let { trustIntegrity } = options;
33779
33837
  const m2 = isCacheableMethod(method) ? method : void 0;
@@ -33782,11 +33840,12 @@ var RegistryClient = class {
33782
33840
  const key = cacheKey(method, u2);
33783
33841
  const buffer = useCache ? await this.cache.fetch(key, { context: { integrity } }) : void 0;
33784
33842
  const entry = buffer ? this.#decodeCached(buffer) : void 0;
33785
- if (entry?.valid) {
33843
+ if (entry?.valid && !forceRevalidate) {
33786
33844
  logRequest(url, "cache", { method });
33787
33845
  return entry;
33788
33846
  }
33789
- if (staleWhileRevalidate && entry?.staleWhileRevalidate && m2) {
33847
+ const forcedFallback = forceRevalidate && entry?.staleWhileRevalidate ? entry : void 0;
33848
+ if (!forceRevalidate && staleWhileRevalidate && entry?.staleWhileRevalidate && m2) {
33790
33849
  register2(dirname4(this.cache.path()), m2, url);
33791
33850
  logRequest(url, "stale", { method });
33792
33851
  return entry;
@@ -33832,6 +33891,10 @@ var RegistryClient = class {
33832
33891
  options
33833
33892
  );
33834
33893
  } catch (er) {
33894
+ if (forcedFallback && !signal?.aborted) {
33895
+ logRequest(url, "stale", { method });
33896
+ return forcedFallback;
33897
+ }
33835
33898
  throw error("Request failed", {
33836
33899
  code: "EREQUEST",
33837
33900
  cause: er,
@@ -33860,7 +33923,8 @@ var RegistryClient = class {
33860
33923
  if (result.isGzip && !trustIntegrity) {
33861
33924
  result.checkIntegrity({ url });
33862
33925
  }
33863
- if (useCache) {
33926
+ const clobbersCachedEntry = forceRevalidate && !!entry && result.statusCode !== 200;
33927
+ if (useCache && !clobbersCachedEntry) {
33864
33928
  const buffer2 = result.encode();
33865
33929
  this.cache.set(
33866
33930
  key,
@@ -14,16 +14,16 @@ import {
14
14
  } from "./chunk-CLVRCGOZ.js";
15
15
  import {
16
16
  openUrl
17
- } from "./chunk-OB73T23B.js";
17
+ } from "./chunk-ZNCVQQDT.js";
18
18
  import {
19
19
  createHostContextsMap
20
- } from "./chunk-NC3QYZPW.js";
20
+ } from "./chunk-WAYVHANF.js";
21
21
  import {
22
22
  PackageInfoClient
23
- } from "./chunk-YCVPEZRM.js";
23
+ } from "./chunk-P5S2TFCF.js";
24
24
  import "./chunk-ZWKI5OSF.js";
25
- import "./chunk-JXVDCQZF.js";
26
- import "./chunk-YAIKXFLN.js";
25
+ import "./chunk-VL7RJVNN.js";
26
+ import "./chunk-5HBKYSTX.js";
27
27
  import "./chunk-G2YT2GWF.js";
28
28
  import "./chunk-GDJ7JT2R.js";
29
29
  import "./chunk-5JFRXIK2.js";
@@ -31,29 +31,29 @@ import "./chunk-WGDTG44V.js";
31
31
  import {
32
32
  Query,
33
33
  actual
34
- } from "./chunk-7D7SNVBV.js";
34
+ } from "./chunk-FUCQ7ARR.js";
35
35
  import {
36
36
  SecurityArchive
37
- } from "./chunk-FG633ZKS.js";
38
- import "./chunk-OWML62W5.js";
37
+ } from "./chunk-2YJ5MESP.js";
38
+ import "./chunk-USTJECVS.js";
39
39
  import "./chunk-YOE3VZFX.js";
40
40
  import {
41
41
  commandUsage
42
- } from "./chunk-PTR5IGFQ.js";
42
+ } from "./chunk-5HPGL5WS.js";
43
43
  import {
44
44
  Spec
45
45
  } from "./chunk-XKVU23NC.js";
46
- import "./chunk-XISRK3R5.js";
46
+ import "./chunk-MNK55XSE.js";
47
47
  import "./chunk-4KCU2KZL.js";
48
48
  import "./chunk-HTOTG4TS.js";
49
49
  import "./chunk-HAYXR3MW.js";
50
50
  import "./chunk-E74WGW5C.js";
51
51
  import "./chunk-LPIBYUMT.js";
52
52
  import "./chunk-UBLFPJHV.js";
53
+ import "./chunk-VFBCWAOC.js";
53
54
  import "./chunk-XNLSTHDK.js";
54
- import "./chunk-BJBFEQRR.js";
55
+ import "./chunk-BHJT53TP.js";
55
56
  import "./chunk-VE6CCH33.js";
56
- import "./chunk-VFBCWAOC.js";
57
57
  import {
58
58
  error
59
59
  } from "./chunk-WZWDS3W4.js";
@@ -12,11 +12,11 @@ var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  ExecCommand,
14
14
  views
15
- } from "./chunk-UYIA44HE.js";
15
+ } from "./chunk-B5IILBX7.js";
16
16
  import "./chunk-RIYFGX27.js";
17
- import "./chunk-NC3QYZPW.js";
18
- import "./chunk-JXVDCQZF.js";
19
- import "./chunk-YAIKXFLN.js";
17
+ import "./chunk-WAYVHANF.js";
18
+ import "./chunk-VL7RJVNN.js";
19
+ import "./chunk-5HBKYSTX.js";
20
20
  import "./chunk-G2YT2GWF.js";
21
21
  import "./chunk-GDJ7JT2R.js";
22
22
  import "./chunk-5JFRXIK2.js";
@@ -25,24 +25,24 @@ import "./chunk-WGDTG44V.js";
25
25
  import {
26
26
  run,
27
27
  runFG
28
- } from "./chunk-7D7SNVBV.js";
29
- import "./chunk-FG633ZKS.js";
30
- import "./chunk-OWML62W5.js";
28
+ } from "./chunk-FUCQ7ARR.js";
29
+ import "./chunk-2YJ5MESP.js";
30
+ import "./chunk-USTJECVS.js";
31
31
  import "./chunk-YOE3VZFX.js";
32
32
  import {
33
33
  commandUsage
34
- } from "./chunk-PTR5IGFQ.js";
34
+ } from "./chunk-5HPGL5WS.js";
35
35
  import "./chunk-XKVU23NC.js";
36
- import "./chunk-XISRK3R5.js";
36
+ import "./chunk-MNK55XSE.js";
37
37
  import "./chunk-4KCU2KZL.js";
38
38
  import "./chunk-HTOTG4TS.js";
39
39
  import "./chunk-E74WGW5C.js";
40
40
  import "./chunk-LPIBYUMT.js";
41
41
  import "./chunk-UBLFPJHV.js";
42
+ import "./chunk-VFBCWAOC.js";
42
43
  import "./chunk-XNLSTHDK.js";
43
- import "./chunk-BJBFEQRR.js";
44
+ import "./chunk-BHJT53TP.js";
44
45
  import "./chunk-VE6CCH33.js";
45
- import "./chunk-VFBCWAOC.js";
46
46
  import "./chunk-WZWDS3W4.js";
47
47
  import "./chunk-PZLD7RTK.js";
48
48
 
@@ -12,11 +12,11 @@ var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  ExecCommand,
14
14
  views
15
- } from "./chunk-UYIA44HE.js";
15
+ } from "./chunk-B5IILBX7.js";
16
16
  import "./chunk-RIYFGX27.js";
17
- import "./chunk-NC3QYZPW.js";
18
- import "./chunk-JXVDCQZF.js";
19
- import "./chunk-YAIKXFLN.js";
17
+ import "./chunk-WAYVHANF.js";
18
+ import "./chunk-VL7RJVNN.js";
19
+ import "./chunk-5HBKYSTX.js";
20
20
  import "./chunk-G2YT2GWF.js";
21
21
  import "./chunk-GDJ7JT2R.js";
22
22
  import "./chunk-5JFRXIK2.js";
@@ -25,24 +25,24 @@ import "./chunk-WGDTG44V.js";
25
25
  import {
26
26
  runExec,
27
27
  runExecFG
28
- } from "./chunk-7D7SNVBV.js";
29
- import "./chunk-FG633ZKS.js";
30
- import "./chunk-OWML62W5.js";
28
+ } from "./chunk-FUCQ7ARR.js";
29
+ import "./chunk-2YJ5MESP.js";
30
+ import "./chunk-USTJECVS.js";
31
31
  import "./chunk-YOE3VZFX.js";
32
32
  import {
33
33
  commandUsage
34
- } from "./chunk-PTR5IGFQ.js";
34
+ } from "./chunk-5HPGL5WS.js";
35
35
  import "./chunk-XKVU23NC.js";
36
- import "./chunk-XISRK3R5.js";
36
+ import "./chunk-MNK55XSE.js";
37
37
  import "./chunk-4KCU2KZL.js";
38
38
  import "./chunk-HTOTG4TS.js";
39
39
  import "./chunk-E74WGW5C.js";
40
40
  import "./chunk-LPIBYUMT.js";
41
41
  import "./chunk-UBLFPJHV.js";
42
+ import "./chunk-VFBCWAOC.js";
42
43
  import "./chunk-XNLSTHDK.js";
43
- import "./chunk-BJBFEQRR.js";
44
+ import "./chunk-BHJT53TP.js";
44
45
  import "./chunk-VE6CCH33.js";
45
- import "./chunk-VFBCWAOC.js";
46
46
  import "./chunk-WZWDS3W4.js";
47
47
  import "./chunk-PZLD7RTK.js";
48
48