@vltpkg/cli-js 1.4.0 → 1.6.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 (105) hide show
  1. package/{access-422UGEWN.js → access-AJ654YKY.js} +13 -12
  2. package/{bugs-RED7Y33Q.js → bugs-N73DVYHD.js} +32 -25
  3. package/{build-IHMPBWRO.js → build-VZ3EZKMM.js} +65 -21
  4. package/{cache-FJP2RZJX.js → cache-VROEWG2C.js} +20 -17
  5. package/cache-unzip-src-unzip.js +58 -15
  6. package/{chunk-TPRK6IDA.js → chunk-22LZBDEC.js} +2 -2
  7. package/chunk-36UIE654.js +6248 -0
  8. package/{chunk-UGCKF5ZE.js → chunk-3JIN46K5.js} +1 -1
  9. package/{chunk-OAJ3PO3Z.js → chunk-44AWMA4F.js} +25 -13
  10. package/chunk-4E65BBTM.js +77 -0
  11. package/{chunk-SR2VOY5J.js → chunk-4GMNWW4C.js} +1 -1
  12. package/{chunk-5IJTPZXP.js → chunk-6D3QAFNZ.js} +1 -1
  13. package/{chunk-X4FVR4R5.js → chunk-75HGJVNG.js} +12 -10
  14. package/{chunk-THSYN5EK.js → chunk-7M2VTFLP.js} +12 -1
  15. package/{chunk-2AMOC4DN.js → chunk-ANW36H4T.js} +4 -4
  16. package/chunk-B6RIGNEO.js +626 -0
  17. package/{chunk-FLH4YC6W.js → chunk-BF5DRGRZ.js} +60 -15
  18. package/chunk-BH5CVXNY.js +115 -0
  19. package/{chunk-PLG3OYCX.js → chunk-CAV7FKWQ.js} +3 -2
  20. package/{chunk-C23TDXRG.js → chunk-CYK6I4M6.js} +1 -1
  21. package/chunk-DXED4ARV.js +436 -0
  22. package/chunk-E74WGW5C.js +49 -0
  23. package/{chunk-WF6KLKRN.js → chunk-EFHOWRKU.js} +103 -1
  24. package/chunk-EMTGRCSE.js +1111 -0
  25. package/{chunk-5Y4SYLJ2.js → chunk-EYGOEAJM.js} +1 -1
  26. package/{chunk-OVPHE4O7.js → chunk-F5LZMLAQ.js} +5335 -10902
  27. package/{chunk-HZXJ423P.js → chunk-FXD3IV2S.js} +4 -2
  28. package/chunk-GCTREKA4.js +115 -0
  29. package/{chunk-ZJMJ7MCT.js → chunk-GEQFMH5M.js} +1 -1
  30. package/{chunk-ISE4IRHF.js → chunk-GZVI75KX.js} +7 -14
  31. package/chunk-HOF7LEIC.js +24 -0
  32. package/{chunk-LHPEBLOU.js → chunk-HT6FS4VB.js} +1 -1
  33. package/{chunk-PHJJPY5G.js → chunk-IXAMCWIT.js} +5 -5
  34. package/{chunk-ASLX43R3.js → chunk-JCNI6ZHH.js} +7 -5
  35. package/chunk-JV5XR5JQ.js +349 -0
  36. package/{chunk-7T3XAYP4.js → chunk-KD5ZK72K.js} +1 -1
  37. package/{chunk-FZUYGJZU.js → chunk-KVWGMSPW.js} +137 -19
  38. package/{chunk-TO23PR7J.js → chunk-LCLRP64K.js} +14 -12
  39. package/{chunk-QCSUWACA.js → chunk-LGQVZTYR.js} +8 -36
  40. package/{chunk-5RHABCYI.js → chunk-LP3ORD3D.js} +143 -17
  41. package/chunk-MCDLJZXT.js +82 -0
  42. package/{chunk-DNRR3XMG.js → chunk-N6HV7JWC.js} +1 -1
  43. package/chunk-O6MQ7NN6.js +1155 -0
  44. package/{chunk-GIIAODRI.js → chunk-PC2HOBAQ.js} +7 -5
  45. package/{chunk-APMYKJI2.js → chunk-QNHBAGXQ.js} +1 -1
  46. package/chunk-RBQO54TG.js +59 -0
  47. package/chunk-SUU2WETN.js +268 -0
  48. package/{chunk-I7UMHYZX.js → chunk-TQQO2F56.js} +113 -1187
  49. package/{chunk-4UCADW6S.js → chunk-TWDSXQPN.js} +9 -7
  50. package/{chunk-MKWPTN3C.js → chunk-VLVMLSIF.js} +2 -2
  51. package/chunk-W4T5CGCO.js +52 -0
  52. package/{chunk-5TNXLRW2.js → chunk-YTDABXPD.js} +50 -12
  53. package/{ci-YSKNNO5M.js → ci-3BVMVQIT.js} +35 -13
  54. package/cli-package.json +3 -1
  55. package/{config-HO7GY3QT.js → config-2KQV7N5A.js} +16 -13
  56. package/{config-CSPCDMR3.js → config-EKHBW6I5.js} +12 -9
  57. package/{create-2TJT3AHJ.js → create-QVHNOIV3.js} +35 -29
  58. package/{deprecate-7FRJI2RL.js → deprecate-E254QBH6.js} +17 -15
  59. package/{dist-tag-WCFF5OEG.js → dist-tag-SITRFD7O.js} +13 -12
  60. package/{docs-JMBPTU23.js → docs-IDL2P7CA.js} +32 -25
  61. package/{exec-FBOUKZZ2.js → exec-7BK2W2WL.js} +35 -29
  62. package/{exec-cache-X3ZWM5S3.js → exec-cache-VY46L7DR.js} +27 -21
  63. package/{exec-local-Y3KQC22N.js → exec-local-D7R5T3DF.js} +26 -20
  64. package/{help-PUKVH5X7.js → help-RMRIEJQL.js} +6 -5
  65. package/{init-GOKAQXXZ.js → init-BGW4HJ6V.js} +15 -11
  66. package/{install-XFN4UFOC.js → install-U5GATZ2N.js} +144 -49
  67. package/{list-43JFFG5D.js → list-3VG4M2XL.js} +41 -28
  68. package/{login-RSTZKNKN.js → login-PHQWI6S6.js} +19 -16
  69. package/{logout-4576FFXZ.js → logout-DJCOGRFF.js} +13 -12
  70. package/{outdated-ACQ5A2Y7.js → outdated-JH3O6R3Y.js} +27 -22
  71. package/{pack-QQVJ3G25.js → pack-U5W5YWHK.js} +23 -18
  72. package/package.json +1 -1
  73. package/{ping-QCDQQRO5.js → ping-EKX43AOW.js} +13 -12
  74. package/{pkg-CSOJV7UC.js → pkg-SW5GMERT.js} +19 -14
  75. package/{profile-VL4HPW3N.js → profile-UGDRDMQ6.js} +13 -12
  76. package/{publish-2YBO6ZXE.js → publish-HTWKK3NN.js} +60 -45
  77. package/{query-IHHFMJRT.js → query-YE3FUVGG.js} +43 -30
  78. package/{registry-W7BRZZZ2.js → registry-ZGGWVLBM.js} +7 -7
  79. package/registry-client-src-revalidate.js +76 -22
  80. package/{repo-L3BXAAWS.js → repo-WDOCU6SE.js} +32 -25
  81. package/{reporter-5NYOHBO7.js → reporter-N5PAXB26.js} +121 -17
  82. package/{run-AMUUVLTI.js → run-IPARVIIQ.js} +26 -20
  83. package/{run-exec-5W3XWQZA.js → run-exec-C4RTREEW.js} +26 -20
  84. package/security-archive-src-update-expired.js +66 -21
  85. package/{setup-TFM4GJF7.js → setup-SYYUEHZL.js} +212 -32
  86. package/skills-KA2VR5Q5.js +480 -0
  87. package/skills-UBBMSBDQ.js +416 -0
  88. package/{src-4CYCUWZL.js → src-FUSTSM4J.js} +33 -22
  89. package/{src-I3GMULFP.js → src-QO5G2S4O.js} +11 -8
  90. package/{src-LUTN2ODD.js → src-W2VQULRG.js} +2 -2
  91. package/{token-OANOBE3G.js → token-UQNABECH.js} +15 -13
  92. package/{uninstall-YXTQ4AIZ.js → uninstall-FHBJ3OUV.js} +59 -18
  93. package/{unpublish-SZXYMYIU.js → unpublish-APJTEUBA.js} +31 -16
  94. package/{update-FHLMWGIM.js → update-NWZTL4S7.js} +52 -25
  95. package/{version-ZWFCTU5V.js → version-EMKKTL77.js} +20 -14
  96. package/{view-NFNJXMLV.js → view-BUUI33RV.js} +17 -15
  97. package/vlr.js +1 -1
  98. package/vlrx.js +1 -1
  99. package/vlt.js +1 -1
  100. package/vlx.js +1 -1
  101. package/vlxl.js +1 -1
  102. package/{whoami-O7GOSGCI.js → whoami-F6BSXGQ2.js} +13 -12
  103. package/chunk-G2YT2GWF.js +0 -120
  104. package/chunk-T6FBP4OU.js +0 -76
  105. package/chunk-U7TEQCBN.js +0 -880
