@vltpkg/cli-sdk 1.0.0-rc.1 → 1.0.0-rc.11

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 (264) hide show
  1. package/dist/commands/bugs.d.ts +18 -0
  2. package/dist/commands/bugs.d.ts.map +1 -0
  3. package/dist/commands/bugs.js +164 -0
  4. package/dist/commands/bugs.js.map +1 -0
  5. package/dist/commands/build.d.ts.map +1 -0
  6. package/dist/commands/build.js.map +1 -0
  7. package/dist/commands/cache.d.ts.map +1 -0
  8. package/dist/commands/cache.js.map +1 -0
  9. package/dist/commands/ci.d.ts.map +1 -0
  10. package/dist/commands/ci.js.map +1 -0
  11. package/dist/commands/config.d.ts.map +1 -0
  12. package/dist/commands/config.js.map +1 -0
  13. package/dist/commands/docs.d.ts.map +1 -0
  14. package/dist/{esm/commands → commands}/docs.js +2 -2
  15. package/dist/commands/docs.js.map +1 -0
  16. package/dist/commands/exec-cache.d.ts.map +1 -0
  17. package/dist/commands/exec-cache.js.map +1 -0
  18. package/dist/commands/exec-local.d.ts.map +1 -0
  19. package/dist/commands/exec-local.js.map +1 -0
  20. package/dist/commands/exec.d.ts.map +1 -0
  21. package/dist/commands/exec.js.map +1 -0
  22. package/dist/commands/help.d.ts.map +1 -0
  23. package/dist/commands/help.js.map +1 -0
  24. package/dist/commands/init.d.ts.map +1 -0
  25. package/dist/commands/init.js.map +1 -0
  26. package/dist/commands/install/reporter.d.ts.map +1 -0
  27. package/dist/commands/install/reporter.js.map +1 -0
  28. package/dist/commands/install.d.ts.map +1 -0
  29. package/dist/{esm/commands → commands}/install.js +2 -1
  30. package/dist/commands/install.js.map +1 -0
  31. package/dist/commands/list.d.ts.map +1 -0
  32. package/dist/commands/list.js.map +1 -0
  33. package/dist/commands/login.d.ts.map +1 -0
  34. package/dist/commands/login.js.map +1 -0
  35. package/dist/commands/logout.d.ts.map +1 -0
  36. package/dist/commands/logout.js.map +1 -0
  37. package/dist/commands/pack.d.ts.map +1 -0
  38. package/dist/commands/pack.js.map +1 -0
  39. package/dist/commands/pkg.d.ts.map +1 -0
  40. package/dist/commands/pkg.js.map +1 -0
  41. package/dist/commands/publish.d.ts.map +1 -0
  42. package/dist/commands/publish.js.map +1 -0
  43. package/dist/commands/query.d.ts.map +1 -0
  44. package/dist/commands/query.js.map +1 -0
  45. package/dist/commands/run-exec.d.ts.map +1 -0
  46. package/dist/commands/run-exec.js.map +1 -0
  47. package/dist/commands/run.d.ts.map +1 -0
  48. package/dist/commands/run.js.map +1 -0
  49. package/dist/commands/serve.d.ts.map +1 -0
  50. package/dist/{esm/commands → commands}/serve.js +1 -1
  51. package/dist/commands/serve.js.map +1 -0
  52. package/dist/commands/token.d.ts.map +1 -0
  53. package/dist/commands/token.js.map +1 -0
  54. package/dist/commands/uninstall.d.ts.map +1 -0
  55. package/dist/{esm/commands → commands}/uninstall.js +2 -2
  56. package/dist/commands/uninstall.js.map +1 -0
  57. package/dist/commands/update.d.ts.map +1 -0
  58. package/dist/commands/update.js.map +1 -0
  59. package/dist/commands/version.d.ts.map +1 -0
  60. package/dist/commands/version.js.map +1 -0
  61. package/dist/commands/whoami.d.ts.map +1 -0
  62. package/dist/commands/whoami.js.map +1 -0
  63. package/dist/{esm/config → config}/definition.d.ts +1 -0
  64. package/dist/config/definition.d.ts.map +1 -0
  65. package/dist/{esm/config → config}/definition.js +1 -0
  66. package/dist/config/definition.js.map +1 -0
  67. package/dist/config/index.d.ts.map +1 -0
  68. package/dist/config/index.js.map +1 -0
  69. package/dist/config/merge.d.ts.map +1 -0
  70. package/dist/config/merge.js.map +1 -0
  71. package/dist/config/usage.d.ts.map +1 -0
  72. package/dist/config/usage.js.map +1 -0
  73. package/dist/custom-help.d.ts.map +1 -0
  74. package/dist/custom-help.js.map +1 -0
  75. package/dist/exec-command.d.ts.map +1 -0
  76. package/dist/exec-command.js.map +1 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/load-command.d.ts.map +1 -0
  80. package/dist/load-command.js.map +1 -0
  81. package/dist/output.d.ts.map +1 -0
  82. package/dist/output.js.map +1 -0
  83. package/dist/pack-tarball.d.ts.map +1 -0
  84. package/dist/pack-tarball.js.map +1 -0
  85. package/dist/{esm/parse-add-remove-args.d.ts → parse-add-remove-args.d.ts} +9 -2
  86. package/dist/parse-add-remove-args.d.ts.map +1 -0
  87. package/dist/{esm/parse-add-remove-args.js → parse-add-remove-args.js} +43 -10
  88. package/dist/parse-add-remove-args.js.map +1 -0
  89. package/dist/print-err.d.ts.map +1 -0
  90. package/dist/{esm/print-err.js → print-err.js} +1 -1
  91. package/dist/print-err.js.map +1 -0
  92. package/dist/query-host-contexts.d.ts.map +1 -0
  93. package/dist/query-host-contexts.js.map +1 -0
  94. package/dist/read-password.d.ts.map +1 -0
  95. package/dist/read-password.js.map +1 -0
  96. package/dist/start-gui.d.ts.map +1 -0
  97. package/dist/{esm/start-gui.js → start-gui.js} +3 -2
  98. package/dist/start-gui.js.map +1 -0
  99. package/dist/view.d.ts.map +1 -0
  100. package/dist/view.js.map +1 -0
  101. package/package.json +49 -69
  102. package/dist/esm/commands/build.d.ts.map +0 -1
  103. package/dist/esm/commands/build.js.map +0 -1
  104. package/dist/esm/commands/cache.d.ts.map +0 -1
  105. package/dist/esm/commands/cache.js.map +0 -1
  106. package/dist/esm/commands/ci.d.ts.map +0 -1
  107. package/dist/esm/commands/ci.js.map +0 -1
  108. package/dist/esm/commands/config.d.ts.map +0 -1
  109. package/dist/esm/commands/config.js.map +0 -1
  110. package/dist/esm/commands/docs.d.ts.map +0 -1
  111. package/dist/esm/commands/docs.js.map +0 -1
  112. package/dist/esm/commands/exec-cache.d.ts.map +0 -1
  113. package/dist/esm/commands/exec-cache.js.map +0 -1
  114. package/dist/esm/commands/exec-local.d.ts.map +0 -1
  115. package/dist/esm/commands/exec-local.js.map +0 -1
  116. package/dist/esm/commands/exec.d.ts.map +0 -1
  117. package/dist/esm/commands/exec.js.map +0 -1
  118. package/dist/esm/commands/help.d.ts.map +0 -1
  119. package/dist/esm/commands/help.js.map +0 -1
  120. package/dist/esm/commands/init.d.ts.map +0 -1
  121. package/dist/esm/commands/init.js.map +0 -1
  122. package/dist/esm/commands/install/reporter.d.ts.map +0 -1
  123. package/dist/esm/commands/install/reporter.js.map +0 -1
  124. package/dist/esm/commands/install.d.ts.map +0 -1
  125. package/dist/esm/commands/install.js.map +0 -1
  126. package/dist/esm/commands/list.d.ts.map +0 -1
  127. package/dist/esm/commands/list.js.map +0 -1
  128. package/dist/esm/commands/login.d.ts.map +0 -1
  129. package/dist/esm/commands/login.js.map +0 -1
  130. package/dist/esm/commands/logout.d.ts.map +0 -1
  131. package/dist/esm/commands/logout.js.map +0 -1
  132. package/dist/esm/commands/pack.d.ts.map +0 -1
  133. package/dist/esm/commands/pack.js.map +0 -1
  134. package/dist/esm/commands/pkg.d.ts.map +0 -1
  135. package/dist/esm/commands/pkg.js.map +0 -1
  136. package/dist/esm/commands/publish.d.ts.map +0 -1
  137. package/dist/esm/commands/publish.js.map +0 -1
  138. package/dist/esm/commands/query.d.ts.map +0 -1
  139. package/dist/esm/commands/query.js.map +0 -1
  140. package/dist/esm/commands/run-exec.d.ts.map +0 -1
  141. package/dist/esm/commands/run-exec.js.map +0 -1
  142. package/dist/esm/commands/run.d.ts.map +0 -1
  143. package/dist/esm/commands/run.js.map +0 -1
  144. package/dist/esm/commands/serve.d.ts.map +0 -1
  145. package/dist/esm/commands/serve.js.map +0 -1
  146. package/dist/esm/commands/token.d.ts.map +0 -1
  147. package/dist/esm/commands/token.js.map +0 -1
  148. package/dist/esm/commands/uninstall.d.ts.map +0 -1
  149. package/dist/esm/commands/uninstall.js.map +0 -1
  150. package/dist/esm/commands/update.d.ts.map +0 -1
  151. package/dist/esm/commands/update.js.map +0 -1
  152. package/dist/esm/commands/version.d.ts.map +0 -1
  153. package/dist/esm/commands/version.js.map +0 -1
  154. package/dist/esm/commands/whoami.d.ts.map +0 -1
  155. package/dist/esm/commands/whoami.js.map +0 -1
  156. package/dist/esm/config/definition.d.ts.map +0 -1
  157. package/dist/esm/config/definition.js.map +0 -1
  158. package/dist/esm/config/index.d.ts.map +0 -1
  159. package/dist/esm/config/index.js.map +0 -1
  160. package/dist/esm/config/merge.d.ts.map +0 -1
  161. package/dist/esm/config/merge.js.map +0 -1
  162. package/dist/esm/config/usage.d.ts.map +0 -1
  163. package/dist/esm/config/usage.js.map +0 -1
  164. package/dist/esm/custom-help.d.ts.map +0 -1
  165. package/dist/esm/custom-help.js.map +0 -1
  166. package/dist/esm/exec-command.d.ts.map +0 -1
  167. package/dist/esm/exec-command.js.map +0 -1
  168. package/dist/esm/index.d.ts.map +0 -1
  169. package/dist/esm/index.js.map +0 -1
  170. package/dist/esm/load-command.d.ts.map +0 -1
  171. package/dist/esm/load-command.js.map +0 -1
  172. package/dist/esm/output.d.ts.map +0 -1
  173. package/dist/esm/output.js.map +0 -1
  174. package/dist/esm/pack-tarball.d.ts.map +0 -1
  175. package/dist/esm/pack-tarball.js.map +0 -1
  176. package/dist/esm/package.json +0 -3
  177. package/dist/esm/parse-add-remove-args.d.ts.map +0 -1
  178. package/dist/esm/parse-add-remove-args.js.map +0 -1
  179. package/dist/esm/print-err.d.ts.map +0 -1
  180. package/dist/esm/print-err.js.map +0 -1
  181. package/dist/esm/query-host-contexts.d.ts.map +0 -1
  182. package/dist/esm/query-host-contexts.js.map +0 -1
  183. package/dist/esm/read-password.d.ts.map +0 -1
  184. package/dist/esm/read-password.js.map +0 -1
  185. package/dist/esm/start-gui.d.ts.map +0 -1
  186. package/dist/esm/start-gui.js.map +0 -1
  187. package/dist/esm/view.d.ts.map +0 -1
  188. package/dist/esm/view.js.map +0 -1
  189. /package/dist/{esm/commands → commands}/build.d.ts +0 -0
  190. /package/dist/{esm/commands → commands}/build.js +0 -0
  191. /package/dist/{esm/commands → commands}/cache.d.ts +0 -0
  192. /package/dist/{esm/commands → commands}/cache.js +0 -0
  193. /package/dist/{esm/commands → commands}/ci.d.ts +0 -0
  194. /package/dist/{esm/commands → commands}/ci.js +0 -0
  195. /package/dist/{esm/commands → commands}/config.d.ts +0 -0
  196. /package/dist/{esm/commands → commands}/config.js +0 -0
  197. /package/dist/{esm/commands → commands}/docs.d.ts +0 -0
  198. /package/dist/{esm/commands → commands}/exec-cache.d.ts +0 -0
  199. /package/dist/{esm/commands → commands}/exec-cache.js +0 -0
  200. /package/dist/{esm/commands → commands}/exec-local.d.ts +0 -0
  201. /package/dist/{esm/commands → commands}/exec-local.js +0 -0
  202. /package/dist/{esm/commands → commands}/exec.d.ts +0 -0
  203. /package/dist/{esm/commands → commands}/exec.js +0 -0
  204. /package/dist/{esm/commands → commands}/help.d.ts +0 -0
  205. /package/dist/{esm/commands → commands}/help.js +0 -0
  206. /package/dist/{esm/commands → commands}/init.d.ts +0 -0
  207. /package/dist/{esm/commands → commands}/init.js +0 -0
  208. /package/dist/{esm/commands → commands}/install/reporter.d.ts +0 -0
  209. /package/dist/{esm/commands → commands}/install/reporter.js +0 -0
  210. /package/dist/{esm/commands → commands}/install.d.ts +0 -0
  211. /package/dist/{esm/commands → commands}/list.d.ts +0 -0
  212. /package/dist/{esm/commands → commands}/list.js +0 -0
  213. /package/dist/{esm/commands → commands}/login.d.ts +0 -0
  214. /package/dist/{esm/commands → commands}/login.js +0 -0
  215. /package/dist/{esm/commands → commands}/logout.d.ts +0 -0
  216. /package/dist/{esm/commands → commands}/logout.js +0 -0
  217. /package/dist/{esm/commands → commands}/pack.d.ts +0 -0
  218. /package/dist/{esm/commands → commands}/pack.js +0 -0
  219. /package/dist/{esm/commands → commands}/pkg.d.ts +0 -0
  220. /package/dist/{esm/commands → commands}/pkg.js +0 -0
  221. /package/dist/{esm/commands → commands}/publish.d.ts +0 -0
  222. /package/dist/{esm/commands → commands}/publish.js +0 -0
  223. /package/dist/{esm/commands → commands}/query.d.ts +0 -0
  224. /package/dist/{esm/commands → commands}/query.js +0 -0
  225. /package/dist/{esm/commands → commands}/run-exec.d.ts +0 -0
  226. /package/dist/{esm/commands → commands}/run-exec.js +0 -0
  227. /package/dist/{esm/commands → commands}/run.d.ts +0 -0
  228. /package/dist/{esm/commands → commands}/run.js +0 -0
  229. /package/dist/{esm/commands → commands}/serve.d.ts +0 -0
  230. /package/dist/{esm/commands → commands}/token.d.ts +0 -0
  231. /package/dist/{esm/commands → commands}/token.js +0 -0
  232. /package/dist/{esm/commands → commands}/uninstall.d.ts +0 -0
  233. /package/dist/{esm/commands → commands}/update.d.ts +0 -0
  234. /package/dist/{esm/commands → commands}/update.js +0 -0
  235. /package/dist/{esm/commands → commands}/version.d.ts +0 -0
  236. /package/dist/{esm/commands → commands}/version.js +0 -0
  237. /package/dist/{esm/commands → commands}/whoami.d.ts +0 -0
  238. /package/dist/{esm/commands → commands}/whoami.js +0 -0
  239. /package/dist/{esm/config → config}/index.d.ts +0 -0
  240. /package/dist/{esm/config → config}/index.js +0 -0
  241. /package/dist/{esm/config → config}/merge.d.ts +0 -0
  242. /package/dist/{esm/config → config}/merge.js +0 -0
  243. /package/dist/{esm/config → config}/usage.d.ts +0 -0
  244. /package/dist/{esm/config → config}/usage.js +0 -0
  245. /package/dist/{esm/custom-help.d.ts → custom-help.d.ts} +0 -0
  246. /package/dist/{esm/custom-help.js → custom-help.js} +0 -0
  247. /package/dist/{esm/exec-command.d.ts → exec-command.d.ts} +0 -0
  248. /package/dist/{esm/exec-command.js → exec-command.js} +0 -0
  249. /package/dist/{esm/index.d.ts → index.d.ts} +0 -0
  250. /package/dist/{esm/index.js → index.js} +0 -0
  251. /package/dist/{esm/load-command.d.ts → load-command.d.ts} +0 -0
  252. /package/dist/{esm/load-command.js → load-command.js} +0 -0
  253. /package/dist/{esm/output.d.ts → output.d.ts} +0 -0
  254. /package/dist/{esm/output.js → output.js} +0 -0
  255. /package/dist/{esm/pack-tarball.d.ts → pack-tarball.d.ts} +0 -0
  256. /package/dist/{esm/pack-tarball.js → pack-tarball.js} +0 -0
  257. /package/dist/{esm/print-err.d.ts → print-err.d.ts} +0 -0
  258. /package/dist/{esm/query-host-contexts.d.ts → query-host-contexts.d.ts} +0 -0
  259. /package/dist/{esm/query-host-contexts.js → query-host-contexts.js} +0 -0
  260. /package/dist/{esm/read-password.d.ts → read-password.d.ts} +0 -0
  261. /package/dist/{esm/read-password.js → read-password.js} +0 -0
  262. /package/dist/{esm/start-gui.d.ts → start-gui.d.ts} +0 -0
  263. /package/dist/{esm/view.d.ts → view.d.ts} +0 -0
  264. /package/dist/{esm/view.js → view.js} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/config/usage.ts"],"names":[],"mappings":"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","sourcesContent":["import { jack } from 'jackspeak'\nimport type { CommandUsage } from '../index.ts'\nimport { commandAliases } from './definition.ts'\n\nconst toArr = <T>(v: T | T[]): T[] => (Array.isArray(v) ? v : [v])\n\nconst code = (v: string) => [v, { pre: true }] as const\n\nconst join = (args: (string | undefined)[], joiner = ' ') =>\n args.filter(Boolean).join(joiner)\n\nexport type CommandUsageDefinition = {\n command: string\n usage: string | string[]\n description: string\n subcommands?: Record<\n string,\n { usage?: string | string[]; description: string }\n >\n examples?: Record<string, { description: string }>\n options?: Record<string, { value?: string; description: string }>\n}\n\nexport const commandUsage = ({\n command,\n usage,\n description,\n subcommands,\n examples,\n options,\n}: CommandUsageDefinition): ReturnType<CommandUsage> => {\n const vlt = (s?: string) => join([`vlt`, command, s])\n\n const joinUsage = (usages?: string | string[]) =>\n toArr(usages).map(vlt).filter(Boolean).join('\\n')\n\n const j = jack({ usage: joinUsage(usage) }).description(description)\n\n const aliases = commandAliases.get(command)\n if (aliases) {\n j.heading('Aliases', 2).description(aliases.join(', '), {\n pre: true,\n })\n }\n\n if (subcommands) {\n j.heading('Subcommands', 2)\n for (const [k, v] of Object.entries(subcommands)) {\n j.heading(k, 3)\n .description(v.description)\n .description(\n ...code(joinUsage(toArr(v.usage).map(u => join([k, u])))),\n )\n }\n }\n\n if (examples) {\n j.heading('Examples', 2)\n for (const [k, v] of Object.entries(examples)) {\n j.description(v.description).description(...code(vlt(k)))\n }\n }\n\n if (options) {\n j.heading('Options', 2)\n for (const [k, v] of Object.entries(options)) {\n j.heading(k, 3)\n .description(v.description)\n .description(\n ...code(\n join(['--', k, v.value ? '=' : undefined, v.value], ''),\n ),\n )\n }\n }\n\n return j\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-help.d.ts","sourceRoot":"","sources":["../../src/custom-help.ts"],"names":[],"mappings":"AAkQA;;GAEG;AACH,eAAO,MAAM,mBAAmB,wBAAqB,MAiDpD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,wBAAqB,MA8HjD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-help.js","sourceRoot":"","sources":["../../src/custom-help.ts"],"names":[],"mappings":"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","sourcesContent":["import { loadPackageJson } from 'package-json-from-dist'\nimport chalk from 'chalk'\n\nconst { version } = loadPackageJson(\n import.meta.filename,\n process.env.__VLT_INTERNAL_CLI_PACKAGE_JSON,\n) as {\n version: string\n}\n\n// Custom yellow color: #FFE15D\nconst customYellow = chalk.hex('#FFE15D')\n\ntype StylerFn = (style: string | string[], text: string) => string\n\nconst makeStyler = (colors: boolean): StylerFn => {\n if (!colors) return (_, s) => s\n\n return (style: string | string[], text: string): string => {\n const styles = Array.isArray(style) ? style : [style]\n let styledText = text\n\n for (const s of styles) {\n switch (s) {\n case 'yellow':\n case 'yellowBright':\n styledText = customYellow(styledText)\n break\n case 'bold':\n styledText = chalk.bold(styledText)\n break\n case 'dim':\n styledText = chalk.dim(styledText)\n break\n case 'dark':\n styledText = chalk.gray(styledText)\n break\n case 'cyan':\n styledText = chalk.cyan(styledText)\n break\n case 'green':\n styledText = chalk.green(styledText)\n break\n default:\n // Fallback to chalk's built-in colors\n if (\n s in chalk &&\n typeof chalk[s as keyof typeof chalk] === 'function'\n ) {\n styledText = (\n chalk[s as keyof typeof chalk] as (\n text: string,\n ) => string\n )(styledText)\n }\n break\n }\n }\n\n return styledText\n }\n}\n\n// Single source of truth for all commands with metadata\nconst allCommands = [\n {\n name: 'build',\n aliases: ['b'],\n args: '<selector>',\n desc: 'Build packages with lifecycle scripts',\n showByDefault: true,\n defaultOrder: 4,\n },\n {\n name: 'cache',\n aliases: [],\n args: '[add|ls|info|clean|delete|delete-before|delete-all]',\n desc: 'Manage the package cache',\n showByDefault: false,\n },\n {\n name: 'ci',\n aliases: [],\n args: '',\n desc: 'Clean install (frozen lockfile)',\n showByDefault: false,\n },\n {\n name: 'config',\n aliases: [],\n args: '[get|pick|list|set|delete|edit|location]',\n desc: 'Get or set configuration',\n showByDefault: false,\n },\n {\n name: 'docs',\n aliases: [],\n args: '',\n desc: 'Open the docs of the current project',\n showByDefault: false,\n },\n {\n name: 'exec',\n aliases: ['x'],\n args: '<executable>',\n desc: 'Execute a package bin',\n showByDefault: true,\n defaultOrder: 6,\n },\n {\n name: 'exec-cache',\n aliases: ['xc'],\n args: '[ls|delete|info|install]',\n desc: 'Manage the exec cache',\n showByDefault: false,\n },\n {\n name: 'exec-local',\n aliases: ['xl'],\n args: '<command>',\n desc: 'Execute a local package bin',\n showByDefault: false,\n },\n {\n name: 'help',\n aliases: ['h', '?'],\n args: '[<command>]',\n desc: 'Show help for a command',\n showByDefault: false,\n },\n {\n name: 'init',\n aliases: [],\n args: '',\n desc: 'Initialize a new project',\n showByDefault: true,\n defaultOrder: 1,\n },\n {\n name: 'install',\n aliases: ['i', 'add'],\n args: '[<package>...]',\n desc: 'Install dependencies',\n showByDefault: true,\n defaultOrder: 2,\n },\n {\n name: 'list',\n aliases: ['ls'],\n args: '',\n desc: 'List installed packages',\n showByDefault: false,\n },\n {\n name: 'login',\n aliases: [],\n args: '',\n desc: 'Authenticate with a registry',\n showByDefault: false,\n },\n {\n name: 'logout',\n aliases: [],\n args: '',\n desc: 'Log out from a registry',\n showByDefault: false,\n },\n {\n name: 'pack',\n aliases: [],\n args: '',\n desc: 'Create a tarball from a package',\n showByDefault: false,\n },\n {\n name: 'pkg',\n aliases: ['p'],\n args: '<command>',\n desc: 'Manage package metadata',\n showByDefault: true,\n defaultOrder: 7,\n },\n {\n name: 'publish',\n aliases: ['pub'],\n args: '',\n desc: 'Publish package to registry',\n showByDefault: true,\n defaultOrder: 8,\n },\n {\n name: 'query',\n aliases: ['q'],\n args: '<selector>',\n desc: 'Query for packages in the project',\n showByDefault: true,\n defaultOrder: 3,\n },\n {\n name: 'run',\n aliases: ['r'],\n args: '<script>',\n desc: 'Run a script defined in package.json',\n showByDefault: true,\n defaultOrder: 5,\n },\n {\n name: 'run-exec',\n aliases: ['rx'],\n args: '<script>',\n desc: 'Run a script &/or fallback to executing a binary',\n showByDefault: false,\n },\n {\n name: 'serve',\n aliases: ['s'],\n args: '',\n desc: 'Start a local package registry server',\n showByDefault: true,\n defaultOrder: 9,\n },\n {\n name: 'token',\n aliases: [],\n args: '[add|rm]',\n desc: 'Manage authentication tokens',\n showByDefault: false,\n },\n {\n name: 'uninstall',\n aliases: ['rm'],\n args: '[<package>...]',\n desc: 'Remove dependencies',\n showByDefault: false,\n },\n {\n name: 'update',\n aliases: ['u'],\n args: '',\n desc: 'Update package versions to latest in-range',\n showByDefault: false,\n },\n {\n name: 'version',\n aliases: [],\n args: '<increment>',\n desc: 'Bump package version',\n showByDefault: false,\n },\n {\n name: 'whoami',\n aliases: [],\n args: '',\n desc: 'Display the current user',\n showByDefault: false,\n },\n]\n\n/**\n * Generates the custom default help output for vlt\n */\nexport const generateDefaultHelp = (colors = false): string => {\n const s = makeStyler(colors)\n\n // Get default commands and sort by defaultOrder\n const defaultCommands = allCommands\n .filter(cmd => cmd.showByDefault)\n .sort((a, b) => (a.defaultOrder || 0) - (b.defaultOrder || 0))\n\n // Generate commands with tighter alias spacing but proper table structure\n const commandsSection = defaultCommands\n .map(cmd => {\n // Tighter alias column (5 chars to accommodate space after comma) - only show first alias\n const firstAlias = cmd.aliases.length > 0 ? cmd.aliases[0] : ''\n const aliasColumn =\n firstAlias ? (firstAlias + ', ').padEnd(5) : ' '\n // Consistent name column (10 chars)\n const nameColumn = cmd.name.padEnd(10)\n // Consistent args column (14 chars)\n const argsColumn = cmd.args.padEnd(16)\n\n return ` ${s('dim', aliasColumn)}${s(['yellow', 'bold'], nameColumn)}${s('dim', argsColumn)}${cmd.desc}`\n })\n .join('\\n')\n\n return `${s(['bold'], '⚡️ vlt')} ${s('dim', '/vōlt/')} next-gen package management ${s('dim', `v${version}`)}\n\n${s('bold', 'USAGE')}\n\n ${s('bold', 'vlt')} ${s('dim', '<command>')}\n\n${s('bold', 'COMMON COMMANDS')}\n\n${commandsSection}\n \n${s('bold', 'COMPANION BINS')}\n\n ${s('bold', 'vlr')} ${s('dim', 'eq. vlt run')}\n ${s('bold', 'vlx')} ${s('dim', 'eq. vlt exec')}\n \n${s('bold', 'COMMON FLAGS')}\n\n ${s('green', '-v, --version')} Log the cli version\n ${s('green', '-a, --all')} List all commands, bins & flags\n\nLearn more: https://${s('bold', 'vlt.sh')}\nGet support: https://${s('bold', 'vlt.community')}\n\n${s('dim', `This is not the full usage information, run \\`vlt -a\\` for more.`)}\n`\n}\n\n/**\n * Generates the full help output with all commands when --all flag is used\n */\nexport const generateFullHelp = (colors = false): string => {\n const s = makeStyler(colors)\n\n // Use all commands sorted alphabetically\n const commands = [...allCommands].sort((a, b) =>\n a.name.localeCompare(b.name),\n )\n\n // Define only globally applicable flags (alphabetically sorted by long name)\n const flags = [\n {\n shorts: ['a'],\n long: 'all',\n args: '',\n desc: 'Show all commands, bins, and flags',\n },\n {\n shorts: ['c'],\n long: 'color',\n args: '',\n desc: 'Enable color output',\n },\n {\n shorts: ['h'],\n long: 'help',\n args: '',\n desc: 'Print helpful information',\n },\n {\n shorts: [],\n long: 'no-color',\n args: '',\n desc: 'Disable color output',\n },\n {\n shorts: [],\n long: 'registry',\n args: '<url>',\n desc: 'Override default registry',\n },\n {\n shorts: ['v'],\n long: 'version',\n args: '',\n desc: 'Print the version',\n },\n {\n shorts: ['y'],\n long: 'yes',\n args: '',\n desc: 'Automatically accept prompts',\n },\n ]\n\n // Generate commands section with letter grouping spacing\n let commandsSection = ''\n let lastFirstLetter = ''\n\n commands.forEach((cmd, index) => {\n const firstLetter = cmd.name[0]?.toLowerCase() || ''\n\n // Add extra spacing between different letter groups\n if (firstLetter !== lastFirstLetter && index > 0) {\n commandsSection += '\\n'\n }\n\n // Fixed width columns for proper alignment with space after comma\n const aliasColumn =\n cmd.aliases.length > 0 ?\n (cmd.aliases.join(', ') + ', ').padEnd(9)\n : ' '\n const nameColumn = cmd.name.padEnd(12)\n // Truncate args if longer than 16 chars and add ellipsis\n const truncatedArgs =\n cmd.args.length > 16 ?\n cmd.args.substring(0, 13) + '...'\n : cmd.args\n const argsColumn = truncatedArgs.padEnd(16)\n\n commandsSection += `${s('dim', aliasColumn)}${s(['yellow', 'bold'], nameColumn)}${s('dim', argsColumn)}${cmd.desc}`\n\n if (index < commands.length - 1) {\n commandsSection += '\\n'\n }\n\n lastFirstLetter = firstLetter\n })\n\n // Generate flags section with same structure as commands\n const flagsSection = flags\n .map(f => {\n // Match command structure: alias column, name column, args column, description\n const aliasColumn =\n f.shorts.length > 0 ?\n ('-' + f.shorts.join(', -') + ', ').padEnd(7)\n : ' '\n const nameColumn = ('--' + f.long).padEnd(12)\n const argsColumn = (f.args || '').padEnd(17)\n\n return ` ${s('dim', aliasColumn)}${s('green', nameColumn)}${s('dim', argsColumn)}${f.desc}`\n })\n .join('\\n')\n\n return `${s(['bold'], '⚡️ vlt')} ${s('dim', '/vōlt/')} ${s('dim', '- next-gen package management')} ${s('dim', `v${version}`)}\n\n${s('bold', 'USAGE')}\n\n ${s('bold', 'vlt')} ${s('dim', '<command>')}\n\n${s('bold', 'COMMANDS')}\n\n${commandsSection}\n\n${s('bold', 'COMPANION BINS')}\n\n vlr ${s('dim', 'eq. vlt run')}\n vlx ${s('dim', 'eq. vlt exec')}\n\n${s('bold', 'FLAGS')}\n\n${flagsSection}\n\nLearn more: https://${s('bold', 'vlt.sh')}\nGet support: https://${s('bold', 'vlt.community')}\n\n${s('dim', `Run \\`vlt help <command>\\` for detailed information about a specific command.`)}`\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"exec-command.d.ts","sourceRoot":"","sources":["../../src/exec-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,KAAK,EACV,IAAI,EACJ,MAAM,EACN,WAAW,EACX,GAAG,EACH,OAAO,EACP,SAAS,EACT,cAAc,EACd,KAAK,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACV,MAAM,aAAa,CAAA;AAMpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAQrD,MAAM,MAAM,QAAQ,GAAG,OAAO,IAAI,GAAG,OAAO,GAAG,GAAG,OAAO,OAAO,CAAA;AAChE,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,GAAG,OAAO,SAAS,GAAG,OAAO,KAAK,CAAA;AACtE,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,cAAc,GAAG,UAAU,CAAA;AACrE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACtD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAC9C,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACtD,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,cAAc,GACd,SAAS,GACT,cAAc,CAAA;AA6BlB,eAAO,MAAM,KAAK;;;CAeoB,CAAA;AAEtC,KAAK,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEzD,qBAAa,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,QAAQ;;IAC7D,EAAE,EAAE,CAAC,CAAA;IACL,EAAE,EAAE,CAAC,CAAA;IACL,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IAIvB,IAAI,EAAE,YAAY,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;IAChB,eAAe,0BAKb;gBAEU,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAmB5C,OAAO,IAAI,IAAI,IAAI,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAIpC,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;IA+HhC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IA0B3C,gBAAgB,IAAI,MAAM;IAU1B,WAAW,IAAI,MAAM,GAAG,SAAS;IAIjC,MAAM,IAAI,MAAM;IAYhB,KAAK,IAAI,aAAa,GAAG,SAAS;IAmBlC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa;IAgBhE,YAAY,IAAI,SAAS;IAKzB,WAAW,IAAI,cAAc;IAM7B,UAAU,IAAI;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QACX,QAAQ,EAAE,kBAAkB,CAAA;KAC7B,EAAE;CAsBJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"exec-command.js","sourceRoot":"","sources":["../../src/exec-command.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * impl for `vlt run`, `vlt run-exec`, `vlt exec-local`, `vlt exec`\n * @module\n */\n\nimport { error } from '@vltpkg/error-cause'\nimport { isErrorWithCause } from '@vltpkg/types'\nimport type { NormalizedManifest } from '@vltpkg/types'\nimport type {\n exec,\n execFG,\n ExecOptions,\n run,\n runExec,\n runExecFG,\n RunExecOptions,\n runFG,\n RunFGResult,\n RunOptions,\n RunResult,\n} from '@vltpkg/run'\nimport { Query } from '@vltpkg/query'\nimport { actual } from '@vltpkg/graph'\nimport { isRunResult } from '@vltpkg/run'\nimport { Monorepo } from '@vltpkg/workspaces'\nimport { ansiToAnsi } from 'ansi-to-pre'\nimport type { LoadedConfig } from './config/index.ts'\nimport { stderr, stdout, styleTextStdout } from './output.ts'\nimport type { Views } from './view.ts'\nimport type { SpawnResultStdioStrings } from '@vltpkg/promise-spawn'\nimport assert from 'node:assert'\nimport { resolve } from 'node:path'\nimport { createHostContextsMap } from './query-host-contexts.ts'\n\nexport type RunnerBG = typeof exec | typeof run | typeof runExec\nexport type RunnerFG = typeof execFG | typeof runExecFG | typeof runFG\nexport type RunnerOptions = ExecOptions & RunExecOptions & RunOptions\nexport type MultiRunResult = Record<string, RunResult>\nexport type ScriptSet = Record<string, string>\nexport type MultiScriptSet = Record<string, ScriptSet>\nexport type ExecResult =\n | RunFGResult\n | MultiRunResult\n | ScriptSet\n | MultiScriptSet\n\nconst isScriptSet = (o: unknown): o is ScriptSet => {\n if (!o || typeof o !== 'object') return false\n for (const v of Object.values(o)) {\n if (typeof v !== 'string') return false\n }\n return true\n}\n\nconst isMultiScriptSet = (\n o: ExecResult,\n): o is Record<string, ScriptSet> => {\n for (const v of Object.values(o)) {\n if (!isScriptSet(v)) return false\n }\n return true\n}\n\nconst isSingleSuccess = (\n o: RunResult,\n): o is RunResult & { status: 0; signal: null } =>\n o.signal === null && o.status === 0\n\nconst setExitCode = (result: RunResult) => {\n /* c8 ignore next */\n process.exitCode ||= result.status ?? 1\n}\n\nexport const views = {\n // run results for single or multiple will be printed along the way.\n human: result => {\n if (isScriptSet(result)) stdout('Scripts available:', result)\n else if (isMultiScriptSet(result)) {\n stdout('Scripts available:')\n for (const [path, scripts] of Object.entries(result)) {\n stdout(path, scripts)\n }\n }\n },\n json: result =>\n isRunResult(result) && isSingleSuccess(result) ?\n undefined\n : result,\n} as const satisfies Views<ExecResult>\n\ntype ViewValues = 'human' | 'json' | 'inspect' | 'silent'\n\nexport class ExecCommand<B extends RunnerBG, F extends RunnerFG> {\n bg: B\n fg: F\n arg0?: string\n args: string[]\n env?: NodeJS.ProcessEnv\n #monorepo?: Monorepo\n #nodes?: string[]\n #defaultIgnoreMissing = false\n conf: LoadedConfig\n projectRoot: string\n view: ViewValues\n validViewValues = new Map<string, ViewValues>([\n ['human', 'human'],\n ['json', 'json'],\n ['inspect', 'inspect'],\n ['silent', 'silent'],\n ])\n\n constructor(conf: LoadedConfig, bg: B, fg: F) {\n this.conf = conf\n this.bg = bg\n this.fg = fg\n this.view = this.validViewValues.get(conf.values.view) ?? 'human'\n const {\n projectRoot,\n positionals: [arg0, ...args],\n } = conf\n this.arg0 = arg0\n this.args = args\n this.projectRoot = projectRoot\n }\n\n #targetCount(): number {\n if (this.#nodes) return this.#nodes.length\n return this.#monorepo?.size ?? 1\n }\n\n hasArg0(): this is this & { arg0: string } {\n return !!this.arg0\n }\n\n async run(): Promise<ExecResult> {\n const { conf } = this\n\n const queryString = conf.get('scope')\n const paths = conf.get('workspace')\n const groups = conf.get('workspace-group')\n const recursive = conf.get('recursive')\n\n // scope takes precedence over workspaces or groups\n if (queryString) {\n this.#defaultIgnoreMissing = true\n const mainManifest = conf.options.packageJson.maybeRead(\n this.projectRoot,\n )\n let graph\n if (mainManifest) {\n graph = actual.load({\n ...conf.options,\n mainManifest,\n monorepo: Monorepo.load(this.projectRoot),\n loadManifests: false,\n })\n }\n const hostContexts = await createHostContextsMap(conf)\n const query = new Query({\n /* c8 ignore start */\n nodes: graph ? new Set(graph.nodes.values()) : new Set(),\n edges: graph?.edges ?? new Set(),\n importers: graph?.importers ?? new Set(),\n /* c8 ignore stop */\n securityArchive: undefined,\n hostContexts,\n })\n const { nodes } = await query.search(queryString, {\n signal: new AbortController().signal,\n })\n this.#nodes = []\n for (const node of nodes) {\n const { location } = node.toJSON()\n assert(\n location,\n error(`node ${node.id} has no location`, {\n found: node,\n }),\n )\n this.#nodes.push(location)\n }\n } else if (paths?.length || groups?.length || recursive) {\n this.#defaultIgnoreMissing = true\n this.#monorepo = Monorepo.load(this.projectRoot, {\n load: { paths, groups },\n })\n }\n\n if (this.#targetCount() === 1) {\n const arg = this.fgArg()\n if (!arg) return this.noArgsSingle()\n const result = await this.fg(arg)\n if (isRunResult(result)) {\n setExitCode(result)\n }\n return result\n }\n\n if (this.#targetCount() === 0) {\n if (queryString) {\n throw error('no matching nodes found for query', {\n found: queryString,\n })\n } else {\n throw error('no matching workspaces found', {\n /* c8 ignore next - already guarded */\n validOptions: [...(this.#monorepo?.load().paths() ?? [])],\n })\n }\n }\n\n if (!this.hasArg0()) {\n return this.noArgsMulti()\n }\n\n // run across workspaces\n let failed = false as boolean\n const runInDir = async (cwd: string, label: string) => {\n const result = await this.bg(this.bgArg(cwd)).catch(\n (er: unknown) => {\n if (isErrorWithCause(er) && isRunResult(er.cause)) {\n this.printResult(label, er.cause)\n }\n failed = true\n throw er\n },\n )\n // If we are allowed to ignore missing commands, then command might be\n // an emptry string. If so, we don't print anything and return null to\n // be filtered out later.\n if (!result.command) return null\n if (!failed) this.printResult(label, result)\n return result\n }\n\n const resultMap = new Map<string, SpawnResultStdioStrings>()\n if (this.#nodes) {\n for (const { label, cwd } of this.getTargets()) {\n const result = await runInDir(cwd, label)\n if (result) resultMap.set(label, result)\n }\n } else if (this.#monorepo) {\n const wsResultMap = await this.#monorepo.run(ws =>\n runInDir(ws.fullpath, ws.path),\n )\n for (const [ws, result] of wsResultMap) {\n if (result) resultMap.set(ws.path, result)\n }\n }\n\n const results: Record<string, RunResult> = {}\n for (const [path, result] of resultMap) {\n if (result.status === 0 && result.signal === null) {\n result.stdout = ''\n result.stderr = ''\n }\n results[path] = result\n }\n return results\n }\n\n printResult(path: string, result: RunResult) {\n // non-human results just get printed at the end\n if (this.view !== 'human') return\n\n if (result.status === 0 && result.signal === null) {\n stdout(path, 'ok')\n } else {\n stdout(\n styleTextStdout(\n ['bgWhiteBright', 'black', 'bold'],\n path + ' failure',\n ),\n {\n status: result.status,\n signal: result.signal,\n },\n )\n /* c8 ignore start */\n if (result.stderr) stderr(ansiToAnsi(result.stderr))\n if (result.stdout) stdout(ansiToAnsi(result.stdout))\n /* c8 ignore stop */\n setExitCode(result)\n }\n }\n\n /* c8 ignore start - env specific */\n interactiveShell(): string {\n return (\n process.env.SHELL ??\n this.conf.get('script-shell') ??\n (process.platform === 'win32' ? 'cmd.exe' : '/bin/sh')\n )\n }\n /* c8 ignore stop */\n\n // overridden by 'vlt run' which returns undefined\n defaultArg0(): string | undefined {\n return this.interactiveShell()\n }\n\n getCwd(): string {\n if (this.#nodes) {\n const [first] = this.#nodes\n assert(first, error('no nodes found'))\n return resolve(this.projectRoot, first)\n }\n return (\n this.#monorepo?.values().next().value?.fullpath ??\n this.projectRoot\n )\n }\n\n fgArg(): RunnerOptions | undefined {\n const cwd = this.getCwd()\n const arg0 = this.arg0 ?? this.defaultArg0()\n\n // return undefined so noArgsSingle will be called instead\n if (typeof arg0 !== 'string') return\n\n return {\n cwd,\n arg0,\n args: this.args,\n env: this.env,\n projectRoot: this.projectRoot,\n packageJson: this.conf.options.packageJson,\n 'script-shell':\n this.arg0 ? this.conf.get('script-shell') : false,\n }\n }\n\n bgArg(this: this & { arg0: string }, cwd: string): RunnerOptions {\n return {\n cwd,\n acceptFail: !this.conf.get('bail'),\n ignoreMissing:\n this.conf.get('if-present') ?? this.#defaultIgnoreMissing,\n arg0: this.arg0,\n args: this.args,\n env: this.env,\n projectRoot: this.projectRoot,\n packageJson: this.conf.options.packageJson,\n 'script-shell': this.conf.get('script-shell'),\n }\n }\n\n /* c8 ignore start - not used, only here to override */\n noArgsSingle(): ScriptSet {\n throw error('Failed to determine interactive shell to spawn')\n }\n /* c8 ignore stop - not used, only here to override */\n\n noArgsMulti(): MultiScriptSet {\n throw error(\n 'Cannot spawn interactive shells in multiple workspaces',\n )\n }\n\n getTargets(): {\n label: string\n cwd: string\n manifest: NormalizedManifest\n }[] {\n const targets = []\n if (this.#nodes) {\n for (const location of this.#nodes) {\n const manifest = this.conf.options.packageJson.read(location)\n const label =\n /* c8 ignore next */\n location.startsWith('./') ? location.slice(2) : location\n const cwd = resolve(this.projectRoot, location)\n targets.push({ label, cwd, manifest })\n }\n } else if (this.#monorepo) {\n this.#monorepo.runSync(ws => {\n targets.push({\n label: ws.path,\n cwd: ws.fullpath,\n manifest: ws.manifest,\n })\n })\n }\n return targets\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAYA,YAAY,EACV,OAAO,EACP,SAAS,EACT,YAAY,GACb,MAAM,mBAAmB,CAAA;AAgD1B,QAAA,MAAM,GAAG,qBA2CR,CAAA;AAED,eAAe,GAAG,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EACL,mBAAmB,EACnB,aAAa,GACd,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAQ/C,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,EACpB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAG5C,CAAA;AAED,MAAM,OAAO,GAAG,KAAK,EAAE,GAAW,EAAE,IAAc,EAAE,EAAE;IACpD,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;QACjD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAA;QAC/C,MAAM,YAAY,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAA;QAC7C,MAAM,GAAG,GACP,YAAY,CAAC,CAAC;YACZ,0BAA0B,IAAI,EAAE;YAClC,CAAC,CAAC,qBAAqB,CAAA;QACzB,MAAM,YAAY,GAChB,MAAM,CAAC,CAAC,CAAC,SAAS;YAClB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE;gBAChC,CAAC,CAAC,mBAAmB,EAAE,CAAA;QACzB,MAAM,CAAC,GAAG,CAAC,CAAA;QACX,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACnB,IAAI,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAClD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CACJ,MAAM,CACJ,UAAU,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjE,CACF,CAAA;QACH,CAAC;QACD,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QACvD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;YAChC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,MAAM,CACJ,MAAM,CACJ,8DAA8D,CAC/D,CACF,CAAA;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC,CAAA;AAED,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5C,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,CAAA;IAEhC,kDAAkD;IAClD,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,EAAE,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YAChC,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,IACE,GAAG,CAAC,OAAO,KAAK,MAAM;QACtB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACpD,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,EACvC,CAAC;QACD,MAAM,CACJ,qGAAqG,CACtG,CAAA;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9D,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/B,MAAM,CACJ,MAAM,CACJ,oBAAoB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,EAAE,CACzD,CACF,CAAA;QACH,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAA;AAED,eAAe,GAAG,CAAA","sourcesContent":["import { format } from 'node:util'\nimport { asRootError } from '@vltpkg/output/error'\nimport { loadPackageJson } from 'package-json-from-dist'\nimport {\n getSortedCliOptions,\n getSortedKeys,\n} from './config/definition.ts'\nimport { Config } from './config/index.ts'\nimport { outputCommand, stderr, stdout } from './output.ts'\nimport { indent } from './print-err.ts'\nimport { loadCommand } from './load-command.ts'\n\nexport type {\n Command,\n CommandFn,\n CommandUsage,\n} from './load-command.ts'\n\nconst { version } = loadPackageJson(\n import.meta.filename,\n process.env.__VLT_INTERNAL_CLI_PACKAGE_JSON,\n) as {\n version: string\n}\n\nconst loadVlt = async (cwd: string, argv: string[]) => {\n try {\n return await Config.load(cwd, argv)\n } catch (e) {\n const err = asRootError(e, { code: 'JACKSPEAK' })\n const { found, path, wanted, name } = err.cause\n const isConfigFile = typeof path === 'string'\n const msg =\n isConfigFile ?\n `Problem in Config File ${path}`\n : 'Invalid Option Flag'\n const validOptions =\n wanted ? undefined\n : isConfigFile ? getSortedKeys()\n : getSortedCliOptions()\n stderr(msg)\n stderr(err.message)\n if (name) stderr(indent(`Field: ${format(name)}`))\n if (found) {\n stderr(\n indent(\n `Found: ${isConfigFile ? JSON.stringify(found) : format(found)}`,\n ),\n )\n }\n if (wanted) stderr(indent(`Wanted: ${format(wanted)}`))\n if (validOptions) {\n stderr(indent('Valid Options:'))\n stderr(indent(validOptions.join('\\n'), 4))\n }\n stderr(\n indent(\n `Run 'vlt help' for more information about available options.`,\n ),\n )\n return process.exit(process.exitCode || 1)\n }\n}\n\nconst run = async () => {\n const start = Date.now()\n const cwd = process.cwd()\n const vlt = await loadVlt(cwd, process.argv)\n\n if (vlt.get('version')) {\n return stdout(version)\n }\n\n const { monorepo } = vlt.options\n\n // Infer the workspace by being in that directory.\n if (vlt.get('workspace') === undefined) {\n const ws = monorepo?.get(cwd)\n if (ws) {\n vlt.values.workspace = [ws.path]\n vlt.options.workspace = [ws.path]\n }\n }\n\n if (\n vlt.command !== 'init' &&\n (vlt.get('workspace') || vlt.get('workspace-group')) &&\n ![...(monorepo?.values() ?? [])].length\n ) {\n stderr(\n `Error: No matching workspaces found. Make sure the vlt.json config contains the correct workspaces.`,\n )\n if (vlt.get('workspace')) {\n stderr(indent(`Workspace: ${format(vlt.get('workspace'))}`))\n }\n if (vlt.get('workspace-group')) {\n stderr(\n indent(\n `Workspace Group: ${format(vlt.get('workspace-group'))}`,\n ),\n )\n }\n return process.exit(process.exitCode || 1)\n }\n\n const command = await loadCommand(vlt.command)\n await outputCommand(command, vlt, { start })\n}\n\nexport default run\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-command.d.ts","sourceRoot":"","sources":["../../src/load-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAA;AAErC;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,OAAO,IAAI,CACnC,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,CAAC,CAAC,CAAA;AAEf,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IACrB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,WAAW,GAAU,CAAC,WACxB,QAAQ,CAAC,MAAM,QAAQ,CAAC,GAAG,SAAS,KAC5C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CASpB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"load-command.js","sourceRoot":"","sources":["../../src/load-command.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAqB3C,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,OAA6C,EACxB,EAAE;IACvB,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,MAAM,kCAAC,cAAc,OAAO,KAAK,EAAC,CAAe,CAAA;IACjE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,CAAC,wBAAwB,EAAE;YACpC,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,CAAC;SACT,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA","sourcesContent":["import { error } from '@vltpkg/error-cause'\nimport type { Jack } from 'jackspeak'\nimport type { Commands, LoadedConfig } from './config/index.ts'\nimport type { Views } from './view.ts'\n\nexport type CommandUsage = () => Jack\n\n/**\n * A command function that may return a result of `T`.\n * If the result is `undefined`, no final output will be displayed by default.\n */\nexport type CommandFn<T = unknown> = (\n conf: LoadedConfig,\n) => Promise<T>\n\nexport type Command<T> = {\n command: CommandFn<T>\n usage: CommandUsage\n views: Views<T>\n}\n\nexport const loadCommand = async <T>(\n command: Commands[keyof Commands] | undefined,\n): Promise<Command<T>> => {\n try {\n return (await import(`./commands/${command}.ts`)) as Command<T>\n } catch (e) {\n throw error('Could not load command', {\n found: command,\n cause: e,\n })\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,SAAS,IAAI,aAAa,EAC3B,MAAM,WAAW,CAAA;AAGlB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,OAAO,KAAK,EAAE,IAAI,EAAe,KAAK,EAAE,MAAM,WAAW,CAAA;AAezD,eAAO,MAAM,MAAM,YAAa,OAAO,EAAE,SAAyB,CAAA;AAElE,eAAO,MAAM,MAAM,YAAa,OAAO,EAAE,SAA2B,CAAA;AAEpE,KAAK,WAAW,GAAG,CACjB,MAAM,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,EAC3C,CAAC,EAAE,MAAM,KACN,MAAM,CAAA;AASX,eAAO,IAAI,eAAe,EAAE,WAAyB,CAAA;AACrD,eAAO,IAAI,eAAe,EAAE,WAAyB,CAAA;AAKrD,eAAO,MAAM,OAAO,GAAI,CAAC,QACjB,YAAY,UACV,KAAK,CAAC,CAAC,CAAC,KACf,IAAI,CAAC,CAAC,CA2BR,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAsCvD;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAU,CAAC,cACvB,OAAO,CAAC,CAAC,CAAC,QAChB,YAAY,cACP;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,kBA6D7B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"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","sourcesContent":["import type { WriteStream } from 'node:tty'\nimport {\n formatWithOptions,\n styleText as utilStyleText,\n} from 'node:util'\nimport { createSupportsColor } from 'supports-color'\nimport { defaultView } from './config/definition.ts'\nimport type { LoadedConfig } from './config/index.ts'\nimport type { Command } from './index.ts'\nimport { printErr, formatOptions } from './print-err.ts'\nimport type { View, ViewOptions, Views } from './view.ts'\nimport { isViewClass } from './view.ts'\nimport {\n generateDefaultHelp,\n generateFullHelp,\n} from './custom-help.ts'\n\nconst supportsColor = (stream: WriteStream) => {\n const res = createSupportsColor(stream, { sniffFlags: false })\n if (res === false) return false\n /* c8 ignore next */\n return res.level > 0\n}\n\n// eslint-disable-next-line no-console\nexport const stdout = (...args: unknown[]) => console.log(...args)\n// eslint-disable-next-line no-console\nexport const stderr = (...args: unknown[]) => console.error(...args)\n\ntype StyleTextFn = (\n format: Parameters<typeof utilStyleText>[0],\n s: string,\n) => string\n\n/* c8 ignore start */\nconst styleText: StyleTextFn = (f, s) =>\n utilStyleText(f, s, { validateStream: false })\n/* c8 ignore stop */\n\n// TODO: stop exporting mutable variables once exec output is refactored\n/* c8 ignore start */\nexport let styleTextStdout: StyleTextFn = (_, s) => s\nexport let styleTextStderr: StyleTextFn = (_, s) => s\n/* c8 ignore stop */\n\nconst identity = <T>(x: T): T => x\n\nexport const getView = <T>(\n conf: LoadedConfig,\n views?: Views<T>,\n): View<T> => {\n const viewName = conf.values.view\n\n const viewFn =\n viewName === 'inspect' ? identity\n : viewName === 'silent' ? () => undefined\n : typeof views === 'function' ? views\n : views && typeof views === 'object' ? views[viewName]\n : identity\n\n // if the user specified a view that doesn't exist, then set it back to the\n // default, and try again. This will fall back to identity if it's also\n // missing. We also always treat 'json' as a valid view that falls back to\n // identity. This allows the explicit use of `--view=json` to work even\n // when the default view is `human`.\n if (\n !viewFn &&\n conf.values.view !== defaultView &&\n conf.values.view !== 'json' &&\n conf.values.view !== 'silent'\n ) {\n conf.values.view = defaultView\n process.env.VLT_VIEW = defaultView\n return getView(conf, views)\n }\n\n return viewFn ?? identity\n}\n\nexport type OnDone<T> = (result: T) => Promise<unknown>\n\n/**\n * If the view is a View class, then instantiate and start it.\n * If it's a view function, then just define the onDone method.\n */\nconst startView = <T>(\n conf: LoadedConfig,\n opts: ViewOptions,\n views?: Views<T>,\n { start }: { start: number } = { start: Date.now() },\n): {\n onDone: OnDone<T>\n onError?: (err: unknown) => void\n} => {\n const View = getView<T>(conf, views)\n\n if (isViewClass(View)) {\n const view = new View(opts, conf)\n view.start()\n return {\n async onDone(r) {\n return view.done(r, { time: Date.now() - start })\n },\n onError(err) {\n view.error(err)\n },\n }\n }\n\n return {\n async onDone(r) {\n if (r === undefined) return\n return View(r, opts, conf)\n },\n }\n}\n\n/**\n * Main export. Run the command appropriately, displaying output using\n * the user-requested view, or the default if the user requested a view\n * that is not defined for this command.\n */\nexport const outputCommand = async <T>(\n cliCommand: Command<T>,\n conf: LoadedConfig,\n { start }: { start: number } = { start: Date.now() },\n) => {\n const { usage, views, command } = cliCommand\n\n const stdoutColor =\n conf.values.color ?? supportsColor(process.stdout)\n const stderrColor =\n conf.values.color ?? supportsColor(process.stderr)\n\n if (conf.values.help) {\n // Show custom help for main vlt command\n /* c8 ignore start */\n if (conf.command === 'help' && conf.positionals.length === 0) {\n if (conf.get('all')) {\n return stdout(generateFullHelp(stdoutColor))\n }\n return stdout(generateDefaultHelp(stdoutColor))\n }\n /* c8 ignore stop */\n return stdout(usage().usage())\n }\n\n /* c8 ignore start */\n if (stdoutColor) styleTextStdout = styleText\n if (stderrColor) styleTextStderr = styleText\n /* c8 ignore stop */\n\n const { onDone, onError } = startView(\n conf,\n // assume views will always output to stdout so use color support from there\n { colors: stdoutColor },\n views,\n { start },\n )\n\n try {\n const output = await onDone(await command(conf))\n if (output !== undefined && conf.values.view !== 'silent') {\n stdout(\n conf.values.view === 'json' ?\n JSON.stringify(output, null, 2)\n : formatWithOptions(\n {\n ...formatOptions,\n colors: stdoutColor,\n },\n output,\n ),\n )\n }\n } catch (err) {\n onError?.(err)\n process.exitCode ||= 1\n\n printErr(err, usage, stderr, {\n ...formatOptions,\n colors: stderrColor,\n })\n\n process.exit(process.exitCode)\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pack-tarball.d.ts","sourceRoot":"","sources":["../../src/pack-tarball.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAQvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIrD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAwHD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,aACZ,kBAAkB,OACvB,MAAM,UACH,YAAY,KACnB,OAAO,CAAC,iBAAiB,CAsN3B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pack-tarball.js","sourceRoot":"","sources":["../../src/pack-tarball.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NormalizedManifest } from '@vltpkg/types'\nimport { create as tarCreate, list as tarList } from 'tar'\nimport { minimatch } from 'minimatch'\nimport { error } from '@vltpkg/error-cause'\nimport * as ssri from 'ssri'\nimport assert from 'node:assert'\nimport { existsSync, statSync } from 'node:fs'\nimport { Spec } from '@vltpkg/spec'\nimport type { LoadedConfig } from './config/index.ts'\nimport { join } from 'node:path'\nimport { parse, stringify } from 'polite-json'\n\nexport type PackTarballResult = {\n name: string\n version: string\n filename: string\n tarballName: string\n tarballData: Buffer\n unpackedSize: number\n files: string[]\n integrity?: string\n shasum?: string\n}\n\n/**\n * Replace workspace: and catalog: specs with actual versions\n * @param {NormalizedManifest} manifest_ - The manifest to process\n * @param {LoadedConfig} config - The loaded configuration containing project root, monorepo, and catalog data\n * @returns {NormalizedManifest} The manifest with replaced specs\n */\nconst replaceWorkspaceAndCatalogSpecs = (\n manifest_: NormalizedManifest,\n config: LoadedConfig,\n): NormalizedManifest => {\n // Create a json copy of the manifest to avoid modifying the original\n // preserves original formatting symbols from polite-json\n const manifest = parse(stringify(manifest_)) as NormalizedManifest\n\n // Get workspace and catalog configuration from config\n const { monorepo, catalog = {}, catalogs = {} } = config.options\n\n // Process dependency types\n const depTypes = [\n 'dependencies',\n 'devDependencies',\n 'optionalDependencies',\n 'peerDependencies',\n ] as const\n\n for (const depType of depTypes) {\n const deps = manifest[depType]\n /* c8 ignore next */\n if (!deps || typeof deps !== 'object') continue\n\n const depsObj = deps as Record<string, unknown>\n for (const [depName, depSpec] of Object.entries(depsObj)) {\n /* c8 ignore next */\n if (typeof depSpec !== 'string') continue\n\n const spec = Spec.parse(`${depName}@${depSpec}`, {\n catalog,\n catalogs,\n })\n\n switch (spec.type) {\n case 'workspace': {\n assert(\n monorepo,\n error(`No workspace configuration found for ${depName}`, {\n found: depName,\n }),\n )\n\n const workspaceName = spec.workspace\n assert(\n workspaceName,\n error(`No workspace name found for ${depName}`, {\n found: depName,\n }),\n )\n\n const workspace = monorepo.get(workspaceName)\n assert(\n workspace,\n error(`Workspace '${workspaceName}' not found`, {\n found: workspaceName,\n validOptions: Array.from(monorepo.keys()),\n }),\n )\n\n const actualVersion = workspace.manifest.version\n assert(\n actualVersion,\n error(\n `No version found for workspace '${workspaceName}'`,\n {\n found: workspaceName,\n wanted: 'package version',\n },\n ),\n )\n\n depsObj[depName] = actualVersion\n\n break\n }\n\n case 'catalog': {\n const catalogName = spec.catalog || ''\n const targetCatalog =\n catalogName ? catalogs[catalogName] : catalog\n assert(\n targetCatalog,\n error(`Catalog '${catalogName}' not found`, {\n found: catalogName,\n validOptions: Object.keys(catalogs),\n }),\n )\n\n const actualVersion = targetCatalog[depName]\n assert(\n actualVersion,\n error(\n `Package '${depName}' not found in catalog '${catalogName || 'default'}'`,\n {\n found: depName,\n validOptions: Object.keys(targetCatalog),\n },\n ),\n )\n\n depsObj[depName] = actualVersion\n\n break\n }\n }\n }\n }\n\n return manifest\n}\n\n/**\n * Create a tarball from a package directory\n * @param {NormalizedManifest} manifest - The manifest of the package to pack\n * @param {string} dir - The directory containing the package to pack\n * @param {LoadedConfig} [config] - The loaded configuration (for workspace/catalog resolution)\n * @returns {Promise<PackTarballResult>} The manifest, filename, and tarball data (unless dry run)\n */\nexport const packTarball = async (\n manifest: NormalizedManifest,\n dir: string,\n config: LoadedConfig,\n): Promise<PackTarballResult> => {\n let packDir = dir\n\n // Check if publishDirectory is configured\n const publishDirectory = config.get('publish-directory')\n if (publishDirectory) {\n // Validate that the publish directory exists and is a directory\n assert(\n existsSync(publishDirectory),\n error(`Publish directory does not exist: ${publishDirectory}`, {\n found: publishDirectory,\n }),\n )\n assert(\n statSync(publishDirectory).isDirectory(),\n error(\n `Publish directory is not a directory: ${publishDirectory}`,\n {\n found: publishDirectory,\n wanted: 'directory',\n },\n ),\n )\n if (existsSync(join(publishDirectory, 'package.json'))) {\n manifest = config.options.packageJson.read(publishDirectory)\n }\n packDir = publishDirectory\n }\n\n assert(\n manifest.name && manifest.version,\n error('Package must have a name and version'),\n )\n\n const processedManifest = replaceWorkspaceAndCatalogSpecs(\n manifest,\n config,\n )\n\n const filename = `${manifest.name.replace('@', '').replace('/', '-')}-${manifest.version}.tgz`\n const tarballName = `${manifest.name}-${manifest.version}.tgz`\n\n try {\n config.options.packageJson.write(packDir, processedManifest)\n\n const tarballData = await tarCreate(\n {\n cwd: packDir,\n gzip: true,\n portable: true,\n prefix: 'package/',\n filter: (path: string) => {\n // Normalize path - remove leading './'\n const normalizedPath = path.replace(/^\\.\\//, '')\n\n // Always include root directory\n if (path === '.' || normalizedPath === '') {\n return true\n }\n\n // Always exclude certain files/directories\n const alwaysExcludePatterns = [\n /^\\.?\\/?\\.git(\\/|$)/,\n /^\\.?\\/?node_modules(\\/|$)/,\n /^\\.?\\/?\\.nyc_output(\\/|$)/,\n /^\\.?\\/?coverage(\\/|$)/,\n /^\\.?\\/?\\.DS_Store$/,\n /^\\.?\\/?\\.npmrc$/,\n /^\\.?\\/?package-lock\\.json$/,\n /^\\.?\\/?yarn\\.lock$/,\n /^\\.?\\/?pnpm-lock\\.yaml$/,\n /^\\.?\\/?bun\\.lockb$/,\n /^\\.?\\/?bun\\.lock$/,\n /^\\.?\\/?vlt-lock\\.json$/,\n /~$/,\n /\\.swp$/,\n ]\n\n if (\n alwaysExcludePatterns.some(pattern =>\n pattern.test(normalizedPath),\n )\n ) {\n return false\n }\n\n // Always include certain files\n const alwaysIncludePatterns = [\n /^README(\\..*)?$/i,\n /^CHANGELOG(\\..*)?$/i,\n /^HISTORY(\\..*)?$/i,\n /^LICENSE(\\..*)?$/i,\n /^LICENCE(\\..*)?$/i,\n ]\n\n if (\n alwaysIncludePatterns.some(pattern =>\n pattern.test(normalizedPath),\n )\n ) {\n return true\n }\n\n // Always include package.json\n if (normalizedPath === 'package.json') {\n return true\n }\n\n // If files field is specified in package.json, use it for inclusion\n const manifestWithFiles = manifest as NormalizedManifest & {\n files?: string[]\n }\n if (\n manifestWithFiles.files &&\n Array.isArray(manifestWithFiles.files)\n ) {\n // Empty files array means exclude everything except always-included files\n if (manifestWithFiles.files.length === 0) {\n return false\n }\n return manifestWithFiles.files.some((pattern: string) => {\n if (pattern.endsWith('/')) {\n const dirName = pattern.slice(0, -1)\n const globPattern = pattern.replace(/\\/$/, '/**')\n const matchesDir = normalizedPath === dirName\n const matchesContents = minimatch(\n normalizedPath,\n globPattern,\n {\n dot: true,\n },\n )\n return matchesDir || matchesContents\n }\n\n // File pattern: check direct match and if this path is a directory that could contain the pattern\n const directMatch = minimatch(normalizedPath, pattern, {\n dot: true,\n })\n // Check if this path is a directory that could contain the pattern\n const isParentDir =\n pattern.includes('/') &&\n pattern.startsWith(normalizedPath + '/')\n return directMatch || isParentDir\n })\n }\n\n // Default behavior when no files field - exclude common development files\n const defaultExcludePatterns = [\n /^\\.?\\/?\\.vscode(\\/|$)/,\n /^\\.?\\/?\\.idea(\\/|$)/,\n /^\\.?\\/?\\.gitignore$/,\n /^\\.?\\/?\\.npmignore$/,\n /^\\.?\\/?\\.editorconfig$/,\n ]\n\n return !defaultExcludePatterns.some(pattern =>\n pattern.test(normalizedPath),\n )\n },\n },\n ['.'],\n ).concat()\n\n let unpackedSize = 0\n const files: string[] = []\n await new Promise<void>((resolve, reject) => {\n const stream = tarList({\n onentry: entry => {\n if (entry.type === 'File') {\n unpackedSize += entry.size\n // Remove the package/ prefix for cleaner file listing\n const cleanPath = entry.path.replace(/^[^/]+\\//, '')\n if (cleanPath) {\n // Skip empty paths\n files.push(cleanPath)\n }\n }\n },\n })\n stream\n .on('end', () => resolve())\n .on('error', reject)\n .write(tarballData)\n stream.end()\n })\n\n const integrityMap = ssri.fromData(tarballData, {\n algorithms: [...new Set(['sha1', 'sha512'])],\n })\n\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n const integrity = integrityMap.sha512?.[0]?.toString()\n // @ts-expect-error -- types from DT are missing hexDigest\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const shasum = integrityMap.sha1?.[0]?.hexDigest() as\n | string\n | undefined\n\n return {\n name: manifest.name,\n version: manifest.version,\n filename,\n tarballName,\n tarballData,\n unpackedSize,\n files,\n integrity,\n shasum,\n }\n } finally {\n // Restore the original package.json to the pack directory\n config.options.packageJson.write(packDir, manifest)\n }\n}\n"]}
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-add-remove-args.d.ts","sourceRoot":"","sources":["../../src/parse-add-remove-args.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,2BAA2B,EAE3B,8BAA8B,EAC/B,MAAM,eAAe,CAAA;AAKtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,2BAA2B,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,8BAA8B,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC7B,CAAA;AAqDD,eAAO,MAAM,YAAY,WACf,YAAY,aACT,QAAQ,KAClB,aA4BF,CAAA;AAED,eAAO,MAAM,eAAe,WAClB,YAAY,aACT,QAAQ,KAClB,gBAaF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-add-remove-args.js","sourceRoot":"","sources":["../../src/parse-add-remove-args.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAM/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAyBnC,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;AAE/C;;;GAGG;AACH,MAAM,YAAY,GAAG,CACnB,IAAoB,EACpB,QAAmB,EACP,EAAE;IACd,MAAM,GAAG,GAAG,IAAI,GAAG,EAAS,CAAA;IAE5B,sDAAsD;IACtD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACpB,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,IAAe,EAAsB,EAAE,CACtD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM;IAC1B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;QAC1B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACrB,cAAc;gBAChB,CAAC,CAAC,MAAM;YACV,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU;gBACpC,CAAC,CAAC,UAAU,CAAA;AAEd,MAAM,+BACJ,SAAQ,GAAG;IAGX,oBAAoB,GAAG,KAAK,CAAA;CAC7B;AAED,MAAM,kCACJ,SAAQ,GAAG;IAGX,oBAAoB,GAAG,KAAK,CAAA;CAC7B;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAoB,EACpB,QAAmB,EACJ,EAAE;IACjB,MAAM,GAAG,GACP,IAAI,+BAA+B,EAAE,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAA;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACvD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAsB,CAAA;IACrD,MAAM,WAAW,GAAgB,MAAM,CAAC,OAAO,CAAA;IAE/C,wDAAwD;IACxD,yDAAyD;IACzD,kDAAkD;IAClD,MAAM,OAAO,GAAG,CAAC,CAAO,EAAU,EAAE,CAClC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAC9C,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAChE,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAA;IACjC,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;IACpC,CAAC;IAED,OAAO;QACL,GAAG;KACJ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAoB,EACpB,QAAmB,EACD,EAAE;IACpB,MAAM,MAAM,GACV,IAAI,kCAAkC,EAAE,CAAA;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAEvD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAA;IACpC,CAAC;IAED,OAAO;QACL,MAAM;KACP,CAAA;AACH,CAAC,CAAA","sourcesContent":["import type { DepID } from '@vltpkg/dep-id'\nimport { joinDepIDTuple } from '@vltpkg/dep-id'\nimport type {\n AddImportersDependenciesMap,\n Dependency,\n RemoveImportersDependenciesMap,\n} from '@vltpkg/graph'\nimport { asDependency } from '@vltpkg/graph'\nimport type { SpecOptions } from '@vltpkg/spec'\nimport { Spec } from '@vltpkg/spec'\nimport type { DependencySaveType } from '@vltpkg/types'\nimport type { Monorepo } from '@vltpkg/workspaces'\nimport type { LoadedConfig } from './config/index.ts'\n\nexport type ParsedAddArgs = {\n add: AddImportersDependenciesMap\n}\n\nexport type ParsedRemoveArgs = {\n remove: RemoveImportersDependenciesMap\n}\n\nexport type SaveTypes = {\n 'save-dev'?: boolean\n 'save-optional'?: boolean\n 'save-peer'?: boolean\n 'save-prod'?: boolean\n}\n\nexport type WorkspaceTypes = {\n workspace?: string[]\n 'workspace-group'?: string[]\n}\n\nconst rootDepID = joinDepIDTuple(['file', '.'])\n\n/**\n * Get the list of importers that are currently selected\n * in {@link WorkspaceTypes}.\n */\nconst getImporters = (\n opts: WorkspaceTypes,\n monorepo?: Monorepo,\n): Set<DepID> => {\n const res = new Set<DepID>()\n\n // collects DepID references to any selected workspace\n if (monorepo) {\n for (const ws of monorepo.filter(opts)) {\n res.add(ws.id)\n }\n }\n\n // if no references were found, default behavior is to point to project root\n if (!res.size) {\n res.add(rootDepID)\n }\n\n return res\n}\n\nconst getType = (opts: SaveTypes): DependencySaveType =>\n opts['save-prod'] ? 'prod'\n : opts['save-dev'] ? 'dev'\n : opts['save-peer'] ?\n opts['save-optional'] ?\n 'peerOptional'\n : 'peer'\n : opts['save-optional'] ? 'optional'\n : 'implicit'\n\nclass AddImportersDependenciesMapImpl\n extends Map\n implements AddImportersDependenciesMap\n{\n modifiedDependencies = false\n}\n\nclass RemoveImportersDependenciesMapImpl\n extends Map\n implements RemoveImportersDependenciesMap\n{\n modifiedDependencies = false\n}\n\nexport const parseAddArgs = (\n config: LoadedConfig,\n monorepo?: Monorepo,\n): ParsedAddArgs => {\n const add: AddImportersDependenciesMap =\n new AddImportersDependenciesMapImpl()\n const items = config.positionals\n const type = getType(config.values)\n const importers = getImporters(config.values, monorepo)\n const newDependencies = new Map<string, Dependency>()\n const specOptions: SpecOptions = config.options\n\n // nameless spec definitions will need to use their full\n // stringified spec result instead of their name in order\n // to have an unique key name in the resulting Map\n const getName = (s: Spec): string =>\n s.name === '(unknown)' ? s.spec : s.name\n\n for (const item of items) {\n const spec = Spec.parseArgs(item, specOptions)\n newDependencies.set(getName(spec), asDependency({ spec, type }))\n add.modifiedDependencies = true\n }\n\n for (const importer of importers) {\n add.set(importer, newDependencies)\n }\n\n return {\n add,\n }\n}\n\nexport const parseRemoveArgs = (\n config: LoadedConfig,\n monorepo?: Monorepo,\n): ParsedRemoveArgs => {\n const remove: RemoveImportersDependenciesMap =\n new RemoveImportersDependenciesMapImpl()\n const importers = getImporters(config.values, monorepo)\n\n for (const importer of importers) {\n remove.set(importer, new Set(config.positionals))\n remove.modifiedDependencies = true\n }\n\n return {\n remove,\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"print-err.d.ts","sourceRoot":"","sources":["../../src/print-err.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,eAAO,MAAM,aAAa;;;;CAIS,CAAA;AAEnC,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,kBAAkB,KACzB,MAAM,CAAA;AAWX,eAAO,MAAM,MAAM,UAAW,MAAM,yBAIrB,CAAA;AAoBf,eAAO,MAAM,QAAQ,MAChB,OAAO,SACH,YAAY,UACX,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,aACrB,kBAAkB,SAwC9B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"print-err.js","sourceRoot":"","sources":["../../src/print-err.ts"],"names":[],"mappings":"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","sourcesContent":["import { splitDepID } from '@vltpkg/dep-id'\nimport type { Node } from '@vltpkg/graph'\nimport type { ParsedError } from '@vltpkg/output/error'\nimport { parseError } from '@vltpkg/output/error'\nimport { isErrorWithCause, isObject } from '@vltpkg/types'\nimport { XDG } from '@vltpkg/xdg'\nimport { isGraphRunError } from 'graph-run'\nimport { mkdirSync, writeFileSync } from 'node:fs'\nimport { join } from 'node:path'\nimport type { InspectOptions } from 'node:util'\nimport { formatWithOptions } from 'node:util'\nimport type { CommandUsage } from './index.ts'\n\nexport const formatOptions = {\n depth: Infinity,\n maxArrayLength: Infinity,\n maxStringLength: Infinity,\n} as const satisfies InspectOptions\n\nexport type ErrorFormatOptions = InspectOptions & {\n maxLines?: number\n}\n\nexport type Formatter = (\n arg: unknown,\n options?: ErrorFormatOptions,\n) => string\n\nconst isNonEmptyString = (v: unknown): v is string =>\n !!v && typeof v === 'string'\n\nconst formatURL = (v: unknown, format: Formatter) =>\n v instanceof URL ? v.toString() : /* c8 ignore next */ format(v)\n\nconst formatArray = (v: unknown, format: Formatter, joiner = ', ') =>\n Array.isArray(v) ? v.join(joiner) : /* c8 ignore next */ format(v)\n\nexport const indent = (lines: string, num = 2) =>\n lines\n .split('\\n')\n .map(l => ' '.repeat(num) + l)\n .join('\\n')\n\nconst writeErrorLog = (e: unknown, format: Formatter) => {\n try {\n const dir = new XDG('vlt/error-logs').data()\n const file = join(dir, `error-${process.pid}.log`)\n mkdirSync(dir, { recursive: true })\n writeFileSync(\n file,\n format(e, {\n colors: false,\n maxLines: Infinity,\n }),\n )\n return file\n } catch {\n return null\n }\n}\n\nexport const printErr = (\n e: unknown,\n usage: CommandUsage,\n stderr: (...a: string[]) => void,\n baseOpts?: ErrorFormatOptions,\n) => {\n const format: Formatter = (arg: unknown, opts) => {\n const { maxLines = 200, ...rest } = {\n ...formatOptions,\n ...baseOpts,\n ...opts,\n }\n const lines = formatWithOptions(rest, arg).split('\\n')\n const totalLines = lines.length\n if (totalLines > maxLines) {\n lines.length = maxLines\n lines.push(`... ${totalLines - maxLines} lines hidden ...`)\n }\n return lines.join('\\n')\n }\n\n const err = parseError(e)\n const knownError = printCode(err, usage, stderr, format)\n const fileWritten =\n !knownError || knownError.file ? writeErrorLog(e, format) : null\n\n // We could not write an error log and its not a know error,\n // so we print the entire formatted value.\n if (!fileWritten && !knownError) {\n return stderr(format(e))\n }\n\n if (err && !knownError) {\n stderr(`${err.name}: ${err.message}`)\n }\n if (fileWritten) {\n stderr('')\n stderr(`Full details written to: ${fileWritten}`)\n }\n if (!knownError || knownError.bug) {\n stderr('')\n stderr('Open an issue with the full error details at:')\n stderr(indent('https://github.com/vltpkg/vltpkg/issues/new'))\n }\n}\n\nconst printCode = (\n err: ParsedError | null,\n usage: CommandUsage,\n stderr: (...a: string[]) => void,\n format: Formatter,\n): void | { bug?: boolean; file?: boolean } => {\n if (!err) return\n\n switch (err.cause?.code) {\n case 'GRAPHRUN_TRAVERSAL': {\n if (!isGraphRunError<Node>(err)) break\n const { node, path, cause } = err.cause\n stderr(\n `Graph traversal failure at: ${splitDepID(node.id).join(' ')}`,\n )\n if (Array.isArray(path) && path.length) {\n stderr(indent(`Path: ${path.map(n => n.id).join(',')}`))\n }\n if (\n isErrorWithCause(cause) &&\n isObject(cause.cause) &&\n 'command' in cause.cause &&\n 'stdout' in cause.cause &&\n 'stderr' in cause.cause &&\n 'status' in cause.cause &&\n 'signal' in cause.cause &&\n 'cwd' in cause.cause\n ) {\n const {\n command,\n args,\n cwd,\n stdout: cmdStdout,\n stderr: cmdStderr,\n status,\n signal,\n } = cause.cause\n stderr(`Command: ${command}`)\n if (args && Array.isArray(args) && args.length) {\n stderr(\n `Args: ${args.map(a => JSON.stringify(a)).join(', ')}`,\n )\n }\n stderr(`Cwd: ${cwd}`)\n\n if (cmdStderr || cmdStdout) {\n stderr('')\n if (isNonEmptyString(cmdStderr)) {\n stderr(cmdStderr)\n }\n if (isNonEmptyString(cmdStdout)) {\n stderr(cmdStdout)\n }\n stderr('')\n }\n\n if (signal !== null) stderr(`Signal: ${format(signal)}`)\n if (status !== null) stderr(`Status: ${format(status)}`)\n }\n return { file: true }\n }\n\n case 'EUSAGE': {\n const { found, validOptions } = err.cause\n stderr(usage().usage())\n stderr(`Usage Error: ${err.message}`)\n if (found) {\n stderr(indent(`Found: ${format(found)}`))\n }\n if (validOptions) {\n stderr(\n indent(\n `Valid options: ${formatArray(validOptions, format)}`,\n ),\n )\n }\n return {}\n }\n\n case 'ERESOLVE': {\n const { url, from, response, spec } = err.cause\n stderr(`Resolve Error: ${err.message}`)\n if (url) {\n stderr(indent(`While fetching: ${formatURL(url, format)}`))\n }\n if (spec) {\n stderr(indent(`To satisfy: ${format(spec)}`))\n }\n if (from) {\n stderr(indent(`From: ${format(from)}`))\n }\n if (response) {\n stderr(indent(`Response: ${format(response)}`))\n }\n return { file: true }\n }\n\n case 'EREQUEST': {\n const { url, method } = err.cause\n const { code, syscall } = err.cause.cause ?? {}\n stderr(`Request Error: ${err.message}`)\n if (code) {\n stderr(indent(`Code: ${format(code)}`))\n }\n if (syscall) {\n stderr(indent(`Syscall: ${format(syscall)}`))\n }\n if (url) {\n stderr(indent(`URL: ${formatURL(url, format)}`))\n }\n if (method) {\n stderr(indent(`Method: ${format(method)}`))\n }\n return { file: true }\n }\n\n case 'ECONFIG': {\n const { found, wanted, validOptions } = err.cause\n stderr(`Config Error: ${err.message}`)\n if (found) {\n stderr(indent(`Found: ${format(found)}`))\n }\n if (wanted) {\n stderr(indent(`Wanted: ${format(wanted)}`))\n }\n if (validOptions) {\n stderr(indent(`Valid Options: ${format(validOptions)}`))\n }\n return {}\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-host-contexts.d.ts","sourceRoot":"","sources":["../../src/query-host-contexts.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAG1D,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,EAAE,QAAQ,EAAE,CAAA;IACxB,YAAY,EAAE,QAAQ,EAAE,CAAA;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AA8CD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,SAC1B,YAAY,KACjB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAiH3D,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"query-host-contexts.js","sourceRoot":"","sources":["../../src/query-host-contexts.ts"],"names":[],"mappings":"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","sourcesContent":["import { homedir } from 'node:os'\nimport { parse, posix } from 'node:path'\nimport {\n getProjectData,\n readProjectFolders,\n reloadConfig,\n} from '@vltpkg/server'\nimport { actual, createVirtualRoot } from '@vltpkg/graph'\nimport { SecurityArchive } from '@vltpkg/security-archive'\nimport { error } from '@vltpkg/error-cause'\nimport type { PathBase, PathScurry } from 'path-scurry'\nimport type { EdgeLike, NodeLike } from '@vltpkg/types'\nimport type { LoadedConfig } from './config/index.ts'\n\nexport type HostContextsMapResult = {\n initialEdges: EdgeLike[]\n initialNodes: NodeLike[]\n edges: EdgeLike[]\n nodes: NodeLike[]\n securityArchive: SecurityArchive\n}\n\n// In restricted environments (like locked-down Codespaces),\n// homedir() might fail. Fall back to parent directory.\nlet foundHome\ntry {\n foundHome = posix.format(parse(homedir()))\n /* c8 ignore next 3 */\n} catch {}\nconst home =\n foundHome ?? posix.dirname(posix.format(parse(process.cwd())))\n\n/**\n * Generates possible project keys for a given folder.\n */\nconst getPossibleProjectKeys = (\n folder: PathBase,\n scurry: PathScurry,\n): Set<string> => {\n const relativePath = posix.relative(\n scurry.cwd.fullpathPosix(),\n folder.fullpathPosix(),\n )\n const absolutePath = folder.fullpathPosix()\n const homeRelativePath = posix.relative(\n scurry.resolvePosix(home),\n folder.fullpathPosix(),\n )\n const dotRelativeKey =\n relativePath === '' ? 'file:.' : `file:./${relativePath}`\n const relativeKey = `file:${relativePath}`\n const absoluteKey = `file:${absolutePath}`\n const homeRelativeKey = `file:~/${homeRelativePath}`\n const keys = [\n relativeKey,\n dotRelativeKey,\n absoluteKey,\n homeRelativeKey,\n `${relativeKey}/`,\n `${dotRelativeKey}/`,\n `${absoluteKey}/`,\n `${homeRelativeKey}/`,\n ]\n return new Set(keys)\n}\n\n/**\n * Creates a Map of host context functions that can be used by the :host\n * pseudo selector to dynamically load graphs from different sources.\n */\nexport const createHostContextsMap = async (\n conf: LoadedConfig,\n): Promise<Map<string, () => Promise<HostContextsMapResult>>> => {\n const hostContexts = new Map<\n string,\n () => Promise<HostContextsMapResult>\n >()\n // Read all project folders from the configured paths\n const { scurry } = conf.options\n const projectFolders = await readProjectFolders({\n scurry,\n userDefinedProjectPaths: conf.options['dashboard-root'] ?? [],\n })\n\n for (const folder of projectFolders) {\n const retrieveProjectGraph = async () => {\n const initialEdges: EdgeLike[] = []\n const initialNodes: NodeLike[] = []\n const config = await reloadConfig(folder.fullpath())\n\n // load each individual graph\n const graph = actual.load({\n ...config.options,\n projectRoot: folder.fullpath(),\n skipLoadingNodesOnModifiersChange: false,\n })\n initialEdges.push(...graph.edges)\n initialNodes.push(...graph.nodes.values())\n\n // Initialize security archive with all loaded nodes\n const securityArchive = await SecurityArchive.start({\n nodes: initialNodes,\n })\n\n return {\n initialEdges,\n initialNodes,\n edges: [],\n nodes: [graph.mainImporter],\n securityArchive,\n }\n }\n\n // add multiple keys for each project folder\n for (const path of getPossibleProjectKeys(folder, scurry)) {\n if (!hostContexts.has(path)) {\n hostContexts.set(path, retrieveProjectGraph)\n }\n }\n }\n\n // Define local context - loads graphs from all projects in user's project paths\n hostContexts.set('local', async () => {\n // Load graphs from each project folder\n const initialEdges: EdgeLike[] = []\n const initialNodes: NodeLike[] = []\n const mainImporters: NodeLike[] = []\n for (const folder of projectFolders) {\n try {\n const config = await reloadConfig(folder.fullpath())\n const projectInfo = getProjectData(\n {\n packageJson: config.options.packageJson,\n scurry: config.options.scurry,\n },\n folder,\n )\n\n // only include projects that are vlt-installed\n if (!projectInfo.vltInstalled) {\n continue\n }\n\n // load each individual graph\n const graph = actual.load({\n ...config.options,\n projectRoot: folder.fullpath(),\n skipLoadingNodesOnModifiersChange: false,\n })\n initialEdges.push(...graph.edges)\n initialNodes.push(...graph.nodes.values())\n mainImporters.push(graph.mainImporter)\n } catch (_error) {\n // Skip projects that fail to load\n // This might happen for projects without proper package.json\n // or other loading issues\n continue\n }\n }\n\n // Initialize security archive with all loaded nodes\n const securityArchive = await SecurityArchive.start({\n nodes: initialNodes,\n })\n\n const virtualRoot = createVirtualRoot(\n 'local',\n conf.options,\n mainImporters,\n )\n\n if (!virtualRoot) {\n throw error('Failed to create virtual root for local context')\n }\n\n return {\n initialEdges,\n initialNodes,\n edges: [],\n nodes: [virtualRoot],\n securityArchive,\n }\n })\n\n return hostContexts\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-password.d.ts","sourceRoot":"","sources":["../../src/read-password.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAA;IAClE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,YAAY,WACf,MAAM,sBACK,OAAO,KACzB,OAAO,CAAC,MAAM,CA4BhB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-password.js","sourceRoot":"","sources":["../../src/read-password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAO3C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAc,EACd,EAAE,KAAK,EAAE,MAAM,KAAc,OAAO,EACnB,EAAE;IACnB,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACpB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACnC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YAC7B,YAAY;YACZ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBAC5C,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBAC/B,OAAM;YACR,CAAC;YAED,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAA;gBAC/C,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACvB,KAAK,CAAC,KAAK,EAAE,CAAA;gBACb,aAAa;gBACb,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;gBAC9C,CAAC;;oBAAM,GAAG,EAAE,CAAA;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YACpC,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA","sourcesContent":["import { error } from '@vltpkg/error-cause'\n\nexport type Streams = {\n stdin: NodeJS.ReadableStream & { setRawMode(mode: boolean): void }\n stdout: NodeJS.WritableStream\n}\n\nexport const readPassword = async (\n prompt: string,\n { stdin, stdout }: Streams = process,\n): Promise<string> => {\n let input = ''\n stdout.write(prompt)\n stdin.setRawMode(true)\n await new Promise<void>((res, rej) => {\n stdin.on('data', (c: Buffer) => {\n // backspace\n if (c.length === 1 && c[0] === 0x7f) {\n input = input.substring(0, input.length - 1)\n stdout.write('\\x1b[1D \\x1b[1D')\n return\n }\n\n input += String(c)\n if (/\\r|\\n|\\x04|\\x03/.test(input)) {\n input = input.replace(/(\\r|\\n|\\x04|\\x03)/g, '')\n stdin.setRawMode(false)\n stdin.pause()\n // x03 === ^C\n if (c[c.length - 1] === 3) {\n rej(error('canceled', { signal: 'SIGINT' }))\n } else res()\n } else {\n stdout.write('*'.repeat(c.length))\n }\n })\n })\n return input\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-gui.d.ts","sourceRoot":"","sources":["../../src/start-gui.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,eAAO,MAAM,uBAAuB,YAAmB;IACrD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;CACnB,oBAYA,CAAA;AAaD,eAAO,MAAM,QAAQ,SACb,YAAY,kBACF,MAAM,gDA0CvB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"start-gui.js","sourceRoot":"","sources":["../../src/start-gui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAKpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,OAK7C,EAAE,EAAE;IACH,MAAM,EACJ,WAAW,GAAG,OAAO,EACrB,aAAa,EACb,WAAW,EACX,MAAM,GACP,GAAG,OAAO,CAAA;IACX,IAAI,aAAa;QAAE,OAAO,aAAa,CAAA;IACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,eAAe,CAAC,CAAA;IAC9D,OAAO,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC7C,YAAY,QAAQ,CAAC,6BAA6B,CAAC,WAAW,CAAC,WAAW;QAC5E,CAAC,CAAC,GAAG,CAAA;AACT,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,qBAAqB;IACrB,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC;QAC9C,OAAO,OAAO,CACZ,MAAM,CAAC,IAAI,CAAC,OAAO,EACnB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAC1C,CAAA;IACH,CAAC;IACD,oBAAoB;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,IAAkB,EAClB,aAAsB,EACtB,EAAE;IACF,qBAAqB;IACrB,MAAM,YAAY,GAChB,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC,CAAC,SAAS,CAAA;IACb,oBAAoB;IACpB,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,GAAG,IAAI,CAAC,OAAO;QACf,SAAS,EAAE,YAAY,EAAE;QACzB,YAAY,EAAE,IAAI;QAClB,YAAY;KACb,CAAC,CAAA;IACF,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAC,GAAG,EAAC,EAAE;QACxC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACtB,MAAM,eAAe,GAAG,MAA4B,CAAA;QACpD,eAAe,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC,CAAA;QAChE,MAAM,IAAI;aACP,cAAc,EAAE;aAChB,IAAI,CAAC,GAAG,EAAE;YACT,eAAe,CAAC,aAAa,CAAC;gBAC5B,GAAG,IAAI,CAAC,OAAO;gBACf,YAAY;aACb,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IACF,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;IAC5C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IACpB,MAAM,CAAC,wBAAwB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAClD,KAAK,OAAO,CACV,MAAM,CAAC,OAAO,CACZ,MAAM,uBAAuB,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;QAC/B,aAAa;QACb,WAAW;QACX,MAAM;KACP,CAAC,CACH,CACF,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA","sourcesContent":["import { resolve } from 'node:path'\nimport LZString from 'lz-string'\nimport { createServer } from '@vltpkg/server'\nimport { urlOpen } from '@vltpkg/url-open'\nimport { stdout } from './output.ts'\nimport type { PathScurry } from 'path-scurry'\nimport type { LoadedConfig } from './config/index.ts'\nimport type { VltServerListening } from '@vltpkg/server'\n\nexport const getDefaultStartingRoute = async (options: {\n queryString?: string\n startingRoute?: string\n projectRoot: string\n scurry: PathScurry\n}) => {\n const {\n queryString = ':root',\n startingRoute,\n projectRoot,\n scurry,\n } = options\n if (startingRoute) return startingRoute\n const stat = await scurry.lstat(`${projectRoot}/package.json`)\n return stat?.isFile() && !stat.isSymbolicLink() ?\n `/explore/${LZString.compressToEncodedURIComponent(queryString)}/overview`\n : '/'\n}\n\nconst getAssetsDir = () => {\n /* c8 ignore start */\n if (process.env.__VLT_INTERNAL_GUI_ASSETS_DIR) {\n return resolve(\n import.meta.dirname,\n process.env.__VLT_INTERNAL_GUI_ASSETS_DIR,\n )\n }\n /* c8 ignore stop */\n}\n\nexport const startGUI = async (\n conf: LoadedConfig,\n startingRoute?: string,\n) => {\n /* c8 ignore start */\n const allowScripts =\n conf.get('allow-scripts') ?\n String(conf.get('allow-scripts'))\n : ':not(*)'\n /* c8 ignore stop */\n const server = createServer({\n ...conf.options,\n assetsDir: getAssetsDir(),\n loadedConfig: conf,\n allowScripts,\n })\n server.on('needConfigUpdate', async dir => {\n conf.resetOptions(dir)\n const listeningServer = server as VltServerListening\n listeningServer.updateOptions({ ...conf.options, allowScripts })\n await conf\n .reloadFromDisk()\n .then(() => {\n listeningServer.updateOptions({\n ...conf.options,\n allowScripts,\n })\n })\n .catch(() => {})\n })\n const { projectRoot, scurry } = conf.options\n await server.start()\n stdout(`⚡️ vlt UI running at ${server.address()}`)\n void urlOpen(\n server.address(\n await getDefaultStartingRoute({\n queryString: conf.values.target,\n startingRoute,\n projectRoot,\n scurry,\n }),\n ),\n )\n return server\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,MAAM,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE9C;;;;;;;;;;GAUG;AACH,qBAAa,SAAS,CAAC,CAAC,GAAG,OAAO;IAChC,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,YAAY,CAAA;gBAER,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY;IAQtD,KAAK;IACC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAGjE,KAAK,CAAC,IAAI,EAAE,OAAO;CACpB;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,OAAO,IAAI,CAChC,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,YAAY,KACf,OAAO,CAAA;AAEZ,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;AAE/D,eAAO,MAAM,WAAW,GAAI,CAAC,kBACrB,IAAI,CAAC,CAAC,CAAC,KACZ,IAAI,IAAI,OAAO,SAAS,CAAC,CAAC,CAGQ,CAAA;AAErC,MAAM,MAAM,KAAK,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,SAAS;IACpB,OAAO,CAAa;IACpB,MAAM,CAAc;IAEpB,YAAY,OAAoB,EAAE,MAAoB;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,oEAAoE;IACpE,wEAAwE;IACxE,wEAAwE;IACxE,KAAK,KAAI,CAAC;IACV,KAAK,CAAC,IAAI,CAAC,OAAU,EAAE,KAAuB;QAC5C,OAAM;IACR,CAAC;IACD,KAAK,CAAC,IAAa,IAAG,CAAC;CACxB;AAUD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAa,EACgB,EAAE,CAC/B,OAAO,IAAI,KAAK,UAAU;IAC1B,WAAW,IAAI,IAAI;IACnB,IAAI,CAAC,SAAS,YAAY,SAAS,CAAA","sourcesContent":["import type { LoadedConfig } from './config/index.ts'\n\nexport type ViewOptions = { colors?: boolean }\n\n/**\n * The base class for all View classes\n *\n * Do not override the constructor, just provide start/done/error methods.\n *\n * These classes should be used as one or more of the exported views for\n * commands that need to know when the processing starts, handle errors in\n * various ways, etc. Fancy stuff.\n *\n * For simple use cases, usually better to create a {@link ViewFn} instead.\n */\nexport class ViewClass<T = unknown> {\n options: ViewOptions\n config: LoadedConfig\n\n constructor(options: ViewOptions, config: LoadedConfig) {\n this.options = options\n this.config = config\n }\n\n // TODO: maybe have start() return a flag to say \"i got this, do not\n // run the command\", for example to have the gui just open a web browser\n // to the page relevant to a given thing, rather than computing it twice\n start() {}\n async done(_result: T, _opts: { time: number }): Promise<unknown> {\n return\n }\n error(_err: unknown) {}\n}\n\nexport type ViewFn<T = unknown> = (\n result: T,\n options: ViewOptions,\n conf: LoadedConfig,\n) => unknown\n\nexport type View<T = unknown> = ViewFn<T> | typeof ViewClass<T>\n\nexport const isViewClass = <T = unknown>(\n view: View<T>,\n): view is typeof ViewClass<T> =>\n typeof view === 'function' &&\n 'prototype' in view &&\n view.prototype instanceof ViewClass\n\nexport type Views<T = unknown> = View<T> | Record<string, View<T>>\n"]}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes