@vltpkg/cli-js 1.3.7 → 1.4.0

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 (87) hide show
  1. package/{access-4W6PMOGC.js → access-422UGEWN.js} +8 -8
  2. package/{bugs-FJHQFPZF.js → bugs-RED7Y33Q.js} +17 -17
  3. package/{build-SPWU3NOH.js → build-IHMPBWRO.js} +9 -9
  4. package/{cache-SBNEPOMQ.js → cache-FJP2RZJX.js} +31 -19
  5. package/cache-unzip-src-unzip.js +21 -1
  6. package/{chunk-SPWJ3X5Y.js → chunk-2AMOC4DN.js} +4 -4
  7. package/{chunk-QYS5MGGM.js → chunk-4UCADW6S.js} +86 -10
  8. package/{chunk-GZ5MYMBT.js → chunk-5IJTPZXP.js} +1 -1
  9. package/{chunk-L3K2ZAOO.js → chunk-5RHABCYI.js} +76 -11
  10. package/{chunk-OWUICQFY.js → chunk-5TNXLRW2.js} +33 -20
  11. package/{chunk-IHXJVKAE.js → chunk-5Y4SYLJ2.js} +2 -1
  12. package/chunk-6IF3RJND.js +81 -0
  13. package/{chunk-3U6QWN62.js → chunk-7T3XAYP4.js} +1 -1
  14. package/{chunk-FKZ5I53D.js → chunk-ASLX43R3.js} +3 -3
  15. package/{chunk-5ZCDGBVU.js → chunk-C23TDXRG.js} +1 -1
  16. package/{chunk-H77JYU7F.js → chunk-DNRR3XMG.js} +12 -3
  17. package/{chunk-IBGFQR23.js → chunk-FLH4YC6W.js} +21 -0
  18. package/{chunk-XDSZO74H.js → chunk-FZUYGJZU.js} +7 -7
  19. package/{chunk-W2ZO5RZL.js → chunk-GIIAODRI.js} +4 -4
  20. package/{chunk-F5D3DVC5.js → chunk-HZXJ423P.js} +7 -3
  21. package/{chunk-CB65DPZ2.js → chunk-I7UMHYZX.js} +151 -27
  22. package/{chunk-2M2O6A4R.js → chunk-ISE4IRHF.js} +4 -4
  23. package/{chunk-TLY4VGMH.js → chunk-LHPEBLOU.js} +1 -1
  24. package/{chunk-EL4GVZK5.js → chunk-MKWPTN3C.js} +2 -2
  25. package/{chunk-QVPNKMUU.js → chunk-OAJ3PO3Z.js} +115 -19
  26. package/{chunk-7BHHCB5C.js → chunk-OVPHE4O7.js} +348 -24
  27. package/{chunk-KOFQTETH.js → chunk-PHJJPY5G.js} +3 -3
  28. package/{chunk-SV4WK3KX.js → chunk-PLG3OYCX.js} +2 -2
  29. package/{chunk-KMOOTBHM.js → chunk-QCSUWACA.js} +1 -1
  30. package/{chunk-6D54UN4T.js → chunk-SR2VOY5J.js} +1 -1
  31. package/chunk-T6FBP4OU.js +76 -0
  32. package/{chunk-A2TSRXZD.js → chunk-THSYN5EK.js} +1 -1
  33. package/{chunk-3D3IB4YN.js → chunk-TO23PR7J.js} +61 -27
  34. package/{chunk-OWMR2EDW.js → chunk-TPRK6IDA.js} +1 -1
  35. package/chunk-UGCKF5ZE.js +57 -0
  36. package/{chunk-SE2FSMBR.js → chunk-WF6KLKRN.js} +26 -10
  37. package/{chunk-I7SCSGUO.js → chunk-X4FVR4R5.js} +23 -18
  38. package/{chunk-VBDNOU76.js → chunk-ZJMJ7MCT.js} +1 -1
  39. package/{ci-76TAJGF5.js → ci-YSKNNO5M.js} +10 -10
  40. package/cli-package.json +1 -1
  41. package/{config-3UQXAYAA.js → config-CSPCDMR3.js} +9 -8
  42. package/{config-AFIHF54I.js → config-HO7GY3QT.js} +11 -10
  43. package/{create-5ADQTH6K.js → create-2TJT3AHJ.js} +19 -18
  44. package/{deprecate-RTQVLJDZ.js → deprecate-7FRJI2RL.js} +11 -11
  45. package/{dist-tag-V4DRDHWA.js → dist-tag-WCFF5OEG.js} +8 -8
  46. package/{docs-RRULRTKQ.js → docs-JMBPTU23.js} +17 -17
  47. package/{exec-NXQUCX3I.js → exec-FBOUKZZ2.js} +27 -18
  48. package/{exec-cache-KVZJHFZD.js → exec-cache-X3ZWM5S3.js} +16 -16
  49. package/{exec-local-53B5IRKG.js → exec-local-Y3KQC22N.js} +16 -15
  50. package/{help-EN4XUTMS.js → help-PUKVH5X7.js} +4 -4
  51. package/{init-4L6CQMIL.js → init-GOKAQXXZ.js} +10 -10
  52. package/{install-MHWLYW3X.js → install-XFN4UFOC.js} +116 -16
  53. package/{list-XZRF7TBW.js → list-43JFFG5D.js} +19 -19
  54. package/{login-6GRRY4H7.js → login-RSTZKNKN.js} +13 -12
  55. package/{logout-KI2AOYRT.js → logout-4576FFXZ.js} +8 -8
  56. package/{outdated-TWUPFRCD.js → outdated-ACQ5A2Y7.js} +31 -29
  57. package/{pack-2ZQLDYFD.js → pack-QQVJ3G25.js} +15 -12
  58. package/package.json +1 -1
  59. package/{ping-ZOTGLOKY.js → ping-QCDQQRO5.js} +8 -8
  60. package/{pkg-HRNOTFXB.js → pkg-CSOJV7UC.js} +17 -12
  61. package/{profile-5V3FFDMG.js → profile-VL4HPW3N.js} +8 -8
  62. package/{publish-7ZXEMWTW.js → publish-2YBO6ZXE.js} +23 -18
  63. package/{query-62UDNMGR.js → query-IHHFMJRT.js} +19 -19
  64. package/{registry-MQJJCWJY.js → registry-W7BRZZZ2.js} +5 -5
  65. package/registry-client-src-revalidate.js +132 -17
  66. package/{repo-HDUGP5PH.js → repo-L3BXAAWS.js} +17 -17
  67. package/{reporter-TGBPLNR5.js → reporter-5NYOHBO7.js} +11 -10
  68. package/{run-6NRDZD4T.js → run-AMUUVLTI.js} +16 -15
  69. package/{run-exec-I4IIXTLW.js → run-exec-5W3XWQZA.js} +16 -15
  70. package/security-archive-src-update-expired.js +46 -12
  71. package/{setup-UVXEFUUJ.js → setup-TFM4GJF7.js} +16 -15
  72. package/{src-QEJ6WZQ7.js → src-4CYCUWZL.js} +29 -24
  73. package/{src-6CJEMSVB.js → src-I3GMULFP.js} +6 -4
  74. package/{src-GP7VLT7P.js → src-LUTN2ODD.js} +58 -9
  75. package/{token-WTN27E7A.js → token-OANOBE3G.js} +8 -8
  76. package/{uninstall-ZJOKXIVQ.js → uninstall-YXTQ4AIZ.js} +12 -12
  77. package/{unpublish-LMUGR7GI.js → unpublish-SZXYMYIU.js} +8 -8
  78. package/{update-WVWMRUYY.js → update-FHLMWGIM.js} +26 -16
  79. package/{version-OJTRHNKV.js → version-ZWFCTU5V.js} +16 -11
  80. package/{view-6Q5B7ZYN.js → view-NFNJXMLV.js} +73 -25
  81. package/vlr.js +1 -1
  82. package/vlrx.js +1 -1
  83. package/vlt.js +1 -1
  84. package/vlx.js +1 -1
  85. package/vlxl.js +1 -1
  86. package/{whoami-SPF34TV6.js → whoami-O7GOSGCI.js} +8 -8
  87. package/chunk-A6FAI65V.js +0 -76