@@ -802,12 +802,31 @@ var Comparator = class {
802
802
  );
803
803
  }
804
804
  #parseCaret(comp) {
805
- const min = this.#xInclusiveMin(comp);
806
- if (isAny(min)) {
807
- this.tuples.push(min);
805
+ const parsed = this.#parseX(comp);
806
+ if (isXMajor(parsed)) {
807
+ this.tuples.push(this.#getComparatorAny());
808
+ return;
809
+ }
810
+ const z = this.includePrerelease ? "0" : void 0;
811
+ if (isXMinor(parsed)) {
812
+ const [M2] = parsed;
813
+ this.tuples.push(
814
+ [">=", new Version(comp, M2, 0, 0, z, void 0)],
815
+ ["<", new Version(comp, M2 + 1, 0, 0, "0", void 0)]
816
+ );
808
817
  return;
809
818
  }
810
- const minv = min[1];
819
+ if (isXPatch(parsed)) {
820
+ const [M2, m2] = parsed;
821
+ this.tuples.push(
822
+ [">=", new Version(comp, M2, m2, 0, z, void 0)],
823
+ M2 !== 0 ? ["<", new Version(comp, M2 + 1, 0, 0, "0", void 0)] : ["<", new Version(comp, 0, m2 + 1, 0, "0", void 0)]
824
+ );
825
+ return;
826
+ }
827
+ const [M, m, p, pr = z, build] = parsed;
828
+ const minv = new Version(comp, M, m, p, pr, build);
829
+ const min = [">=", minv];
811
830
  if (minv.major !== 0) {
812
831
  this.tuples.push(min, [
813
832
  "<",
@@ -986,9 +1005,10 @@ var defaultScopeRegistries = {
986
1005
  "@jsr": "https://npm.jsr.io/"
987
1006
  };
988
1007
  var getOptions = (options) => ({
989
- catalog: {},
990
1008
  catalogs: {},
991
1009
  ...options,
1010
+ // after spread: explicit `catalog: undefined` gets default too
1011
+ catalog: options?.catalog ?? {},
992
1012
  // built-in aliases are user/service-overridable: user config wins
993
1013
  "jsr-registries": {
994
1014
  ...defaultJsrRegistries,
@@ -1177,19 +1197,25 @@ var Spec = class _Spec {
1177
1197
  }
1178
1198
  if (this.bareSpec.startsWith("catalog:")) {
1179
1199
  this.catalog = this.bareSpec.substring("catalog:".length);
1180
- const catalog = this.catalog ? this.options.catalogs?.[this.catalog] : this.options.catalog;
1200
+ const { catalog: defaultCatalog, catalogs = {} } = this.options;
1201
+ const catalog = this.catalog ? Object.hasOwn(catalogs, this.catalog) ? catalogs[this.catalog] : void 0 : Object.keys(defaultCatalog).length ? defaultCatalog : void 0;
1181
1202
  if (!catalog) {
1182
- throw this.#error("Named catalog not found", {
1183
- name: this.catalog,
1184
- validOptions: this.options.catalogs && Object.keys(this.options.catalogs)
1185
- });
1203
+ throw this.#catalogError(
1204
+ this.catalog ? `Catalog "${this.catalog}" not found for ${this.spec}` : `Default catalog not found for ${this.spec}`
1205
+ );
1186
1206
  }
1187
- const sub = catalog[this.name];
1207
+ const catalogName = this.catalog ? `catalog "${this.catalog}"` : "default catalog";
1208
+ const sub = Object.hasOwn(catalog, this.name) ? catalog[this.name] : void 0;
1188
1209
  if (!sub) {
1189
- throw this.#error("Name not found in catalog", {
1190
- name: this.name,
1191
- validOptions: Object.keys(catalog)
1192
- });
1210
+ throw this.#catalogError(
1211
+ `Package "${this.name}" not found in ${catalogName}`
1212
+ );
1213
+ }
1214
+ if (sub.startsWith("catalog:")) {
1215
+ throw this.#error(
1216
+ `Catalog entry "${this.name}" in ${catalogName} cannot be a catalog: spec`,
1217
+ { code: "ECONFIG", found: sub }
1218
+ );
1193
1219
  }
1194
1220
  this.subspec = _Spec.parse(this.name, sub, this.options);
1195
1221
  this.type = "catalog";
@@ -1505,6 +1531,23 @@ var Spec = class _Spec {
1505
1531
  ].map((p) => `${p}:`)
1506
1532
  });
1507
1533
  }
1534
+ /** ECONFIG error listing defined catalogs & ones defining this dep */
1535
+ #catalogError(message) {
1536
+ const { catalog, catalogs = {} } = this.options;
1537
+ const defined = [
1538
+ ...Object.keys(catalog).length ? [["", catalog]] : [],
1539
+ ...Object.entries(catalogs)
1540
+ ];
1541
+ const validOptions = defined.map(([n]) => `catalog:${n}`);
1542
+ const wanted = defined.filter(
1543
+ ([, c]) => Object.hasOwn(c, this.name) && !!c[this.name]
1544
+ ).map(([n]) => `catalog:${n}`);
1545
+ return this.#error(message, {
1546
+ code: "ECONFIG",
1547
+ ...validOptions.length ? { validOptions } : {},
1548
+ ...wanted.length ? { wanted } : {}
1549
+ });
1550
+ }
1508
1551
  #error(message, extra = {}) {
1509
1552
  return error(message, { spec: this.spec, ...extra }, this.#error);
1510
1553
  }
@@ -2299,6 +2342,7 @@ var parseRange = (range, includePrerelease = false) => {
2299
2342
  rangeCache.set(key, parsed);
2300
2343
  return parsed;
2301
2344
  };
2345
+ var valid = (version) => !!parse(version);
2302
2346
  var satisfies = (version, range, includePrerelease = false) => {
2303
2347
  if (typeof version === "string") {
2304
2348
  const parsed = parse(version);
@@ -2545,6 +2589,7 @@ export {
2545
2589
  Range,
2546
2590
  parse,
2547
2591
  parseRange,
2592
+ valid,
2548
2593
  satisfies,
2549
2594
  inc,
2550
2595
  rsort,
@@ -0,0 +1,115 @@
1
+ var global = globalThis;
2
+ import {Buffer} from "node:buffer";
3
+ import {setTimeout as _vlt_setTimeout,clearTimeout as _vlt_clearTimeout,setImmediate as _vlt_setImmediate,clearImmediate as _vlt_clearImmediate,setInterval as _vlt_setInterval,clearInterval as _vlt_clearInterval} from "node:timers";
4
+ globalThis.setTimeout = _vlt_setTimeout;
5
+ globalThis.clearTimeout = _vlt_clearTimeout;
6
+ globalThis.setImmediate = _vlt_setImmediate;
7
+ globalThis.clearImmediate = _vlt_clearImmediate;
8
+ globalThis.setInterval = _vlt_setInterval;
9
+ globalThis.clearInterval = _vlt_clearInterval;
10
+ import {createRequire as _vlt_createRequire} from "node:module";
11
+ var require = _vlt_createRequire(import.meta.filename);
12
+
13
+ // ../../src/cli-sdk/src/shell.ts
14
+ import { existsSync } from "node:fs";
15
+ import { homedir } from "node:os";
16
+ var shells = /* @__PURE__ */ new Map([
17
+ ["bash", "bash"],
18
+ ["zsh", "zsh"],
19
+ ["fish", "fish"],
20
+ ["nu", "nu"],
21
+ ["pwsh", "pwsh"],
22
+ ["powershell", "pwsh"],
23
+ ["sh", "sh"],
24
+ ["dash", "sh"],
25
+ ["ksh", "sh"],
26
+ ["mksh", "sh"],
27
+ ["ash", "sh"]
28
+ ]);
29
+ var isSep = (c, win32) => c === "/" || win32 && c === "\\";
30
+ var homeRest = (path, home, win32) => !home ? void 0 : path === home ? "" : path.startsWith(home) && isSep(path[home.length], win32) ? path.slice(home.length) : void 0;
31
+ var prettyPath = (path, home = homedir(), win32 = process.platform === "win32") => {
32
+ const rest = homeRest(path, home, win32);
33
+ return rest === void 0 ? path : `~${rest}`;
34
+ };
35
+ var detectShell = (env = process.env, platform = process.platform) => {
36
+ const { SHELL } = env;
37
+ if (SHELL) {
38
+ const name = SHELL.replace(/^.*[\\/]/, "").replace(/\.exe$/i, "").toLowerCase();
39
+ return shells.get(name) ?? "unknown";
40
+ }
41
+ if (platform !== "win32") return "unknown";
42
+ const mods = (env.PSModulePath ?? "").split(";").filter(Boolean);
43
+ return mods.length >= 3 ? "pwsh" : "cmd";
44
+ };
45
+ var opts = ({
46
+ env = process.env,
47
+ platform = process.platform,
48
+ home = homedir()
49
+ }) => ({
50
+ env,
51
+ platform,
52
+ home,
53
+ win32: platform === "win32"
54
+ });
55
+ var escape = (s, chars, esc = "\\") => s.replace(chars, (c) => esc + c);
56
+ var posixInner = (dir, o, chars) => {
57
+ const { home, win32 } = opts(o);
58
+ const slash = (p2) => win32 ? p2.replace(/\\/g, "/") : p2;
59
+ const rest = homeRest(dir, home, win32);
60
+ if (rest !== void 0) return "$HOME" + escape(slash(rest), chars);
61
+ const p = win32 ? slash(dir).replace(
62
+ /^([a-z]):/i,
63
+ (_, d) => `/${d.toLowerCase()}`
64
+ ) : dir;
65
+ return escape(p, chars);
66
+ };
67
+ var shChars = /[\\"$`]/g;
68
+ var posixPath = (dir, o = {}) => `"${posixInner(dir, o, shChars)}"`;
69
+ var fishPath = (dir, o = {}) => `"${posixInner(dir, o, /[\\"$]/g)}"`;
70
+ var shellPathCommand = (shell, dir, o = {}) => {
71
+ const { home, win32 } = opts(o);
72
+ const rest = homeRest(dir, home, win32);
73
+ switch (shell) {
74
+ case "fish":
75
+ return `fish_add_path ${fishPath(dir, o)}`;
76
+ case "nu":
77
+ return `$env.PATH = ($env.PATH | prepend "${escape(dir, /[\\"]/g)}")`;
78
+ case "pwsh": {
79
+ const p = rest === void 0 ? escape(dir, /[`"$]/g, "`") : "$HOME" + escape(rest, /[`"$]/g, "`");
80
+ return `$env:PATH += "${win32 ? ";" : ":"}${p}"`;
81
+ }
82
+ case "cmd":
83
+ return `set "PATH=%PATH%;${rest === void 0 ? dir : "%USERPROFILE%" + rest}"`;
84
+ default:
85
+ return `export PATH="${posixInner(dir, o, shChars)}:$PATH"`;
86
+ }
87
+ };
88
+ var shellRcFile = (shell, o = {}) => {
89
+ const { env, platform, home, win32 } = opts(o);
90
+ switch (shell) {
91
+ case "zsh":
92
+ return prettyPath(`${env.ZDOTDIR || home}/.zshrc`, home, win32);
93
+ case "bash": {
94
+ const has = (f2) => existsSync(`${home}/${f2}`);
95
+ if (platform !== "darwin" && has(".bashrc")) return "~/.bashrc";
96
+ const f = [".bash_profile", ".bash_login"].find(has);
97
+ return `~/${f ?? ".profile"}`;
98
+ }
99
+ case "sh":
100
+ return env.ENV ? prettyPath(env.ENV, home, win32) : "~/.profile";
101
+ case "pwsh":
102
+ return "$PROFILE";
103
+ default:
104
+ return void 0;
105
+ }
106
+ };
107
+
108
+ export {
109
+ prettyPath,
110
+ detectShell,
111
+ posixPath,
112
+ fishPath,
113
+ shellPathCommand,
114
+ shellRcFile
115
+ };
@@ -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
  Spec as Spec2
14
- } from "./chunk-5IJTPZXP.js";
14
+ } from "./chunk-6D3QAFNZ.js";
15
15
  import {
16
16
  Spec,
17
17
  currentDefaultRegistryName,
18
18
  defaultRegistryName
19
- } from "./chunk-FLH4YC6W.js";
19
+ } from "./chunk-BF5DRGRZ.js";
20
20
  import {
21
21
  error
22
22
  } from "./chunk-WZWDS3W4.js";
@@ -865,6 +865,7 @@ var graphRunSync = (options) => {
865
865
  };
866
866
 
867
867
  export {
868
+ isDepID,
868
869
  asDepID,
869
870
  joinDepIDTuple,
870
871
  splitDepID,
@@ -34,7 +34,7 @@ var run = async (command) => {
34
34
  if (command) {
35
35
  process.argv.splice(2, 0, command);
36
36
  }
37
- const vlt = await import("./src-4CYCUWZL.js");
37
+ const vlt = await import("./src-FUSTSM4J.js");
38
38
  await vlt.default();
39
39
  };
40
40