pxnpm 4.1.16 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (727) hide show
  1. package/README.md +276 -2
  2. package/bin/{pxnpm.cjs → pnpm.cjs} +2 -2
  3. package/bin/{pxnpx.cjs → pnpx.cjs} +1 -1
  4. package/dist/node_modules/.modules.yaml +92 -98
  5. package/dist/node_modules/.pnpm/lock.yaml +303 -412
  6. package/dist/node_modules/{set-blocking → @isaacs/cliui}/LICENSE.txt +1 -1
  7. package/dist/node_modules/@isaacs/cliui/build/index.cjs +317 -0
  8. package/dist/node_modules/@isaacs/cliui/build/index.d.cts +43 -0
  9. package/dist/node_modules/@isaacs/cliui/build/lib/index.js +302 -0
  10. package/dist/node_modules/@isaacs/cliui/index.mjs +14 -0
  11. package/dist/node_modules/@isaacs/cliui/package.json +86 -0
  12. package/dist/node_modules/@npmcli/agent/lib/agents.js +206 -0
  13. package/dist/node_modules/@npmcli/agent/lib/dns.js +53 -0
  14. package/dist/node_modules/@npmcli/agent/lib/errors.js +61 -0
  15. package/dist/node_modules/@npmcli/agent/lib/index.js +56 -0
  16. package/dist/node_modules/@npmcli/agent/lib/options.js +86 -0
  17. package/dist/node_modules/@npmcli/agent/lib/proxy.js +88 -0
  18. package/dist/node_modules/@npmcli/agent/package.json +60 -0
  19. package/dist/node_modules/@npmcli/fs/lib/cp/index.js +1 -1
  20. package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +2 -2
  21. package/dist/node_modules/@npmcli/fs/lib/index.js +11 -10
  22. package/dist/node_modules/@npmcli/fs/lib/move-file.js +78 -0
  23. package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
  24. package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +4 -6
  25. package/dist/node_modules/@npmcli/fs/package.json +13 -11
  26. package/dist/node_modules/@pkgjs/parseargs/LICENSE +201 -0
  27. package/dist/node_modules/@pkgjs/parseargs/index.js +396 -0
  28. package/dist/node_modules/@pkgjs/parseargs/internal/errors.js +47 -0
  29. package/dist/node_modules/@pkgjs/parseargs/internal/primordials.js +393 -0
  30. package/dist/node_modules/@pkgjs/parseargs/internal/util.js +14 -0
  31. package/dist/node_modules/@pkgjs/parseargs/internal/validators.js +89 -0
  32. package/dist/node_modules/@pkgjs/parseargs/package.json +36 -0
  33. package/dist/node_modules/@pkgjs/parseargs/utils.js +198 -0
  34. package/dist/node_modules/abbrev/lib/index.js +50 -0
  35. package/dist/node_modules/abbrev/package.json +33 -11
  36. package/dist/node_modules/agent-base/LICENSE +22 -0
  37. package/dist/node_modules/agent-base/dist/helpers.d.ts.map +1 -0
  38. package/dist/node_modules/agent-base/dist/helpers.js +66 -0
  39. package/dist/node_modules/agent-base/dist/helpers.js.map +1 -0
  40. package/dist/node_modules/agent-base/dist/index.d.ts.map +1 -0
  41. package/dist/node_modules/agent-base/dist/index.js +175 -0
  42. package/dist/node_modules/agent-base/dist/index.js.map +1 -0
  43. package/dist/node_modules/agent-base/package.json +26 -41
  44. package/dist/node_modules/ansi-regex/index.js +3 -5
  45. package/dist/node_modules/ansi-regex/license +1 -1
  46. package/dist/node_modules/ansi-regex/package.json +9 -6
  47. package/dist/node_modules/ansi-styles/index.js +223 -0
  48. package/dist/node_modules/ansi-styles/license +9 -0
  49. package/dist/node_modules/ansi-styles/package.json +54 -0
  50. package/dist/node_modules/brace-expansion/index.js +86 -84
  51. package/dist/node_modules/brace-expansion/package.json +3 -4
  52. package/dist/node_modules/cacache/lib/content/read.js +10 -86
  53. package/dist/node_modules/cacache/lib/content/rm.js +2 -4
  54. package/dist/node_modules/cacache/lib/content/write.js +42 -25
  55. package/dist/node_modules/cacache/lib/entry-index.js +26 -100
  56. package/dist/node_modules/cacache/lib/get.js +1 -56
  57. package/dist/node_modules/cacache/lib/index.js +0 -3
  58. package/dist/node_modules/cacache/lib/memoization.js +2 -2
  59. package/dist/node_modules/cacache/lib/rm.js +5 -5
  60. package/dist/node_modules/cacache/lib/util/glob.js +7 -0
  61. package/dist/node_modules/cacache/lib/util/tmp.js +3 -10
  62. package/dist/node_modules/cacache/lib/verify.js +31 -31
  63. package/dist/node_modules/cacache/node_modules/fs-minipass/lib/index.js +443 -0
  64. package/dist/node_modules/cacache/node_modules/fs-minipass/package.json +54 -0
  65. package/dist/node_modules/cacache/package.json +23 -25
  66. package/dist/node_modules/color-convert/LICENSE +21 -0
  67. package/dist/node_modules/color-convert/conversions.js +839 -0
  68. package/dist/node_modules/color-convert/index.js +81 -0
  69. package/dist/node_modules/color-convert/package.json +48 -0
  70. package/dist/node_modules/color-convert/route.js +97 -0
  71. package/dist/node_modules/color-name/LICENSE +8 -0
  72. package/dist/node_modules/color-name/index.js +152 -0
  73. package/dist/node_modules/color-name/package.json +28 -0
  74. package/dist/node_modules/{safe-buffer → cross-spawn}/LICENSE +1 -1
  75. package/dist/node_modules/cross-spawn/index.js +39 -0
  76. package/dist/node_modules/cross-spawn/lib/enoent.js +59 -0
  77. package/dist/node_modules/cross-spawn/lib/parse.js +91 -0
  78. package/dist/node_modules/cross-spawn/lib/util/escape.js +45 -0
  79. package/dist/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  80. package/dist/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  81. package/dist/node_modules/cross-spawn/package.json +73 -0
  82. package/dist/node_modules/debug/package.json +4 -3
  83. package/dist/node_modules/debug/src/node.js +2 -2
  84. package/dist/node_modules/eastasianwidth/eastasianwidth.js +311 -0
  85. package/dist/node_modules/eastasianwidth/package.json +18 -0
  86. package/dist/node_modules/emoji-regex/RGI_Emoji.js +6 -0
  87. package/dist/node_modules/emoji-regex/es2015/RGI_Emoji.js +6 -0
  88. package/dist/node_modules/emoji-regex/es2015/index.js +1 -1
  89. package/dist/node_modules/emoji-regex/es2015/text.js +1 -1
  90. package/dist/node_modules/emoji-regex/index.js +1 -1
  91. package/dist/node_modules/emoji-regex/package.json +13 -11
  92. package/dist/node_modules/emoji-regex/text.js +1 -1
  93. package/dist/node_modules/{infer-owner → foreground-child}/LICENSE +1 -1
  94. package/dist/node_modules/foreground-child/dist/commonjs/all-signals.d.ts.map +1 -0
  95. package/dist/node_modules/foreground-child/dist/commonjs/all-signals.js +58 -0
  96. package/dist/node_modules/foreground-child/dist/commonjs/all-signals.js.map +1 -0
  97. package/dist/node_modules/foreground-child/dist/commonjs/index.d.ts.map +1 -0
  98. package/dist/node_modules/foreground-child/dist/commonjs/index.js +121 -0
  99. package/dist/node_modules/foreground-child/dist/commonjs/index.js.map +1 -0
  100. package/dist/node_modules/foreground-child/dist/commonjs/package.json +3 -0
  101. package/dist/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts.map +1 -0
  102. package/dist/node_modules/foreground-child/dist/commonjs/proxy-signals.js +38 -0
  103. package/dist/node_modules/foreground-child/dist/commonjs/proxy-signals.js.map +1 -0
  104. package/dist/node_modules/foreground-child/dist/commonjs/watchdog.d.ts.map +1 -0
  105. package/dist/node_modules/foreground-child/dist/commonjs/watchdog.js +50 -0
  106. package/dist/node_modules/foreground-child/dist/commonjs/watchdog.js.map +1 -0
  107. package/dist/node_modules/foreground-child/dist/esm/all-signals.d.ts.map +1 -0
  108. package/dist/node_modules/foreground-child/dist/esm/all-signals.js +52 -0
  109. package/dist/node_modules/foreground-child/dist/esm/all-signals.js.map +1 -0
  110. package/dist/node_modules/foreground-child/dist/esm/index.d.ts.map +1 -0
  111. package/dist/node_modules/foreground-child/dist/esm/index.js +113 -0
  112. package/dist/node_modules/foreground-child/dist/esm/index.js.map +1 -0
  113. package/dist/node_modules/foreground-child/dist/esm/package.json +3 -0
  114. package/dist/node_modules/foreground-child/dist/esm/proxy-signals.d.ts.map +1 -0
  115. package/dist/node_modules/foreground-child/dist/esm/proxy-signals.js +34 -0
  116. package/dist/node_modules/foreground-child/dist/esm/proxy-signals.js.map +1 -0
  117. package/dist/node_modules/foreground-child/dist/esm/watchdog.d.ts.map +1 -0
  118. package/dist/node_modules/foreground-child/dist/esm/watchdog.js +46 -0
  119. package/dist/node_modules/foreground-child/dist/esm/watchdog.js.map +1 -0
  120. package/dist/node_modules/foreground-child/package.json +111 -0
  121. package/dist/node_modules/{cacache/node_modules/minimatch → fs-minipass/node_modules/minipass}/LICENSE +1 -1
  122. package/dist/node_modules/fs-minipass/node_modules/minipass/package.json +56 -0
  123. package/dist/node_modules/glob/LICENSE +1 -7
  124. package/dist/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
  125. package/dist/node_modules/glob/dist/commonjs/glob.js +247 -0
  126. package/dist/node_modules/glob/dist/commonjs/glob.js.map +1 -0
  127. package/dist/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
  128. package/dist/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  129. package/dist/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
  130. package/dist/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
  131. package/dist/node_modules/glob/dist/commonjs/ignore.js +119 -0
  132. package/dist/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
  133. package/dist/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
  134. package/dist/node_modules/glob/dist/commonjs/index.js +68 -0
  135. package/dist/node_modules/glob/dist/commonjs/index.js.map +1 -0
  136. package/dist/node_modules/glob/dist/commonjs/package.json +3 -0
  137. package/dist/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
  138. package/dist/node_modules/glob/dist/commonjs/pattern.js +219 -0
  139. package/dist/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
  140. package/dist/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
  141. package/dist/node_modules/glob/dist/commonjs/processor.js +301 -0
  142. package/dist/node_modules/glob/dist/commonjs/processor.js.map +1 -0
  143. package/dist/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
  144. package/dist/node_modules/glob/dist/commonjs/walker.js +387 -0
  145. package/dist/node_modules/glob/dist/commonjs/walker.js.map +1 -0
  146. package/dist/node_modules/glob/dist/esm/bin.d.mts +3 -0
  147. package/dist/node_modules/glob/dist/esm/bin.d.mts.map +1 -0
  148. package/dist/node_modules/glob/dist/esm/bin.mjs +270 -0
  149. package/dist/node_modules/glob/dist/esm/bin.mjs.map +1 -0
  150. package/dist/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
  151. package/dist/node_modules/glob/dist/esm/glob.js +243 -0
  152. package/dist/node_modules/glob/dist/esm/glob.js.map +1 -0
  153. package/dist/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
  154. package/dist/node_modules/glob/dist/esm/has-magic.js +23 -0
  155. package/dist/node_modules/glob/dist/esm/has-magic.js.map +1 -0
  156. package/dist/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
  157. package/dist/node_modules/glob/dist/esm/ignore.js +115 -0
  158. package/dist/node_modules/glob/dist/esm/ignore.js.map +1 -0
  159. package/dist/node_modules/glob/dist/esm/index.d.ts.map +1 -0
  160. package/dist/node_modules/glob/dist/esm/index.js +55 -0
  161. package/dist/node_modules/glob/dist/esm/index.js.map +1 -0
  162. package/dist/node_modules/glob/dist/esm/package.json +3 -0
  163. package/dist/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
  164. package/dist/node_modules/glob/dist/esm/pattern.js +215 -0
  165. package/dist/node_modules/glob/dist/esm/pattern.js.map +1 -0
  166. package/dist/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
  167. package/dist/node_modules/glob/dist/esm/processor.js +294 -0
  168. package/dist/node_modules/glob/dist/esm/processor.js.map +1 -0
  169. package/dist/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
  170. package/dist/node_modules/glob/dist/esm/walker.js +381 -0
  171. package/dist/node_modules/glob/dist/esm/walker.js.map +1 -0
  172. package/dist/node_modules/glob/package.json +79 -35
  173. package/dist/node_modules/{agentkeepalive → http-proxy-agent}/LICENSE +2 -3
  174. package/dist/node_modules/http-proxy-agent/dist/index.d.ts.map +1 -0
  175. package/dist/node_modules/http-proxy-agent/dist/index.js +142 -8
  176. package/dist/node_modules/http-proxy-agent/dist/index.js.map +1 -1
  177. package/dist/node_modules/http-proxy-agent/package.json +22 -32
  178. package/dist/node_modules/https-proxy-agent/LICENSE +22 -0
  179. package/dist/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -0
  180. package/dist/node_modules/https-proxy-agent/dist/index.js +169 -8
  181. package/dist/node_modules/https-proxy-agent/dist/index.js.map +1 -1
  182. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -0
  183. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +47 -12
  184. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -1
  185. package/dist/node_modules/https-proxy-agent/package.json +25 -31
  186. package/dist/node_modules/jackspeak/dist/commonjs/index.d.ts.map +1 -0
  187. package/dist/node_modules/jackspeak/dist/commonjs/index.js +1010 -0
  188. package/dist/node_modules/jackspeak/dist/commonjs/index.js.map +1 -0
  189. package/dist/node_modules/jackspeak/dist/commonjs/package.json +3 -0
  190. package/dist/node_modules/jackspeak/dist/commonjs/parse-args-cjs.cjs.map +1 -0
  191. package/dist/node_modules/jackspeak/dist/commonjs/parse-args-cjs.d.cts.map +1 -0
  192. package/dist/node_modules/jackspeak/dist/commonjs/parse-args.js +50 -0
  193. package/dist/node_modules/jackspeak/dist/esm/index.d.ts.map +1 -0
  194. package/dist/node_modules/jackspeak/dist/esm/index.js +1000 -0
  195. package/dist/node_modules/jackspeak/dist/esm/index.js.map +1 -0
  196. package/dist/node_modules/jackspeak/dist/esm/package.json +3 -0
  197. package/dist/node_modules/jackspeak/dist/esm/parse-args.d.ts.map +1 -0
  198. package/dist/node_modules/jackspeak/dist/esm/parse-args.js +26 -0
  199. package/dist/node_modules/jackspeak/dist/esm/parse-args.js.map +1 -0
  200. package/dist/node_modules/jackspeak/package.json +95 -0
  201. package/dist/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  202. package/dist/node_modules/lru-cache/dist/commonjs/index.js +1546 -0
  203. package/dist/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  204. package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  205. package/dist/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  206. package/dist/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  207. package/dist/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  208. package/dist/node_modules/lru-cache/dist/esm/index.js +1542 -0
  209. package/dist/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  210. package/dist/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  211. package/dist/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  212. package/dist/node_modules/lru-cache/dist/esm/package.json +3 -0
  213. package/dist/node_modules/lru-cache/package.json +66 -46
  214. package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +28 -1
  215. package/dist/node_modules/make-fetch-happen/lib/options.js +2 -0
  216. package/dist/node_modules/make-fetch-happen/lib/remote.js +13 -3
  217. package/dist/node_modules/make-fetch-happen/package.json +19 -23
  218. package/dist/node_modules/minimatch/LICENSE +1 -1
  219. package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
  220. package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  221. package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
  222. package/dist/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
  223. package/dist/node_modules/minimatch/dist/commonjs/ast.js +592 -0
  224. package/dist/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
  225. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
  226. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
  227. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
  228. package/dist/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
  229. package/dist/node_modules/minimatch/dist/commonjs/escape.js +22 -0
  230. package/dist/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
  231. package/dist/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
  232. package/dist/node_modules/minimatch/dist/commonjs/index.js +1017 -0
  233. package/dist/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
  234. package/dist/node_modules/minimatch/dist/commonjs/package.json +3 -0
  235. package/dist/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
  236. package/dist/node_modules/minimatch/dist/commonjs/unescape.js +24 -0
  237. package/dist/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
  238. package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
  239. package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  240. package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
  241. package/dist/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
  242. package/dist/node_modules/minimatch/dist/esm/ast.js +588 -0
  243. package/dist/node_modules/minimatch/dist/esm/ast.js.map +1 -0
  244. package/dist/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
  245. package/dist/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
  246. package/dist/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
  247. package/dist/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
  248. package/dist/node_modules/minimatch/dist/esm/escape.js +18 -0
  249. package/dist/node_modules/minimatch/dist/esm/escape.js.map +1 -0
  250. package/dist/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
  251. package/dist/node_modules/minimatch/dist/esm/index.js +1001 -0
  252. package/dist/node_modules/minimatch/dist/esm/index.js.map +1 -0
  253. package/dist/node_modules/minimatch/dist/esm/package.json +3 -0
  254. package/dist/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
  255. package/dist/node_modules/minimatch/dist/esm/unescape.js +20 -0
  256. package/dist/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
  257. package/dist/node_modules/minimatch/package.json +62 -13
  258. package/dist/node_modules/minipass/LICENSE +1 -1
  259. package/dist/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  260. package/dist/node_modules/minipass/dist/commonjs/index.js +1028 -0
  261. package/dist/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  262. package/dist/node_modules/minipass/dist/commonjs/package.json +3 -0
  263. package/dist/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  264. package/dist/node_modules/minipass/dist/esm/index.js +1018 -0
  265. package/dist/node_modules/minipass/dist/esm/index.js.map +1 -0
  266. package/dist/node_modules/minipass/dist/esm/package.json +3 -0
  267. package/dist/node_modules/minipass/package.json +62 -36
  268. package/dist/node_modules/minipass-collect/LICENSE +1 -1
  269. package/dist/node_modules/minipass-collect/index.js +1 -1
  270. package/dist/node_modules/minipass-collect/package.json +7 -6
  271. package/dist/node_modules/minipass-fetch/lib/blob.js +1 -1
  272. package/dist/node_modules/minipass-fetch/lib/body.js +2 -2
  273. package/dist/node_modules/minipass-fetch/lib/index.js +16 -4
  274. package/dist/node_modules/minipass-fetch/lib/request.js +2 -1
  275. package/dist/node_modules/minipass-fetch/package.json +15 -13
  276. package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
  277. package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
  278. package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
  279. package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
  280. package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
  281. package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
  282. package/dist/node_modules/minipass-sized/node_modules/minipass/LICENSE +15 -0
  283. package/dist/node_modules/minipass-sized/node_modules/minipass/index.js +649 -0
  284. package/dist/node_modules/minipass-sized/node_modules/minipass/package.json +56 -0
  285. package/dist/node_modules/minizlib/node_modules/minipass/LICENSE +15 -0
  286. package/dist/node_modules/minizlib/node_modules/minipass/index.js +649 -0
  287. package/dist/node_modules/minizlib/node_modules/minipass/package.json +56 -0
  288. package/dist/node_modules/ms/index.js +1 -1
  289. package/dist/node_modules/ms/package.json +4 -5
  290. package/dist/node_modules/node-gyp/.release-please-manifest.json +3 -0
  291. package/dist/node_modules/node-gyp/bin/node-gyp.js +27 -29
  292. package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +3 -0
  293. package/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +4 -0
  294. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +12 -14
  295. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +1 -1
  296. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +3 -1
  297. package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +4 -2
  298. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +67 -17
  299. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +98 -5
  300. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +5 -1
  301. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +4 -0
  302. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +11 -15
  303. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +4 -4
  304. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +3 -6
  305. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +10 -3
  306. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +1 -4
  307. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +3 -4
  308. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +62 -31
  309. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +47 -52
  310. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +33 -5
  311. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +12 -0
  312. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +2 -5
  313. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +27 -42
  314. package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +12 -23
  315. package/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +4 -5
  316. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +20 -21
  317. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +53 -0
  318. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +21 -20
  319. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +3 -0
  320. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +177 -0
  321. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +23 -0
  322. package/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +15 -0
  323. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +108 -0
  324. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +252 -0
  325. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +83 -0
  326. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +359 -0
  327. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +61 -0
  328. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +192 -0
  329. package/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +252 -0
  330. package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +825 -0
  331. package/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
  332. package/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +90 -0
  333. package/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +1030 -0
  334. package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +553 -0
  335. package/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +172 -0
  336. package/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +563 -0
  337. package/dist/node_modules/node-gyp/gyp/pyproject.toml +84 -5
  338. package/dist/node_modules/node-gyp/gyp/release-please-config.json +11 -0
  339. package/dist/node_modules/node-gyp/lib/build.js +110 -96
  340. package/dist/node_modules/node-gyp/lib/clean.js +5 -5
  341. package/dist/node_modules/node-gyp/lib/configure.js +172 -204
  342. package/dist/node_modules/node-gyp/lib/create-config-gypi.js +14 -11
  343. package/dist/node_modules/node-gyp/lib/download.js +39 -0
  344. package/dist/node_modules/node-gyp/lib/find-node-directory.js +5 -5
  345. package/dist/node_modules/node-gyp/lib/find-python.js +128 -162
  346. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +260 -133
  347. package/dist/node_modules/node-gyp/lib/install.js +27 -70
  348. package/dist/node_modules/node-gyp/lib/list.js +14 -15
  349. package/dist/node_modules/node-gyp/lib/log.js +168 -0
  350. package/dist/node_modules/node-gyp/lib/node-gyp.js +147 -174
  351. package/dist/node_modules/node-gyp/lib/process-release.js +22 -23
  352. package/dist/node_modules/node-gyp/lib/rebuild.js +1 -2
  353. package/dist/node_modules/node-gyp/lib/remove.js +18 -21
  354. package/dist/node_modules/node-gyp/lib/util.js +62 -45
  355. package/dist/node_modules/{cacache/node_modules/glob → node-gyp/node_modules/isexe}/LICENSE +1 -1
  356. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/index.d.ts.map +1 -0
  357. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/index.js +46 -0
  358. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/index.js.map +1 -0
  359. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/options.d.ts.map +1 -0
  360. package/dist/node_modules/{@tootallnate/once/dist/types.js → node-gyp/node_modules/isexe/dist/cjs/options.js} +1 -1
  361. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/options.js.map +1 -0
  362. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/package.json +3 -0
  363. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/posix.d.ts.map +1 -0
  364. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/posix.js +67 -0
  365. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/posix.js.map +1 -0
  366. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/win32.d.ts.map +1 -0
  367. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/win32.js +62 -0
  368. package/dist/node_modules/node-gyp/node_modules/isexe/dist/cjs/win32.js.map +1 -0
  369. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/index.d.ts.map +1 -0
  370. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/index.js +16 -0
  371. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/index.js.map +1 -0
  372. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/options.d.ts.map +1 -0
  373. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/options.js +2 -0
  374. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/options.js.map +1 -0
  375. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/package.json +3 -0
  376. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/posix.d.ts.map +1 -0
  377. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/posix.js +62 -0
  378. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/posix.js.map +1 -0
  379. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/win32.d.ts.map +1 -0
  380. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/win32.js +57 -0
  381. package/dist/node_modules/node-gyp/node_modules/isexe/dist/mjs/win32.js.map +1 -0
  382. package/dist/node_modules/node-gyp/node_modules/isexe/package.json +96 -0
  383. package/dist/node_modules/node-gyp/node_modules/which/bin/which.js +52 -0
  384. package/dist/node_modules/node-gyp/node_modules/which/lib/index.js +111 -0
  385. package/dist/node_modules/node-gyp/node_modules/which/package.json +57 -0
  386. package/dist/node_modules/node-gyp/package.json +12 -12
  387. package/dist/node_modules/node-gyp/release-please-config.json +40 -0
  388. package/dist/node_modules/nopt/bin/nopt.js +7 -34
  389. package/dist/node_modules/nopt/lib/debug.js +5 -0
  390. package/dist/node_modules/nopt/lib/nopt-lib.js +479 -0
  391. package/dist/node_modules/nopt/lib/nopt.js +21 -506
  392. package/dist/node_modules/nopt/lib/type-defs.js +91 -0
  393. package/dist/node_modules/nopt/package.json +13 -15
  394. package/dist/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +1 -0
  395. package/dist/node_modules/package-json-from-dist/dist/commonjs/index.js +124 -0
  396. package/dist/node_modules/package-json-from-dist/dist/commonjs/index.js.map +1 -0
  397. package/dist/node_modules/package-json-from-dist/dist/commonjs/package.json +3 -0
  398. package/dist/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +1 -0
  399. package/dist/node_modules/package-json-from-dist/dist/esm/index.js +119 -0
  400. package/dist/node_modules/package-json-from-dist/dist/esm/index.js.map +1 -0
  401. package/dist/node_modules/package-json-from-dist/dist/esm/package.json +3 -0
  402. package/dist/node_modules/package-json-from-dist/package.json +68 -0
  403. package/dist/node_modules/path-key/index.js +16 -0
  404. package/dist/node_modules/path-key/license +9 -0
  405. package/dist/node_modules/path-key/package.json +39 -0
  406. package/dist/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
  407. package/dist/node_modules/path-scurry/dist/commonjs/index.js +2014 -0
  408. package/dist/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
  409. package/dist/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  410. package/dist/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
  411. package/dist/node_modules/path-scurry/dist/esm/index.js +1979 -0
  412. package/dist/node_modules/path-scurry/dist/esm/index.js.map +1 -0
  413. package/dist/node_modules/path-scurry/dist/esm/package.json +3 -0
  414. package/dist/node_modules/path-scurry/package.json +89 -0
  415. package/dist/node_modules/{inflight → proc-log}/LICENSE +1 -1
  416. package/dist/node_modules/proc-log/lib/index.js +153 -0
  417. package/dist/node_modules/proc-log/package.json +45 -0
  418. package/dist/node_modules/semver/bin/semver.js +5 -14
  419. package/dist/node_modules/semver/classes/range.js +4 -3
  420. package/dist/node_modules/semver/classes/semver.js +1 -1
  421. package/dist/node_modules/semver/functions/coerce.js +13 -5
  422. package/dist/node_modules/semver/internal/lrucache.js +40 -0
  423. package/dist/node_modules/semver/internal/re.js +7 -2
  424. package/dist/node_modules/semver/package.json +8 -18
  425. package/dist/node_modules/shebang-command/index.js +19 -0
  426. package/dist/node_modules/shebang-command/license +9 -0
  427. package/dist/node_modules/shebang-command/package.json +34 -0
  428. package/dist/node_modules/shebang-regex/index.js +2 -0
  429. package/dist/node_modules/shebang-regex/license +9 -0
  430. package/dist/node_modules/shebang-regex/package.json +35 -0
  431. package/dist/node_modules/signal-exit/LICENSE.txt +1 -1
  432. package/dist/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  433. package/dist/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  434. package/dist/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  435. package/dist/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  436. package/dist/node_modules/signal-exit/dist/cjs/index.js +279 -0
  437. package/dist/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  438. package/dist/node_modules/signal-exit/dist/cjs/package.json +3 -0
  439. package/dist/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  440. package/dist/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  441. package/dist/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  442. package/dist/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  443. package/dist/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  444. package/dist/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  445. package/dist/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  446. package/dist/node_modules/signal-exit/dist/mjs/index.js +275 -0
  447. package/dist/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  448. package/dist/node_modules/signal-exit/dist/mjs/package.json +3 -0
  449. package/dist/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  450. package/dist/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  451. package/dist/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  452. package/dist/node_modules/signal-exit/package.json +87 -19
  453. package/dist/node_modules/socks/build/common/helpers.js +5 -1
  454. package/dist/node_modules/socks/build/common/helpers.js.map +1 -1
  455. package/dist/node_modules/socks/package.json +1 -1
  456. package/dist/node_modules/socks-proxy-agent/LICENSE +22 -0
  457. package/dist/node_modules/socks-proxy-agent/dist/index.d.ts.map +1 -0
  458. package/dist/node_modules/socks-proxy-agent/dist/index.js +134 -146
  459. package/dist/node_modules/socks-proxy-agent/dist/index.js.map +1 -1
  460. package/dist/node_modules/socks-proxy-agent/package.json +33 -72
  461. package/dist/node_modules/ssri/lib/index.js +158 -102
  462. package/dist/node_modules/ssri/package.json +14 -12
  463. package/dist/node_modules/string-width/index.js +26 -19
  464. package/dist/node_modules/string-width/license +1 -1
  465. package/dist/node_modules/string-width/package.json +12 -9
  466. package/dist/node_modules/string-width-cjs/index.js +47 -0
  467. package/dist/node_modules/string-width-cjs/license +9 -0
  468. package/dist/node_modules/string-width-cjs/node_modules/ansi-regex/index.js +10 -0
  469. package/dist/node_modules/string-width-cjs/node_modules/ansi-regex/license +9 -0
  470. package/dist/node_modules/string-width-cjs/node_modules/ansi-regex/package.json +55 -0
  471. package/dist/node_modules/{delegates/License → string-width-cjs/node_modules/emoji-regex/LICENSE-MIT.txt} +1 -1
  472. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/index.js +6 -0
  473. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/text.js +6 -0
  474. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/index.js +6 -0
  475. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/package.json +50 -0
  476. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/text.js +6 -0
  477. package/dist/node_modules/string-width-cjs/node_modules/strip-ansi/index.js +4 -0
  478. package/dist/node_modules/string-width-cjs/node_modules/strip-ansi/license +9 -0
  479. package/dist/node_modules/string-width-cjs/node_modules/strip-ansi/package.json +54 -0
  480. package/dist/node_modules/string-width-cjs/package.json +56 -0
  481. package/dist/node_modules/strip-ansi/index.js +13 -3
  482. package/dist/node_modules/strip-ansi/license +1 -1
  483. package/dist/node_modules/strip-ansi/package.json +10 -7
  484. package/dist/node_modules/strip-ansi-cjs/index.js +4 -0
  485. package/dist/node_modules/strip-ansi-cjs/license +9 -0
  486. package/dist/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
  487. package/dist/node_modules/strip-ansi-cjs/node_modules/ansi-regex/license +9 -0
  488. package/dist/node_modules/strip-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
  489. package/dist/node_modules/strip-ansi-cjs/package.json +54 -0
  490. package/dist/node_modules/unique-filename/package.json +12 -9
  491. package/dist/node_modules/unique-slug/package.json +10 -7
  492. package/dist/node_modules/wrap-ansi/index.js +214 -0
  493. package/dist/node_modules/wrap-ansi/license +9 -0
  494. package/dist/node_modules/wrap-ansi/package.json +69 -0
  495. package/dist/node_modules/wrap-ansi-cjs/index.js +216 -0
  496. package/dist/node_modules/wrap-ansi-cjs/license +9 -0
  497. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
  498. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/license +9 -0
  499. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
  500. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/index.js +163 -0
  501. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/license +9 -0
  502. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/package.json +56 -0
  503. package/dist/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  504. package/dist/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/es2015/index.js +6 -0
  505. package/dist/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/es2015/text.js +6 -0
  506. package/dist/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/index.js +6 -0
  507. package/dist/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/package.json +50 -0
  508. package/dist/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/text.js +6 -0
  509. package/dist/node_modules/wrap-ansi-cjs/node_modules/string-width/index.js +47 -0
  510. package/dist/node_modules/wrap-ansi-cjs/node_modules/string-width/license +9 -0
  511. package/dist/node_modules/wrap-ansi-cjs/node_modules/string-width/package.json +56 -0
  512. package/dist/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.js +4 -0
  513. package/dist/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/license +9 -0
  514. package/dist/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/package.json +54 -0
  515. package/dist/node_modules/wrap-ansi-cjs/package.json +62 -0
  516. package/dist/pnpm.cjs +161888 -155937
  517. package/dist/pnpmrc +0 -7
  518. package/dist/{scripts/bash.sh → templates/completion.bash} +2 -1
  519. package/dist/{scripts/fish.sh → templates/completion.fish} +1 -1
  520. package/dist/templates/completion.ps1 +193 -0
  521. package/dist/templates/completion.zsh +27 -0
  522. package/dist/worker.js +5462 -9749
  523. package/package.json +140 -6
  524. package/dist/node_modules/@gar/promisify/index.js +0 -36
  525. package/dist/node_modules/@gar/promisify/package.json +0 -32
  526. package/dist/node_modules/@npmcli/fs/lib/common/owner-sync.js +0 -96
  527. package/dist/node_modules/@npmcli/fs/lib/common/owner.js +0 -96
  528. package/dist/node_modules/@npmcli/fs/lib/copy-file.js +0 -16
  529. package/dist/node_modules/@npmcli/fs/lib/fs.js +0 -14
  530. package/dist/node_modules/@npmcli/fs/lib/mkdir.js +0 -19
  531. package/dist/node_modules/@npmcli/fs/lib/mkdtemp.js +0 -23
  532. package/dist/node_modules/@npmcli/fs/lib/rm/index.js +0 -22
  533. package/dist/node_modules/@npmcli/fs/lib/rm/polyfill.js +0 -239
  534. package/dist/node_modules/@npmcli/fs/lib/with-owner-sync.js +0 -21
  535. package/dist/node_modules/@npmcli/fs/lib/with-owner.js +0 -21
  536. package/dist/node_modules/@npmcli/fs/lib/write-file.js +0 -14
  537. package/dist/node_modules/@npmcli/move-file/lib/index.js +0 -185
  538. package/dist/node_modules/@npmcli/move-file/package.json +0 -47
  539. package/dist/node_modules/@tootallnate/once/LICENSE +0 -21
  540. package/dist/node_modules/@tootallnate/once/dist/index.js +0 -24
  541. package/dist/node_modules/@tootallnate/once/dist/index.js.map +0 -1
  542. package/dist/node_modules/@tootallnate/once/dist/overloaded-parameters.js +0 -3
  543. package/dist/node_modules/@tootallnate/once/dist/overloaded-parameters.js.map +0 -1
  544. package/dist/node_modules/@tootallnate/once/dist/types.js.map +0 -1
  545. package/dist/node_modules/@tootallnate/once/package.json +0 -52
  546. package/dist/node_modules/abbrev/abbrev.js +0 -61
  547. package/dist/node_modules/agent-base/dist/src/index.js +0 -203
  548. package/dist/node_modules/agent-base/dist/src/index.js.map +0 -1
  549. package/dist/node_modules/agent-base/dist/src/promisify.js +0 -18
  550. package/dist/node_modules/agent-base/dist/src/promisify.js.map +0 -1
  551. package/dist/node_modules/agentkeepalive/browser.js +0 -5
  552. package/dist/node_modules/agentkeepalive/index.js +0 -5
  553. package/dist/node_modules/agentkeepalive/lib/agent.js +0 -402
  554. package/dist/node_modules/agentkeepalive/lib/constants.js +0 -14
  555. package/dist/node_modules/agentkeepalive/lib/https_agent.js +0 -51
  556. package/dist/node_modules/agentkeepalive/package.json +0 -56
  557. package/dist/node_modules/aproba/LICENSE +0 -14
  558. package/dist/node_modules/aproba/index.js +0 -105
  559. package/dist/node_modules/aproba/package.json +0 -35
  560. package/dist/node_modules/are-we-there-yet/lib/index.js +0 -4
  561. package/dist/node_modules/are-we-there-yet/lib/tracker-base.js +0 -11
  562. package/dist/node_modules/are-we-there-yet/lib/tracker-group.js +0 -116
  563. package/dist/node_modules/are-we-there-yet/lib/tracker-stream.js +0 -36
  564. package/dist/node_modules/are-we-there-yet/lib/tracker.js +0 -32
  565. package/dist/node_modules/are-we-there-yet/package.json +0 -56
  566. package/dist/node_modules/cacache/lib/util/fix-owner.js +0 -145
  567. package/dist/node_modules/cacache/lib/util/move-file.js +0 -56
  568. package/dist/node_modules/cacache/node_modules/brace-expansion/LICENSE +0 -21
  569. package/dist/node_modules/cacache/node_modules/brace-expansion/index.js +0 -203
  570. package/dist/node_modules/cacache/node_modules/brace-expansion/package.json +0 -46
  571. package/dist/node_modules/cacache/node_modules/glob/common.js +0 -244
  572. package/dist/node_modules/cacache/node_modules/glob/glob.js +0 -790
  573. package/dist/node_modules/cacache/node_modules/glob/package.json +0 -55
  574. package/dist/node_modules/cacache/node_modules/glob/sync.js +0 -486
  575. package/dist/node_modules/cacache/node_modules/minimatch/lib/path.js +0 -4
  576. package/dist/node_modules/cacache/node_modules/minimatch/minimatch.js +0 -944
  577. package/dist/node_modules/cacache/node_modules/minimatch/package.json +0 -35
  578. package/dist/node_modules/color-support/bin.js +0 -3
  579. package/dist/node_modules/color-support/browser.js +0 -14
  580. package/dist/node_modules/color-support/index.js +0 -134
  581. package/dist/node_modules/color-support/package.json +0 -36
  582. package/dist/node_modules/concat-map/LICENSE +0 -18
  583. package/dist/node_modules/concat-map/README.markdown +0 -62
  584. package/dist/node_modules/concat-map/index.js +0 -13
  585. package/dist/node_modules/concat-map/package.json +0 -43
  586. package/dist/node_modules/console-control-strings/LICENSE +0 -13
  587. package/dist/node_modules/console-control-strings/README.md~ +0 -140
  588. package/dist/node_modules/console-control-strings/index.js +0 -125
  589. package/dist/node_modules/console-control-strings/package.json +0 -27
  590. package/dist/node_modules/debug/node_modules/ms/index.js +0 -162
  591. package/dist/node_modules/debug/node_modules/ms/package.json +0 -37
  592. package/dist/node_modules/delegates/index.js +0 -121
  593. package/dist/node_modules/delegates/package.json +0 -13
  594. package/dist/node_modules/fs.realpath/LICENSE +0 -43
  595. package/dist/node_modules/fs.realpath/index.js +0 -66
  596. package/dist/node_modules/fs.realpath/old.js +0 -303
  597. package/dist/node_modules/fs.realpath/package.json +0 -26
  598. package/dist/node_modules/gauge/lib/base-theme.js +0 -18
  599. package/dist/node_modules/gauge/lib/error.js +0 -24
  600. package/dist/node_modules/gauge/lib/has-color.js +0 -4
  601. package/dist/node_modules/gauge/lib/index.js +0 -289
  602. package/dist/node_modules/gauge/lib/plumbing.js +0 -50
  603. package/dist/node_modules/gauge/lib/process.js +0 -3
  604. package/dist/node_modules/gauge/lib/progress-bar.js +0 -41
  605. package/dist/node_modules/gauge/lib/render-template.js +0 -222
  606. package/dist/node_modules/gauge/lib/set-immediate.js +0 -7
  607. package/dist/node_modules/gauge/lib/set-interval.js +0 -3
  608. package/dist/node_modules/gauge/lib/spin.js +0 -5
  609. package/dist/node_modules/gauge/lib/template-item.js +0 -87
  610. package/dist/node_modules/gauge/lib/theme-set.js +0 -122
  611. package/dist/node_modules/gauge/lib/themes.js +0 -56
  612. package/dist/node_modules/gauge/lib/wide-truncate.js +0 -31
  613. package/dist/node_modules/gauge/package.json +0 -66
  614. package/dist/node_modules/glob/common.js +0 -238
  615. package/dist/node_modules/glob/glob.js +0 -790
  616. package/dist/node_modules/glob/sync.js +0 -486
  617. package/dist/node_modules/has-unicode/LICENSE +0 -14
  618. package/dist/node_modules/has-unicode/index.js +0 -16
  619. package/dist/node_modules/has-unicode/package.json +0 -30
  620. package/dist/node_modules/http-proxy-agent/dist/agent.js +0 -145
  621. package/dist/node_modules/http-proxy-agent/dist/agent.js.map +0 -1
  622. package/dist/node_modules/https-proxy-agent/dist/agent.js +0 -177
  623. package/dist/node_modules/https-proxy-agent/dist/agent.js.map +0 -1
  624. package/dist/node_modules/humanize-ms/LICENSE +0 -17
  625. package/dist/node_modules/humanize-ms/index.js +0 -24
  626. package/dist/node_modules/humanize-ms/package.json +0 -37
  627. package/dist/node_modules/infer-owner/index.js +0 -71
  628. package/dist/node_modules/infer-owner/package.json +0 -26
  629. package/dist/node_modules/inflight/inflight.js +0 -54
  630. package/dist/node_modules/inflight/package.json +0 -29
  631. package/dist/node_modules/inherits/LICENSE +0 -16
  632. package/dist/node_modules/inherits/inherits.js +0 -9
  633. package/dist/node_modules/inherits/inherits_browser.js +0 -27
  634. package/dist/node_modules/inherits/package.json +0 -29
  635. package/dist/node_modules/lru-cache/index.js +0 -1227
  636. package/dist/node_modules/lru-cache/index.mjs +0 -1227
  637. package/dist/node_modules/make-fetch-happen/lib/agent.js +0 -214
  638. package/dist/node_modules/make-fetch-happen/lib/dns.js +0 -49
  639. package/dist/node_modules/minimatch/minimatch.js +0 -947
  640. package/dist/node_modules/node-gyp/.github/workflows/release-please-v9.yml +0 -57
  641. package/dist/node_modules/node-gyp/.github/workflows/release-please.yml +0 -56
  642. package/dist/node_modules/node-gyp/.github/workflows/tests.yml +0 -59
  643. package/dist/node_modules/node-gyp/.github/workflows/visual-studio.yml +0 -37
  644. package/dist/node_modules/node-gyp/gyp/.flake8 +0 -4
  645. package/dist/node_modules/node-gyp/gyp/.github/workflows/Python_tests.yml +0 -36
  646. package/dist/node_modules/node-gyp/gyp/.github/workflows/node-gyp.yml +0 -45
  647. package/dist/node_modules/node-gyp/gyp/.github/workflows/nodejs-windows.yml +0 -32
  648. package/dist/node_modules/node-gyp/gyp/.github/workflows/release-please.yml +0 -16
  649. package/dist/node_modules/node-gyp/gyp/tools/README +0 -15
  650. package/dist/node_modules/node-gyp/gyp/tools/Xcode/README +0 -5
  651. package/dist/node_modules/node-gyp/gyp/tools/Xcode/Specifications/gyp.pbfilespec +0 -27
  652. package/dist/node_modules/node-gyp/gyp/tools/Xcode/Specifications/gyp.xclangspec +0 -226
  653. package/dist/node_modules/node-gyp/gyp/tools/emacs/README +0 -12
  654. package/dist/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el +0 -63
  655. package/dist/node_modules/node-gyp/gyp/tools/emacs/gyp.el +0 -275
  656. package/dist/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh +0 -7
  657. package/dist/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp +0 -1105
  658. package/dist/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp.fontified +0 -1107
  659. package/dist/node_modules/node-gyp/gyp/tools/graphviz.py +0 -102
  660. package/dist/node_modules/node-gyp/gyp/tools/pretty_gyp.py +0 -156
  661. package/dist/node_modules/node-gyp/gyp/tools/pretty_sln.py +0 -181
  662. package/dist/node_modules/node-gyp/gyp/tools/pretty_vcproj.py +0 -339
  663. package/dist/node_modules/node-gyp/update-gyp.py +0 -64
  664. package/dist/node_modules/npmlog/lib/log.js +0 -404
  665. package/dist/node_modules/npmlog/package.json +0 -51
  666. package/dist/node_modules/once/once.js +0 -42
  667. package/dist/node_modules/once/package.json +0 -33
  668. package/dist/node_modules/path-is-absolute/index.js +0 -20
  669. package/dist/node_modules/path-is-absolute/license +0 -21
  670. package/dist/node_modules/path-is-absolute/package.json +0 -43
  671. package/dist/node_modules/promise-inflight/LICENSE +0 -14
  672. package/dist/node_modules/promise-inflight/inflight.js +0 -36
  673. package/dist/node_modules/promise-inflight/package.json +0 -24
  674. package/dist/node_modules/readable-stream/LICENSE +0 -47
  675. package/dist/node_modules/readable-stream/errors-browser.js +0 -127
  676. package/dist/node_modules/readable-stream/errors.js +0 -116
  677. package/dist/node_modules/readable-stream/experimentalWarning.js +0 -17
  678. package/dist/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  679. package/dist/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  680. package/dist/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  681. package/dist/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  682. package/dist/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  683. package/dist/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  684. package/dist/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  685. package/dist/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  686. package/dist/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  687. package/dist/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  688. package/dist/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  689. package/dist/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  690. package/dist/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  691. package/dist/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  692. package/dist/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  693. package/dist/node_modules/readable-stream/package.json +0 -68
  694. package/dist/node_modules/readable-stream/readable-browser.js +0 -9
  695. package/dist/node_modules/readable-stream/readable.js +0 -16
  696. package/dist/node_modules/rimraf/LICENSE +0 -15
  697. package/dist/node_modules/rimraf/bin.js +0 -68
  698. package/dist/node_modules/rimraf/package.json +0 -32
  699. package/dist/node_modules/rimraf/rimraf.js +0 -360
  700. package/dist/node_modules/safe-buffer/index.js +0 -65
  701. package/dist/node_modules/safe-buffer/package.json +0 -51
  702. package/dist/node_modules/semver/node_modules/lru-cache/LICENSE +0 -15
  703. package/dist/node_modules/semver/node_modules/lru-cache/index.js +0 -334
  704. package/dist/node_modules/semver/node_modules/lru-cache/package.json +0 -34
  705. package/dist/node_modules/set-blocking/index.js +0 -7
  706. package/dist/node_modules/set-blocking/package.json +0 -42
  707. package/dist/node_modules/signal-exit/index.js +0 -202
  708. package/dist/node_modules/signal-exit/signals.js +0 -53
  709. package/dist/node_modules/string_decoder/LICENSE +0 -48
  710. package/dist/node_modules/string_decoder/lib/string_decoder.js +0 -296
  711. package/dist/node_modules/string_decoder/package.json +0 -34
  712. package/dist/node_modules/util-deprecate/LICENSE +0 -24
  713. package/dist/node_modules/util-deprecate/browser.js +0 -67
  714. package/dist/node_modules/util-deprecate/node.js +0 -6
  715. package/dist/node_modules/util-deprecate/package.json +0 -27
  716. package/dist/node_modules/wide-align/LICENSE +0 -14
  717. package/dist/node_modules/wide-align/align.js +0 -65
  718. package/dist/node_modules/wide-align/package.json +0 -33
  719. package/dist/node_modules/wrappy/LICENSE +0 -15
  720. package/dist/node_modules/wrappy/package.json +0 -29
  721. package/dist/node_modules/wrappy/wrappy.js +0 -33
  722. package/dist/scripts/zsh.sh +0 -18
  723. /package/dist/node_modules/@npmcli/fs/lib/{errors.js → cp/errors.js} +0 -0
  724. /package/dist/node_modules/{cacache/node_modules/brace-expansion → brace-expansion}/.github/FUNDING.yml +0 -0
  725. /package/dist/node_modules/{color-support → cacache/node_modules/fs-minipass}/LICENSE +0 -0
  726. /package/dist/node_modules/{minipass → fs-minipass/node_modules/minipass}/index.js +0 -0
  727. /package/dist/node_modules/{once → node-gyp/node_modules/which}/LICENSE +0 -0