@@ -12,36 +12,37 @@ var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  ExecCommand,
14
14
  views
15
- } from "./chunk-I7SCSGUO.js";
15
+ } from "./chunk-X4FVR4R5.js";
16
+ import "./chunk-UGCKF5ZE.js";
16
17
  import "./chunk-RIYFGX27.js";
17
- import "./chunk-FKZ5I53D.js";
18
- import "./chunk-XDSZO74H.js";
19
- import "./chunk-KMOOTBHM.js";
18
+ import "./chunk-ASLX43R3.js";
19
+ import "./chunk-FZUYGJZU.js";
20
+ import "./chunk-QCSUWACA.js";
20
21
  import "./chunk-G2YT2GWF.js";
21
- import "./chunk-IHXJVKAE.js";
22
+ import "./chunk-5Y4SYLJ2.js";
22
23
  import "./chunk-VTEFO2FT.js";
23
24
  import "./chunk-WGDTG44V.js";
24
- import "./chunk-A2TSRXZD.js";
25
+ import "./chunk-THSYN5EK.js";
25
26
  import {
26
27
  runExec,
27
28
  runExecFG
28
- } from "./chunk-7BHHCB5C.js";
29
- import "./chunk-OWUICQFY.js";
29
+ } from "./chunk-OVPHE4O7.js";
30
+ import "./chunk-5TNXLRW2.js";
30
31
  import {
31
32
  commandUsage
32
- } from "./chunk-TLY4VGMH.js";
33
- import "./chunk-CB65DPZ2.js";
33
+ } from "./chunk-LHPEBLOU.js";
34
+ import "./chunk-I7UMHYZX.js";
34
35
  import "./chunk-4KCU2KZL.js";
35
- import "./chunk-SV4WK3KX.js";
36
- import "./chunk-GZ5MYMBT.js";
37
- import "./chunk-SE2FSMBR.js";
36
+ import "./chunk-PLG3OYCX.js";
37
+ import "./chunk-5IJTPZXP.js";
38
+ import "./chunk-WF6KLKRN.js";
38
39
  import "./chunk-HTOTG4TS.js";
39
- import "./chunk-VBDNOU76.js";
40
+ import "./chunk-ZJMJ7MCT.js";
40
41
  import "./chunk-U7TEQCBN.js";
41
42
  import "./chunk-XNLSTHDK.js";
42
43
  import "./chunk-PDWPFR5T.js";
43
44
  import "./chunk-Y5PA7DVK.js";
44
- import "./chunk-IBGFQR23.js";
45
+ import "./chunk-FLH4YC6W.js";
45
46
  import "./chunk-WZWDS3W4.js";
46
47
  import "./chunk-PZLD7RTK.js";
47
48
 
@@ -251,7 +251,27 @@ import {
251
251
  import { inspect } from "node:util";
252
252
 
253
253
  // ../../src/fast-split/src/index.ts
254
+ var splitTwo = (str, delim) => {
255
+ const a = str.indexOf(delim);
256
+ return a === -1 ? [str] : [str.substring(0, a), str.substring(a + delim.length)];
257
+ };
258
+ var splitThree = (str, delim) => {
259
+ const a = str.indexOf(delim);
260
+ if (a === -1) return [str];
261
+ const l = delim.length;
262
+ const b = str.indexOf(delim, a + l);
263
+ return b === -1 ? [str.substring(0, a), str.substring(a + l)] : [
264
+ str.substring(0, a),
265
+ str.substring(a + l, b),
266
+ str.substring(b + l)
267
+ ];
268
+ };
254
269
  function fastSplit(str, delim, limit = -1, onPart) {
270
+ if (onPart === void 0) {
271
+ if (limit === 2) return splitTwo(str, delim);
272
+ if (limit === 3)
273
+ return splitThree(str, delim);
274
+ }
255
275
  let i = 0;
256
276
  let p = 0;
257
277
  const l = delim.length;
@@ -2146,7 +2166,7 @@ var baseDepID = (id) => {
2146
2166
  var package_default = {
2147
2167
  name: "@vltpkg/user-agent",
2148
2168
  description: "The User-Agent string that vlt sends with every outbound request",
2149
- version: "1.3.7",
2169
+ version: "1.4.0",
2150
2170
  repository: {
2151
2171
  type: "git",
2152
2172
  url: "git+https://github.com/vltpkg/vltpkg.git",
@@ -2223,6 +2243,27 @@ var asPackageReportData = (o) => {
2223
2243
  }
2224
2244
  return o;
2225
2245
  };
2246
+ var getItemScore = (data) => {
2247
+ if (data._type || !data.score) return void 0;
2248
+ const {
2249
+ license,
2250
+ maintenance,
2251
+ quality,
2252
+ supplyChain,
2253
+ vulnerability
2254
+ } = data.score;
2255
+ const scoreComponents = [
2256
+ license,
2257
+ maintenance,
2258
+ quality,
2259
+ supplyChain,
2260
+ vulnerability
2261
+ ];
2262
+ const overall = Number(
2263
+ (scoreComponents.reduce((sum, score) => sum + score, 0) / scoreComponents.length).toFixed(2)
2264
+ );
2265
+ return { ...data.score, overall };
2266
+ };
2226
2267
 
2227
2268
  // ../../src/security-archive/src/update-expired.ts
2228
2269
  var __CODE_SPLIT_SCRIPT_NAME = import.meta.filename;
@@ -2294,6 +2335,7 @@ var main = async (input = process.stdin) => {
2294
2335
  for (const line of json) {
2295
2336
  if (!line.trim()) continue;
2296
2337
  const data = JSON.parse(line + "}");
2338
+ if (data._type) continue;
2297
2339
  const scope = data.namespace ? `${data.namespace}/` : "";
2298
2340
  const name = `${scope}${data.name}`;
2299
2341
  const key = `${name}@${data.version}`;
@@ -2304,19 +2346,11 @@ var main = async (input = process.stdin) => {
2304
2346
  );
2305
2347
  continue;
2306
2348
  }
2307
- const scoreComponents = [
2308
- data.score.license,
2309
- data.score.maintenance,
2310
- data.score.quality,
2311
- data.score.supplyChain,
2312
- data.score.vulnerability
2313
- ];
2314
- const newAverageScore = Number(
2315
- (scoreComponents.reduce((sum, score) => sum + score, 0) / scoreComponents.length).toFixed(2)
2316
- );
2349
+ const score = getItemScore(data);
2350
+ if (!score) continue;
2317
2351
  const reportData = asPackageReportData({
2318
2352
  ...data,
2319
- score: { ...data.score, overall: newAverageScore }
2353
+ score
2320
2354
  });
2321
2355
  results.push({
2322
2356
  depID: baseDepID(asDepID(entry.depID)),
@@ -11,39 +11,40 @@ import {createRequire as _vlt_createRequire} from "node:module";
11
11
  var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  stdout
14
- } from "./chunk-XDSZO74H.js";
15
- import "./chunk-KMOOTBHM.js";
14
+ } from "./chunk-FZUYGJZU.js";
15
+ import "./chunk-QCSUWACA.js";
16
16
  import "./chunk-G2YT2GWF.js";
17
- import "./chunk-IHXJVKAE.js";
17
+ import "./chunk-5Y4SYLJ2.js";
18
18
  import {
19
19
  configWriteTarget,
20
20
  registrySelectionFields
21
- } from "./chunk-L3K2ZAOO.js";
22
- import "./chunk-3D3IB4YN.js";
21
+ } from "./chunk-5RHABCYI.js";
22
+ import "./chunk-TO23PR7J.js";
23
23
  import "./chunk-SRWDPPLX.js";
24
24
  import "./chunk-WGDTG44V.js";
25
25
  import {
26
26
  normalizeRegistryURL
27
- } from "./chunk-A2TSRXZD.js";
27
+ } from "./chunk-THSYN5EK.js";
28
28
  import {
29
29
  commandUsage
30
- } from "./chunk-TLY4VGMH.js";
31
- import "./chunk-CB65DPZ2.js";
30
+ } from "./chunk-LHPEBLOU.js";
31
+ import "./chunk-I7UMHYZX.js";
32
32
  import "./chunk-4KCU2KZL.js";
33
- import "./chunk-SV4WK3KX.js";
34
- import "./chunk-GZ5MYMBT.js";
35
- import "./chunk-SE2FSMBR.js";
33
+ import "./chunk-PLG3OYCX.js";
34
+ import "./chunk-5IJTPZXP.js";
35
+ import "./chunk-WF6KLKRN.js";
36
36
  import "./chunk-HTOTG4TS.js";
37
37
  import {
38
38
  RegistryClient,
39
39
  getKC,
40
40
  normalizeRegistryKey
41
- } from "./chunk-QVPNKMUU.js";
41
+ } from "./chunk-OAJ3PO3Z.js";
42
42
  import "./chunk-APMYKJI2.js";
43
- import "./chunk-6D54UN4T.js";
44
- import "./chunk-VBDNOU76.js";
43
+ import "./chunk-SR2VOY5J.js";
44
+ import "./chunk-ZJMJ7MCT.js";
45
45
  import "./chunk-U7TEQCBN.js";
46
46
  import "./chunk-XNLSTHDK.js";
47
+ import "./chunk-6IF3RJND.js";
47
48
  import "./chunk-PDWPFR5T.js";
48
49
  import "./chunk-Y5PA7DVK.js";
49
50
  import {
@@ -51,7 +52,7 @@ import {
51
52
  defaultRegistries,
52
53
  isErrorWithCause,
53
54
  isObject
54
- } from "./chunk-IBGFQR23.js";
55
+ } from "./chunk-FLH4YC6W.js";
55
56
  import {
56
57
  error
57
58
  } from "./chunk-WZWDS3W4.js";
@@ -11,42 +11,44 @@ import {createRequire as _vlt_createRequire} from "node:module";
11
11
  var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  loadCommand
14
- } from "./chunk-A6FAI65V.js";
14
+ } from "./chunk-T6FBP4OU.js";
15
15
  import {
16
16
  flushAndExit,
17
17
  indent,
18
18
  outputCommand,
19
19
  stderr,
20
20
  stdout
21
- } from "./chunk-XDSZO74H.js";
21
+ } from "./chunk-FZUYGJZU.js";
22
22
  import {
23
23
  loadPackageJson
24
- } from "./chunk-KMOOTBHM.js";
24
+ } from "./chunk-QCSUWACA.js";
25
25
  import "./chunk-G2YT2GWF.js";