@@ -1,39 +1,32 @@
1
1
  'use strict'
2
2
 
3
- const log = require('npmlog')
4
- const execFile = require('child_process').execFile
5
- const fs = require('fs')
6
- const path = require('path').win32
7
- const logWithPrefix = require('./util').logWithPrefix
8
- const regSearchKeys = require('./util').regSearchKeys
9
-
10
- function findVisualStudio (nodeSemver, configMsvsVersion, callback) {
11
- const finder = new VisualStudioFinder(nodeSemver, configMsvsVersion,
12
- callback)
13
- finder.findVisualStudio()
14
- }
3
+ const log = require('./log')
4
+ const { existsSync } = require('fs')
5
+ const { win32: path } = require('path')
6
+ const { regSearchKeys, execFile } = require('./util')
15
7
 
16
- function VisualStudioFinder (nodeSemver, configMsvsVersion, callback) {
17
- this.nodeSemver = nodeSemver
18
- this.configMsvsVersion = configMsvsVersion
19
- this.callback = callback
20
- this.errorLog = []
21
- this.validVersions = []
22
- }
8
+ class VisualStudioFinder {
9
+ static findVisualStudio = (...args) => new VisualStudioFinder(...args).findVisualStudio()
23
10
 
24
- VisualStudioFinder.prototype = {
25
- log: logWithPrefix(log, 'find VS'),
11
+ log = log.withPrefix('find VS')
26
12
 
27
- regSearchKeys: regSearchKeys,
13
+ regSearchKeys = regSearchKeys
14
+
15
+ constructor (nodeSemver, configMsvsVersion) {
16
+ this.nodeSemver = nodeSemver
17
+ this.configMsvsVersion = configMsvsVersion
18
+ this.errorLog = []
19
+ this.validVersions = []
20
+ }
28
21
 
29
22
  // Logs a message at verbose level, but also saves it to be displayed later
30
23
  // at error level if an error occurs. This should help diagnose the problem.
31
- addLog: function addLog (message) {
24
+ addLog (message) {
32
25
  this.log.verbose(message)
33
26
  this.errorLog.push(message)
34
- },
27
+ }
35
28
 
36
- findVisualStudio: function findVisualStudio () {
29
+ async findVisualStudio () {
37
30
  this.configVersionYear = null
38
31
  this.configPath = null
39
32
  if (this.configMsvsVersion) {
@@ -60,32 +53,35 @@ VisualStudioFinder.prototype = {
60
53
  this.addLog('VCINSTALLDIR not set, not running in VS Command Prompt')
61
54
  }
62
55
 
63
- this.findVisualStudio2017OrNewer((info) => {
56
+ const checks = [
57
+ () => this.findVisualStudio2019OrNewerFromSpecifiedLocation(),
58
+ () => this.findVisualStudio2019OrNewerUsingSetupModule(),
59
+ () => this.findVisualStudio2019OrNewer(),
60
+ () => this.findVisualStudio2017FromSpecifiedLocation(),
61
+ () => this.findVisualStudio2017UsingSetupModule(),
62
+ () => this.findVisualStudio2017(),
63
+ () => this.findVisualStudio2015(),
64
+ () => this.findVisualStudio2013()
65
+ ]
66
+
67
+ for (const check of checks) {
68
+ const info = await check()
64
69
  if (info) {
65
70
  return this.succeed(info)
66
71
  }
67
- this.findVisualStudio2015((info) => {
68
- if (info) {
69
- return this.succeed(info)
70
- }
71
- this.findVisualStudio2013((info) => {
72
- if (info) {
73
- return this.succeed(info)
74
- }
75
- this.fail()
76
- })
77
- })
78
- })
79
- },
72
+ }
80
73
 
81
- succeed: function succeed (info) {
74
+ return this.fail()
75
+ }
76
+
77
+ succeed (info) {
82
78
  this.log.info(`using VS${info.versionYear} (${info.version}) found at:` +
83
79
  `\n"${info.path}"` +
84
80
  '\nrun with --verbose for detailed information')
85
- process.nextTick(this.callback.bind(null, null, info))
86
- },
81
+ return info
82
+ }
87
83
 
88
- fail: function fail () {
84
+ fail () {
89
85
  if (this.configMsvsVersion && this.envVcInstallDir) {
90
86
  this.errorLog.push(
91
87
  'msvs_version does not match this VS Command Prompt or the',
@@ -119,17 +115,133 @@ VisualStudioFinder.prototype = {
119
115
  ].join('\n')
120
116
 
121
117
  this.log.error(`\n${errorLog}\n\n${infoLog}\n`)
122
- process.nextTick(this.callback.bind(null, new Error(
123
- 'Could not find any Visual Studio installation to use')))
124
- },
118
+ throw new Error('Could not find any Visual Studio installation to use')
119
+ }
120
+
121
+ async findVisualStudio2019OrNewerFromSpecifiedLocation () {
122
+ return this.findVSFromSpecifiedLocation([2019, 2022])
123
+ }
124
+
125
+ async findVisualStudio2017FromSpecifiedLocation () {
126
+ if (this.nodeSemver.major >= 22) {
127
+ this.addLog(
128
+ 'not looking for VS2017 as it is only supported up to Node.js 21')
129
+ return null
130
+ }
131
+ return this.findVSFromSpecifiedLocation([2017])
132
+ }
133
+
134
+ async findVSFromSpecifiedLocation (supportedYears) {
135
+ if (!this.envVcInstallDir) {
136
+ return null
137
+ }
138
+ const info = {
139
+ path: path.resolve(this.envVcInstallDir),
140
+ // Assume the version specified by the user is correct.
141
+ // Since Visual Studio 2015, the Developer Command Prompt sets the
142
+ // VSCMD_VER environment variable which contains the version information
143
+ // for Visual Studio.
144
+ // https://learn.microsoft.com/en-us/visualstudio/ide/reference/command-prompt-powershell?view=vs-2022
145
+ version: process.env.VSCMD_VER,
146
+ packages: [
147
+ 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64',
148
+ // Assume MSBuild exists. It will be checked in processing.
149
+ 'Microsoft.VisualStudio.VC.MSBuild.Base'
150
+ ]
151
+ }
152
+
153
+ // Is there a better way to get SDK information?
154
+ const envWindowsSDKVersion = process.env.WindowsSDKVersion
155
+ const sdkVersionMatched = envWindowsSDKVersion?.match(/^(\d+)\.(\d+)\.(\d+)\..*/)
156
+ if (sdkVersionMatched) {
157
+ info.packages.push(`Microsoft.VisualStudio.Component.Windows10SDK.${sdkVersionMatched[3]}.Desktop`)
158
+ }
159
+ // pass for further processing
160
+ return this.processData([info], supportedYears)
161
+ }
162
+
163
+ async findVisualStudio2019OrNewerUsingSetupModule () {
164
+ return this.findNewVSUsingSetupModule([2019, 2022])
165
+ }
166
+
167
+ async findVisualStudio2017UsingSetupModule () {
168
+ if (this.nodeSemver.major >= 22) {
169
+ this.addLog(
170
+ 'not looking for VS2017 as it is only supported up to Node.js 21')
171
+ return null
172
+ }
173
+ return this.findNewVSUsingSetupModule([2017])
174
+ }
175
+
176
+ async findNewVSUsingSetupModule (supportedYears) {
177
+ const ps = path.join(process.env.SystemRoot, 'System32',
178
+ 'WindowsPowerShell', 'v1.0', 'powershell.exe')
179
+ const vcInstallDir = this.envVcInstallDir
180
+
181
+ const checkModuleArgs = [
182
+ '-NoProfile',
183
+ '-Command',
184
+ '&{@(Get-Module -ListAvailable -Name VSSetup).Version.ToString()}'
185
+ ]
186
+ this.log.silly('Running', ps, checkModuleArgs)
187
+ const [cErr] = await this.execFile(ps, checkModuleArgs)
188
+ if (cErr) {
189
+ this.addLog('VSSetup module doesn\'t seem to exist. You can install it via: "Install-Module VSSetup -Scope CurrentUser"')
190
+ this.log.silly('VSSetup error = %j', cErr && (cErr.stack || cErr))
191
+ return null
192
+ }
193
+ const filterArg = vcInstallDir !== undefined ? `| where {$_.InstallationPath -eq '${vcInstallDir}' }` : ''
194
+ const psArgs = [
195
+ '-NoProfile',
196
+ '-Command',
197
+ `&{Get-VSSetupInstance ${filterArg} | ConvertTo-Json -Depth 3}`
198
+ ]
199
+
200
+ this.log.silly('Running', ps, psArgs)
201
+ const [err, stdout, stderr] = await this.execFile(ps, psArgs)
202
+ let parsedData = this.parseData(err, stdout, stderr)
203
+ if (parsedData === null) {
204
+ return null
205
+ }
206
+ this.log.silly('Parsed data', parsedData)
207
+ if (!Array.isArray(parsedData)) {
208
+ // if there are only 1 result, then Powershell will output non-array
209
+ parsedData = [parsedData]
210
+ }
211
+ // normalize output
212
+ parsedData = parsedData.map((info) => {
213
+ info.path = info.InstallationPath
214
+ info.version = `${info.InstallationVersion.Major}.${info.InstallationVersion.Minor}.${info.InstallationVersion.Build}.${info.InstallationVersion.Revision}`
215
+ info.packages = info.Packages.map((p) => p.Id)
216
+ return info
217
+ })
218
+ // pass for further processing
219
+ return this.processData(parsedData, supportedYears)
220
+ }
221
+
222
+ // Invoke the PowerShell script to get information about Visual Studio 2019
223
+ // or newer installations
224
+ async findVisualStudio2019OrNewer () {
225
+ return this.findNewVS([2019, 2022])
226
+ }
227
+
228
+ // Invoke the PowerShell script to get information about Visual Studio 2017
229
+ async findVisualStudio2017 () {
230
+ if (this.nodeSemver.major >= 22) {
231
+ this.addLog(
232
+ 'not looking for VS2017 as it is only supported up to Node.js 21')
233
+ return null
234
+ }
235
+ return this.findNewVS([2017])
236
+ }
125
237
 
126
238
  // Invoke the PowerShell script to get information about Visual Studio 2017
127
239
  // or newer installations
128
- findVisualStudio2017OrNewer: function findVisualStudio2017OrNewer (cb) {
129
- var ps = path.join(process.env.SystemRoot, 'System32',
240
+ async findNewVS (supportedYears) {
241
+ const ps = path.join(process.env.SystemRoot, 'System32',
130
242
  'WindowsPowerShell', 'v1.0', 'powershell.exe')
131
- var csFile = path.join(__dirname, 'Find-VisualStudio.cs')
132
- var psArgs = [
243
+ const csFile = path.join(__dirname, 'Find-VisualStudio.cs')
244
+ const psArgs = [
133
245
  '-ExecutionPolicy',
134
246
  'Unrestricted',
135
247
  '-NoProfile',
@@ -138,30 +250,38 @@ VisualStudioFinder.prototype = {
138
250
  ]
139
251
 
140
252
  this.log.silly('Running', ps, psArgs)
141
- var child = execFile(ps, psArgs, { encoding: 'utf8' },
142
- (err, stdout, stderr) => {
143
- this.parseData(err, stdout, stderr, cb)
144
- })
145
- child.stdin.end()
146
- },
147
-
148
- // Parse the output of the PowerShell script and look for an installation
149
- // of Visual Studio 2017 or newer to use
150
- parseData: function parseData (err, stdout, stderr, cb) {
253
+ const [err, stdout, stderr] = await this.execFile(ps, psArgs)
254
+ const parsedData = this.parseData(err, stdout, stderr, { checkIsArray: true })
255
+ if (parsedData === null) {
256
+ return null
257
+ }
258
+ return this.processData(parsedData, supportedYears)
259
+ }
260
+
261
+ // Parse the output of the PowerShell script, make sanity checks
262
+ parseData (err, stdout, stderr, sanityCheckOptions) {
263
+ const defaultOptions = {
264
+ checkIsArray: false
265
+ }
266
+
267
+ // Merging provided options with the default options
268
+ const sanityOptions = { ...defaultOptions, ...sanityCheckOptions }
269
+
151
270
  this.log.silly('PS stderr = %j', stderr)
152
271
 
153
- const failPowershell = () => {
272
+ const failPowershell = (failureDetails) => {
154
273
  this.addLog(
155
- 'could not use PowerShell to find Visual Studio 2017 or newer, try re-running with \'--loglevel silly\' for more details')
156
- cb(null)
274
+ `could not use PowerShell to find Visual Studio 2017 or newer, try re-running with '--loglevel silly' for more details. \n
275
+ Failure details: ${failureDetails}`)
276
+ return null
157
277
  }
158
278
 
159
279
  if (err) {
160
280
  this.log.silly('PS err = %j', err && (err.stack || err))
161
- return failPowershell()
281
+ return failPowershell(`${err}`.substring(0, 40))
162
282
  }
163
283
 
164
- var vsInfo
284
+ let vsInfo
165
285
  try {
166
286
  vsInfo = JSON.parse(stdout)
167
287
  } catch (e) {
@@ -170,15 +290,20 @@ VisualStudioFinder.prototype = {
170
290
  return failPowershell()
171
291
  }
172
292
 
173
- if (!Array.isArray(vsInfo)) {
293
+ if (sanityOptions.checkIsArray && !Array.isArray(vsInfo)) {
174
294
  this.log.silly('PS stdout = %j', stdout)
175
- return failPowershell()
295
+ return failPowershell('Expected array as output of the PS script')
176
296
  }
297
+ return vsInfo
298
+ }
177
299
 
300
+ // Process parsed data containing information about VS installations
301
+ // Look for the required parts, extract and output them back
302
+ processData (vsInfo, supportedYears) {
178
303
  vsInfo = vsInfo.map((info) => {
179
304
  this.log.silly(`processing installation: "${info.path}"`)
180
305
  info.path = path.resolve(info.path)
181
- var ret = this.getVersionInfo(info)
306
+ const ret = this.getVersionInfo(info)
182
307
  ret.path = info.path
183
308
  ret.msBuild = this.getMSBuild(info, ret.versionYear)
184
309
  ret.toolset = this.getToolset(info, ret.versionYear)
@@ -188,18 +313,19 @@ VisualStudioFinder.prototype = {
188
313
  this.log.silly('vsInfo:', vsInfo)
189
314
 
190
315
  // Remove future versions or errors parsing version number
316
+ // Also remove any unsupported versions
191
317
  vsInfo = vsInfo.filter((info) => {
192
- if (info.versionYear) {
318
+ if (info.versionYear && supportedYears.indexOf(info.versionYear) !== -1) {
193
319
  return true
194
320
  }
195
- this.addLog(`unknown version "${info.version}" found at "${info.path}"`)
321
+ this.addLog(`${info.versionYear ? 'unsupported' : 'unknown'} version "${info.version}" found at "${info.path}"`)
196
322
  return false
197
323
  })
198
324
 
199
325
  // Sort to place newer versions first
200
326
  vsInfo.sort((a, b) => b.versionYear - a.versionYear)
201
327
 
202
- for (var i = 0; i < vsInfo.length; ++i) {
328
+ for (let i = 0; i < vsInfo.length; ++i) {
203
329
  const info = vsInfo[i]
204
330
  this.addLog(`checking VS${info.versionYear} (${info.version}) found ` +
205
331
  `at:\n"${info.path}"`)
@@ -229,23 +355,23 @@ VisualStudioFinder.prototype = {
229
355
  continue
230
356
  }
231
357
 
232
- return cb(info)
358
+ return info
233
359
  }
234
360
 
235
361
  this.addLog(
236
362
  'could not find a version of Visual Studio 2017 or newer to use')
237
- cb(null)
238
- },
363
+ return null
364
+ }
239
365
 
240
366
  // Helper - process version information
241
- getVersionInfo: function getVersionInfo (info) {
242
- const match = /^(\d+)\.(\d+)\..*/.exec(info.version)
367
+ getVersionInfo (info) {
368
+ const match = /^(\d+)\.(\d+)(?:\..*)?/.exec(info.version)
243
369
  if (!match) {
244
370
  this.log.silly('- failed to parse version:', info.version)
245
371
  return {}
246
372
  }
247
373
  this.log.silly('- version match = %j', match)
248
- var ret = {
374
+ const ret = {
249
375
  version: info.version,
250
376
  versionMajor: parseInt(match[1], 10),
251
377
  versionMinor: parseInt(match[2], 10)
@@ -264,14 +390,14 @@ VisualStudioFinder.prototype = {
264
390
  }
265
391
  this.log.silly('- unsupported version:', ret.versionMajor)
266
392
  return {}
267
- },
393
+ }
268
394
 
269
- msBuildPathExists: function msBuildPathExists (path) {
270
- return fs.existsSync(path)
271
- },
395
+ msBuildPathExists (path) {
396
+ return existsSync(path)
397
+ }
272
398
 
273
399
  // Helper - process MSBuild information
274
- getMSBuild: function getMSBuild (info, versionYear) {
400
+ getMSBuild (info, versionYear) {
275
401
  const pkg = 'Microsoft.VisualStudio.VC.MSBuild.Base'
276
402
  const msbuildPath = path.join(info.path, 'MSBuild', 'Current', 'Bin', 'MSBuild.exe')
277
403
  const msbuildPathArm64 = path.join(info.path, 'MSBuild', 'Current', 'Bin', 'arm64', 'MSBuild.exe')
@@ -281,7 +407,11 @@ VisualStudioFinder.prototype = {
281
407
  return path.join(info.path, 'MSBuild', '15.0', 'Bin', 'MSBuild.exe')
282
408
  }
283
409
  if (versionYear === 2019) {
284
- return msbuildPath
410
+ if (process.arch === 'arm64' && this.msBuildPathExists(msbuildPathArm64)) {
411
+ return msbuildPathArm64
412
+ } else {
413
+ return msbuildPath
414
+ }
285
415
  }
286
416
  }
287
417
  /**
@@ -295,10 +425,10 @@ VisualStudioFinder.prototype = {
295
425
  return msbuildPath
296
426
  }
297
427
  return null
298
- },
428
+ }
299
429
 
300
430
  // Helper - process toolset information
301
- getToolset: function getToolset (info, versionYear) {
431
+ getToolset (info, versionYear) {
302
432
  const pkg = 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64'
303
433
  const express = 'Microsoft.VisualStudio.WDExpress'
304
434
 
@@ -319,15 +449,15 @@ VisualStudioFinder.prototype = {
319
449
  }
320
450
  this.log.silly('- invalid versionYear:', versionYear)
321
451
  return null
322
- },
452
+ }
323
453
 
324
454
  // Helper - process Windows SDK information
325
- getSDK: function getSDK (info) {
455
+ getSDK (info) {
326
456
  const win8SDK = 'Microsoft.VisualStudio.Component.Windows81SDK'
327
457
  const win10SDKPrefix = 'Microsoft.VisualStudio.Component.Windows10SDK.'
328
458
  const win11SDKPrefix = 'Microsoft.VisualStudio.Component.Windows11SDK.'
329
459
 
330
- var Win10or11SDKVer = 0
460
+ let Win10or11SDKVer = 0
331
461
  info.packages.forEach((pkg) => {
332
462
  if (!pkg.startsWith(win10SDKPrefix) && !pkg.startsWith(win11SDKPrefix)) {
333
463
  return
@@ -354,14 +484,14 @@ VisualStudioFinder.prototype = {
354
484
  return '8.1'
355
485
  }
356
486
  return null
357
- },
487
+ }
358
488
 
359
489
  // Find an installation of Visual Studio 2015 to use
360
- findVisualStudio2015: function findVisualStudio2015 (cb) {
490
+ async findVisualStudio2015 () {
361
491
  if (this.nodeSemver.major >= 19) {
362
492
  this.addLog(
363
493
  'not looking for VS2015 as it is only supported up to Node.js 18')
364
- return cb(null)
494
+ return null
365
495
  }
366
496
  return this.findOldVS({
367
497
  version: '14.0',
@@ -369,15 +499,15 @@ VisualStudioFinder.prototype = {
369
499
  versionMinor: 0,
370
500
  versionYear: 2015,
371
501
  toolset: 'v140'
372
- }, cb)
373
- },
502
+ })
503
+ }
374
504
 
375
505
  // Find an installation of Visual Studio 2013 to use
376
- findVisualStudio2013: function findVisualStudio2013 (cb) {
506
+ async findVisualStudio2013 () {
377
507
  if (this.nodeSemver.major >= 9) {
378
508
  this.addLog(
379
509
  'not looking for VS2013 as it is only supported up to Node.js 8')
380
- return cb(null)
510
+ return null
381
511
  }
382
512
  return this.findOldVS({
383
513
  version: '12.0',
@@ -385,55 +515,52 @@ VisualStudioFinder.prototype = {
385
515
  versionMinor: 0,
386
516
  versionYear: 2013,
387
517
  toolset: 'v120'
388
- }, cb)
389
- },
518
+ })
519
+ }
390
520
 
391
521
  // Helper - common code for VS2013 and VS2015
392
- findOldVS: function findOldVS (info, cb) {
522
+ async findOldVS (info) {
393
523
  const regVC7 = ['HKLM\\Software\\Microsoft\\VisualStudio\\SxS\\VC7',
394
524
  'HKLM\\Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7']
395
525
  const regMSBuild = 'HKLM\\Software\\Microsoft\\MSBuild\\ToolsVersions'
396
526
 
397
527
  this.addLog(`looking for Visual Studio ${info.versionYear}`)
398
- this.regSearchKeys(regVC7, info.version, [], (err, res) => {
399
- if (err) {
400
- this.addLog('- not found')
401
- return cb(null)
402
- }
403
-
528
+ try {
529
+ let res = await this.regSearchKeys(regVC7, info.version, [])
404
530
  const vsPath = path.resolve(res, '..')
405
531
  this.addLog(`- found in "${vsPath}"`)
406
-
407
532
  const msBuildRegOpts = process.arch === 'ia32' ? [] : ['/reg:32']
408
- this.regSearchKeys([`${regMSBuild}\\${info.version}`],
409
- 'MSBuildToolsPath', msBuildRegOpts, (err, res) => {
410
- if (err) {
411
- this.addLog(
412
- '- could not find MSBuild in registry for this version')
413
- return cb(null)
414
- }
415
-
416
- const msBuild = path.join(res, 'MSBuild.exe')
417
- this.addLog(`- MSBuild in "${msBuild}"`)
418
-
419
- if (!this.checkConfigVersion(info.versionYear, vsPath)) {
420
- return cb(null)
421
- }
422
-
423
- info.path = vsPath
424
- info.msBuild = msBuild
425
- info.sdk = null
426
- cb(info)
427
- })
428
- })
429
- },
533
+
534
+ try {
535
+ res = await this.regSearchKeys([`${regMSBuild}\\${info.version}`], 'MSBuildToolsPath', msBuildRegOpts)
536
+ } catch (err) {
537
+ this.addLog('- could not find MSBuild in registry for this version')
538
+ return null
539
+ }
540
+
541
+ const msBuild = path.join(res, 'MSBuild.exe')
542
+ this.addLog(`- MSBuild in "${msBuild}"`)
543
+
544
+ if (!this.checkConfigVersion(info.versionYear, vsPath)) {
545
+ return null
546
+ }
547
+
548
+ info.path = vsPath
549
+ info.msBuild = msBuild
550
+ info.sdk = null
551
+ return info
552
+ } catch (err) {
553
+ this.addLog('- not found')
554
+ return null
555
+ }
556
+ }
430
557
 
431
558
  // After finding a usable version of Visual Studio:
432
559
  // - add it to validVersions to be displayed at the end if a specific
433
560
  // version was requested and not found;
434
561
  // - check if this is the version that was requested.
435
562
  // - check if this matches the Visual Studio Command Prompt
436
- checkConfigVersion: function checkConfigVersion (versionYear, vsPath) {
563
+ checkConfigVersion (versionYear, vsPath) {
437
564
  this.validVersions.push(versionYear)
438
565
  this.validVersions.push(vsPath)
439
566
 
@@ -454,10 +581,10 @@ VisualStudioFinder.prototype = {
454
581
 
455
582
  return true
456
583
  }
457
- }
458
584
 
459
- module.exports = findVisualStudio
460
- module.exports.test = {
461
- VisualStudioFinder: VisualStudioFinder,
462
- findVisualStudio: findVisualStudio
585
+ async execFile (exec, args) {
586
+ return await execFile(exec, args, { encoding: 'utf8' })
587
+ }
463
588
  }
589
+
590
+ module.exports = VisualStudioFinder