26
26
  import {
27
- asRootError
28
- } from "./chunk-IHXJVKAE.js";
27
+ asRootError,
28
+ findRootError
29
+ } from "./chunk-5Y4SYLJ2.js";
29
30
  import {
30
31
  Config
31
- } from "./chunk-L3K2ZAOO.js";
32
- import "./chunk-3D3IB4YN.js";
32
+ } from "./chunk-5RHABCYI.js";
33
+ import "./chunk-TO23PR7J.js";
33
34
  import "./chunk-SRWDPPLX.js";
34
35
  import "./chunk-WGDTG44V.js";
35
- import "./chunk-A2TSRXZD.js";
36
- import "./chunk-CB65DPZ2.js";
36
+ import "./chunk-THSYN5EK.js";
37
+ import "./chunk-I7UMHYZX.js";
37
38
  import "./chunk-4KCU2KZL.js";
38
- import "./chunk-SV4WK3KX.js";
39
- import "./chunk-GZ5MYMBT.js";
39
+ import "./chunk-PLG3OYCX.js";
40
+ import "./chunk-5IJTPZXP.js";
40
41
  import {
41
42
  getSortedCliOptions,
42
43
  getSortedKeys
43
- } from "./chunk-SE2FSMBR.js";
44
+ } from "./chunk-WF6KLKRN.js";
44
45
  import "./chunk-HTOTG4TS.js";
45
- import "./chunk-6D54UN4T.js";
46
+ import "./chunk-SR2VOY5J.js";
46
47
  import "./chunk-U7TEQCBN.js";
47
48
  import "./chunk-XNLSTHDK.js";
49
+ import "./chunk-6IF3RJND.js";
48
50
  import "./chunk-Y5PA7DVK.js";
49
- import "./chunk-IBGFQR23.js";
51
+ import "./chunk-FLH4YC6W.js";
50
52
  import "./chunk-WZWDS3W4.js";
51
53
  import "./chunk-PZLD7RTK.js";
52
54
 
@@ -60,11 +62,12 @@ var loadVlt = async (cwd, argv) => {
60
62
  try {
61
63
  return await Config.load(cwd, argv);
62
64
  } catch (e) {
63
- const err = asRootError(e, { code: "JACKSPEAK" });
65
+ const code = findRootError(e, { code: "ECONFIG" }) ? "ECONFIG" : "JACKSPEAK";
66
+ const err = asRootError(e, { code });
64
67
  const { found, path, wanted, name } = err.cause;
65
68
  const isConfigFile = typeof path === "string";
66
- const msg = isConfigFile ? `Problem in Config File ${path}` : "Invalid Option Flag";
67
- const validOptions = wanted ? void 0 : isConfigFile ? getSortedKeys() : getSortedCliOptions();
69
+ const msg = isConfigFile ? `Problem in Config File ${path}` : code === "ECONFIG" ? "Config Error" : "Invalid Option Flag";
70
+ const validOptions = wanted || code === "ECONFIG" ? void 0 : isConfigFile ? getSortedKeys() : getSortedCliOptions();
68
71
  stderr(msg);
69
72
  stderr(err.message);
70
73
  if (name) stderr(indent(`Field: ${format(name)}`));
@@ -80,11 +83,13 @@ var loadVlt = async (cwd, argv) => {
80
83
  stderr(indent("Valid Options:"));
81
84
  stderr(indent(validOptions.join("\n"), 4));
82
85
  }
83
- stderr(
84
- indent(
85
- `Run 'vlt help' for more information about available options.`
86
- )
87
- );
86
+ if (code !== "ECONFIG") {
87
+ stderr(
88
+ indent(
89
+ `Run 'vlt help' for more information about available options.`
90
+ )
91
+ );
92
+ }
88
93
  return flushAndExit(process.exitCode || 1);
89
94
  }
90
95
  };
@@ -105,7 +110,7 @@ var run = async () => {
105
110
  }
106
111
  if (vlt.command !== "init" && (vlt.get("workspace") || vlt.get("workspace-group")) && ![...monorepo?.values() ?? []].length) {
107
112
  stderr(
108
- `Error: No matching workspaces found. Make sure the vlt.json config, or the "workspaces" field of the root package.json, contains the correct workspaces.`
113
+ `Error: No matching workspaces found. Make sure the vlt.json config, the "workspaces" field of the root package.json, or the "packages" list of pnpm-workspace.yaml contains the correct workspaces.`
109
114
  );
110
115
  if (vlt.get("workspace")) {
111
116
  stderr(indent(`Workspace: ${format(vlt.get("workspace"))}`));
@@ -120,7 +125,7 @@ var run = async () => {
120
125
  return flushAndExit(process.exitCode || 1);
121
126
  }
122
127
  if (vlt.command === "registry") {
123
- const { dispatchRegistry } = await import("./registry-MQJJCWJY.js");
128
+ const { dispatchRegistry } = await import("./registry-W7BRZZZ2.js");
124
129
  await dispatchRegistry(vlt);
125
130
  }
126
131
  const command = await loadCommand(vlt.command);
@@ -24,25 +24,26 @@ import {
24
24
  normalizeRegistryKey,
25
25
  oidc,
26
26
  registryBase,
27
+ registryKeys,
27
28
  runtimeTokens,
28
29
  setRuntimeToken,
29
30
  setToken
30
- } from "./chunk-QVPNKMUU.js";
31
+ } from "./chunk-OAJ3PO3Z.js";
31
32
  import "./chunk-APMYKJI2.js";
32
33
  import {
33
34
  assertOk,
34
35
  registryErrorMessage,
35
36
  requestError,
36
37
  storeRoot
37
- } from "./chunk-6D54UN4T.js";
38
+ } from "./chunk-SR2VOY5J.js";
38
39
  import {
39
40
  userAgent
40
- } from "./chunk-VBDNOU76.js";
41
+ } from "./chunk-ZJMJ7MCT.js";
41
42
  import "./chunk-U7TEQCBN.js";
42
43
  import "./chunk-XNLSTHDK.js";
43
44
  import "./chunk-PDWPFR5T.js";
44
45
  import "./chunk-Y5PA7DVK.js";
45
- import "./chunk-IBGFQR23.js";
46
+ import "./chunk-FLH4YC6W.js";
46
47
  import "./chunk-WZWDS3W4.js";
47
48
  import "./chunk-PZLD7RTK.js";
48
49
  export {
@@ -62,6 +63,7 @@ export {
62
63
  oidc,
63
64
  registryBase,
64
65
  registryErrorMessage,
66
+ registryKeys,
65
67
  requestError,
66
68
  runtimeTokens,
67
69
  setRuntimeToken,
@@ -15,6 +15,7 @@ import {
15
15
  removeStoreEntry,
16
16
  storeCopiedPath,
17
17
  storeEntryCopied,
18
+ storeEntryLastCopied,
18
19
  storeEntryLinked,
19
20
  storeEntryNames,
20
21
  storeEntryTime,
@@ -27,12 +28,16 @@ import {
27
28
  unpackSync,
28
29
  unpackToStoreSync,
29
30
  verifyStoreEntry
30
- } from "./chunk-H77JYU7F.js";
31
+ } from "./chunk-DNRR3XMG.js";
32
+ import {
33
+ cloneAvailable,
34
+ cloneDir
35
+ } from "./chunk-6IF3RJND.js";
31
36
  import {
32
37
  rimrafSync
33
38
  } from "./chunk-PDWPFR5T.js";
34
39
  import "./chunk-Y5PA7DVK.js";
35
- import "./chunk-IBGFQR23.js";
40
+ import "./chunk-FLH4YC6W.js";
36
41
  import "./chunk-WZWDS3W4.js";
37
42
  import "./chunk-PZLD7RTK.js";
38
43
 
@@ -42,6 +47,7 @@ import {
42
47
  linkSync,
43
48
  lstatSync,
44
49
  mkdirSync,
50
+ readdirSync,
45
51
  readFileSync,
46
52
  renameSync,
47
53
  statSync,
@@ -57,6 +63,41 @@ var downgrade = (code) => {
57
63
  copyAll = true;
58
64
  debug("global store: linking failed, copying from now on", code);
59
65
  };
66
+ var cloneNone = false;
67
+ var native = (p) => sep === "/" ? p : p.replaceAll("/", sep);
68
+ var cloneEntry = (storeEntry, tmp) => {
69
+ const res = cloneDir(storeEntry, tmp);
70
+ if (res === true) return true;
71
+ if (res === "ENOTSUP" || res === "EXDEV" || res === "EPERM" || res === "EACCES") {
72
+ cloneNone = true;
73
+ debug("global store: cloning failed, unpacking from now on", res);
74
+ }
75
+ return false;
76
+ };
77
+ var checkClone = (tmp, index) => {
78
+ const counts = /* @__PURE__ */ new Map([["", 0]]);
79
+ for (const d of index.dirs) counts.set(d, 0);
80
+ for (const p of [...index.dirs, ...index.files.map((f) => f[0])]) {
81
+ const i = p.lastIndexOf("/");
82
+ const d = i === -1 ? "" : p.slice(0, i);
83
+ const n = counts.get(d);
84
+ if (n === void 0) return "damaged";
85
+ counts.set(d, n + 1);
86
+ }
87
+ for (const [d, n] of counts) {
88
+ let names;
89
+ try {
90
+ names = readdirSync(d ? tmp + sep + native(d) : tmp);
91
+ } catch {
92
+ return "damaged";
93
+ }
94
+ if (names.length !== n) return "damaged";
95
+ }
96
+ const pj = index.files.find((f) => f[0] === "package.json");
97
+ if (verify && pj && statSync(tmp + sep + "package.json").size !== pj[1]) {
98
+ return "damaged";
99
+ }
100
+ };
60
101
  var place = (src, dst, exec, copy) => {
61
102
  if (!copy && !copyAll) {
62
103
  try {
@@ -87,7 +128,6 @@ var place = (src, dst, exec, copy) => {
87
128
  return "copy";
88
129
  };
89
130
  var fill = (storeEntry, tmp, index, copy) => {
90
- const native = sep === "/" ? (p) => p : (p) => p.replaceAll("/", sep);
91
131
  const put = ([p, , exec]) => place(
92
132
  storeEntry + sep + native(p),
93
133
  tmp + sep + native(p),
@@ -120,7 +160,8 @@ var fill = (storeEntry, tmp, index, copy) => {
120
160
  throw er;
121
161
  }
122
162
  };
123
- var linkFromStore = (storeEntry, target, { copy = false } = {}) => {
163
+ var linkFromStore = (storeEntry, target, { copy = false, clone = false } = {}) => {
164
+ if (clone && cloneNone) return false;
124
165
  const index = readStoreIndex(storeEntry);
125
166
  if (!index || !lstatSync(storeEntry, noThrow)?.isDirectory()) {
126
167
  return false;
@@ -132,9 +173,10 @@ var linkFromStore = (storeEntry, target, { copy = false } = {}) => {
132
173
  const og = tmp + ".ORIGINAL";
133
174
  let succeeded = false;
134
175
  try {
135
- mkdirSync(tmp);
136
- let copied = copy;
137
- let miss = fill(storeEntry, tmp, index, copied);
176
+ if (clone && !cloneEntry(storeEntry, tmp)) return false;
177
+ let copied = !clone && copy;
178
+ if (!clone) mkdirSync(tmp);
179
+ let miss = clone ? checkClone(tmp, index) : fill(storeEntry, tmp, index, copied);
138
180
  if (miss === "mixed") {
139
181
  rimrafSync(tmp);
140
182
  mkdirSync(tmp);
@@ -157,9 +199,14 @@ var linkFromStore = (storeEntry, target, { copy = false } = {}) => {
157
199
  if (targetExists) renameSync(target, og);
158
200
  renameSync(tmp, target);
159
201
  if (targetExists) rimrafSync(og);
160
- if (copied || copyAll) markStoreEntryCopied(storeEntry);
202
+ if (clone || copied || copyAll || index.scripts) {
203
+ markStoreEntryCopied(storeEntry);
204
+ }
161
205
  succeeded = true;
162
- return { how: copied || copyAll ? "copy" : "link", index };
206
+ return {
207
+ how: clone ? "clone" : copied || copyAll ? "copy" : "link",
208
+ index
209
+ };
163
210
  } finally {
164
211
  if (!succeeded) {
165
212
  if (lstatSync(og, noThrow)) {
@@ -220,12 +267,14 @@ var Pool = class {
220
267
  };
221
268
  export {
222
269
  Pool,
270
+ cloneAvailable,
223
271
  linkFromStore,
224
272
  markStoreEntryCopied,
225
273
  readStoreIndex,
226
274
  removeStoreEntry,
227
275
  storeCopiedPath,
228
276
  storeEntryCopied,
277
+ storeEntryLastCopied,
229
278
  storeEntryLinked,
230
279
  storeEntryNames,
231
280
  storeEntryTime,
@@ -11,12 +11,12 @@ import {createRequire as _vlt_createRequire} from "node:module";
11
11
  var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  requireRegistry
14
- } from "./chunk-A2TSRXZD.js";
14
+ } from "./chunk-THSYN5EK.js";
15
15
  import {
16
16
  commandUsage
17
- } from "./chunk-TLY4VGMH.js";
18
- import "./chunk-GZ5MYMBT.js";
19
- import "./chunk-SE2FSMBR.js";
17
+ } from "./chunk-LHPEBLOU.js";
18
+ import "./chunk-5IJTPZXP.js";
19
+ import "./chunk-WF6KLKRN.js";
20
20
  import {
21
21
  RegistryClient,
22
22
  deleteToken,
@@ -25,15 +25,15 @@ import {
25
25
  normalizeRegistryKey,
26
26
  registryBase,
27
27
  setToken
28
- } from "./chunk-QVPNKMUU.js";
28
+ } from "./chunk-OAJ3PO3Z.js";
29
29
  import "./chunk-APMYKJI2.js";
30
- import "./chunk-6D54UN4T.js";
31
- import "./chunk-VBDNOU76.js";
30
+ import "./chunk-SR2VOY5J.js";
31
+ import "./chunk-ZJMJ7MCT.js";
32
32
  import "./chunk-U7TEQCBN.js";
33
33
  import "./chunk-XNLSTHDK.js";
34
34
  import "./chunk-PDWPFR5T.js";
35
35
  import "./chunk-Y5PA7DVK.js";
36
- import "./chunk-IBGFQR23.js";
36
+ import "./chunk-FLH4YC6W.js";
37
37
  import {
38
38
  error
39
39
  } from "./chunk-WZWDS3W4.js";
@@ -11,29 +11,29 @@ import {createRequire as _vlt_createRequire} from "node:module";
11
11
  var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  parseRemoveArgs
14
- } from "./chunk-2M2O6A4R.js";
15
- import "./chunk-A2TSRXZD.js";
14
+ } from "./chunk-ISE4IRHF.js";
15
+ import "./chunk-THSYN5EK.js";
16
16
  import {
17
17
  uninstall
18
- } from "./chunk-7BHHCB5C.js";
19
- import "./chunk-OWUICQFY.js";
18
+ } from "./chunk-OVPHE4O7.js";
19
+ import "./chunk-5TNXLRW2.js";
20
20
  import {
21
21
  commandUsage
22
- } from "./chunk-TLY4VGMH.js";
23
- import "./chunk-CB65DPZ2.js";
22
+ } from "./chunk-LHPEBLOU.js";
23
+ import "./chunk-I7UMHYZX.js";
24
24
  import {
25
25
  lazyView
26
26
  } from "./chunk-4KCU2KZL.js";
27
- import "./chunk-SV4WK3KX.js";
28
- import "./chunk-GZ5MYMBT.js";
29
- import "./chunk-SE2FSMBR.js";
27
+ import "./chunk-PLG3OYCX.js";
28
+ import "./chunk-5IJTPZXP.js";
29
+ import "./chunk-WF6KLKRN.js";
30
30
  import "./chunk-HTOTG4TS.js";
31
- import "./chunk-VBDNOU76.js";
31
+ import "./chunk-ZJMJ7MCT.js";
32
32
  import "./chunk-U7TEQCBN.js";
33
33
  import "./chunk-XNLSTHDK.js";
34
34
  import "./chunk-PDWPFR5T.js";
35
35
  import "./chunk-Y5PA7DVK.js";
36
- import "./chunk-IBGFQR23.js";
36
+ import "./chunk-FLH4YC6W.js";
37
37
  import "./chunk-WZWDS3W4.js";
38
38
  import "./chunk-PZLD7RTK.js";
39
39
 
@@ -66,7 +66,7 @@ var usage = () => commandUsage({
66
66
  var views = {
67
67
  json: (i) => i.graph.toJSON(),
68
68
  human: lazyView(
69
- async () => (await import("./reporter-TGBPLNR5.js")).InstallReporter
69
+ async () => (await import("./reporter-5NYOHBO7.js")).InstallReporter
70
70
  )
71
71
  };
72
72
  var command = async (conf) => {
@@ -11,28 +11,28 @@ import {createRequire as _vlt_createRequire} from "node:module";
11
11
  var require = _vlt_createRequire(import.meta.filename);
12
12
  import {
13
13
  resolveRegistry
14
- } from "./chunk-A2TSRXZD.js";
14
+ } from "./chunk-THSYN5EK.js";
15
15
  import {
16
16
  commandUsage
17
- } from "./chunk-TLY4VGMH.js";
17
+ } from "./chunk-LHPEBLOU.js";
18
18
  import {
19
19
  Spec
20
- } from "./chunk-GZ5MYMBT.js";
21
- import "./chunk-SE2FSMBR.js";
20
+ } from "./chunk-5IJTPZXP.js";
21
+ import "./chunk-WF6KLKRN.js";
22
22
  import {
23
23
  RegistryClient
24
- } from "./chunk-QVPNKMUU.js";
24
+ } from "./chunk-OAJ3PO3Z.js";
25
25
  import "./chunk-APMYKJI2.js";
26
26
  import {
27
27
  assertOk,
28
28
  requestError
29
- } from "./chunk-6D54UN4T.js";
30
- import "./chunk-VBDNOU76.js";
29
+ } from "./chunk-SR2VOY5J.js";
30
+ import "./chunk-ZJMJ7MCT.js";
31
31
  import "./chunk-U7TEQCBN.js";
32
32
  import "./chunk-XNLSTHDK.js";
33
33
  import "./chunk-PDWPFR5T.js";
34
34
  import "./chunk-Y5PA7DVK.js";
35
- import "./chunk-IBGFQR23.js";
35
+ import "./chunk-FLH4YC6W.js";
36
36
  import {
37
37
  error
38
38
  } from "./chunk-WZWDS3W4.js";