pxnpm 5.0.0 → 6.0.1

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 +144 -10
  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
@@ -0,0 +1,359 @@
1
+ """Handwritten parser of dependency specifiers.
2
+
3
+ The docstring for each __parse_* function contains ENBF-inspired grammar representing
4
+ the implementation.
5
+ """
6
+
7
+ import ast
8
+ from typing import Any, List, NamedTuple, Optional, Tuple, Union
9
+
10
+ from ._tokenizer import DEFAULT_RULES, Tokenizer
11
+
12
+
13
+ class Node:
14
+ def __init__(self, value: str) -> None:
15
+ self.value = value
16
+
17
+ def __str__(self) -> str:
18
+ return self.value
19
+
20
+ def __repr__(self) -> str:
21
+ return f"<{self.__class__.__name__}('{self}')>"
22
+
23
+ def serialize(self) -> str:
24
+ raise NotImplementedError
25
+
26
+
27
+ class Variable(Node):
28
+ def serialize(self) -> str:
29
+ return str(self)
30
+
31
+
32
+ class Value(Node):
33
+ def serialize(self) -> str:
34
+ return f'"{self}"'
35
+
36
+
37
+ class Op(Node):
38
+ def serialize(self) -> str:
39
+ return str(self)
40
+
41
+
42
+ MarkerVar = Union[Variable, Value]
43
+ MarkerItem = Tuple[MarkerVar, Op, MarkerVar]
44
+ # MarkerAtom = Union[MarkerItem, List["MarkerAtom"]]
45
+ # MarkerList = List[Union["MarkerList", MarkerAtom, str]]
46
+ # mypy does not support recursive type definition
47
+ # https://github.com/python/mypy/issues/731
48
+ MarkerAtom = Any
49
+ MarkerList = List[Any]
50
+
51
+
52
+ class ParsedRequirement(NamedTuple):
53
+ name: str
54
+ url: str
55
+ extras: List[str]
56
+ specifier: str
57
+ marker: Optional[MarkerList]
58
+
59
+
60
+ # --------------------------------------------------------------------------------------
61
+ # Recursive descent parser for dependency specifier
62
+ # --------------------------------------------------------------------------------------
63
+ def parse_requirement(source: str) -> ParsedRequirement:
64
+ return _parse_requirement(Tokenizer(source, rules=DEFAULT_RULES))
65
+
66
+
67
+ def _parse_requirement(tokenizer: Tokenizer) -> ParsedRequirement:
68
+ """
69
+ requirement = WS? IDENTIFIER WS? extras WS? requirement_details
70
+ """
71
+ tokenizer.consume("WS")
72
+
73
+ name_token = tokenizer.expect(
74
+ "IDENTIFIER", expected="package name at the start of dependency specifier"
75
+ )
76
+ name = name_token.text
77
+ tokenizer.consume("WS")
78
+
79
+ extras = _parse_extras(tokenizer)
80
+ tokenizer.consume("WS")
81
+
82
+ url, specifier, marker = _parse_requirement_details(tokenizer)
83
+ tokenizer.expect("END", expected="end of dependency specifier")
84
+
85
+ return ParsedRequirement(name, url, extras, specifier, marker)
86
+
87
+
88
+ def _parse_requirement_details(
89
+ tokenizer: Tokenizer,
90
+ ) -> Tuple[str, str, Optional[MarkerList]]:
91
+ """
92
+ requirement_details = AT URL (WS requirement_marker?)?
93
+ | specifier WS? (requirement_marker)?
94
+ """
95
+
96
+ specifier = ""
97
+ url = ""
98
+ marker = None
99
+
100
+ if tokenizer.check("AT"):
101
+ tokenizer.read()
102
+ tokenizer.consume("WS")
103
+
104
+ url_start = tokenizer.position
105
+ url = tokenizer.expect("URL", expected="URL after @").text
106
+ if tokenizer.check("END", peek=True):
107
+ return (url, specifier, marker)
108
+
109
+ tokenizer.expect("WS", expected="whitespace after URL")
110
+
111
+ # The input might end after whitespace.
112
+ if tokenizer.check("END", peek=True):
113
+ return (url, specifier, marker)
114
+
115
+ marker = _parse_requirement_marker(
116
+ tokenizer, span_start=url_start, after="URL and whitespace"
117
+ )
118
+ else:
119
+ specifier_start = tokenizer.position
120
+ specifier = _parse_specifier(tokenizer)
121
+ tokenizer.consume("WS")
122
+
123
+ if tokenizer.check("END", peek=True):
124
+ return (url, specifier, marker)
125
+
126
+ marker = _parse_requirement_marker(
127
+ tokenizer,
128
+ span_start=specifier_start,
129
+ after=(
130
+ "version specifier"
131
+ if specifier
132
+ else "name and no valid version specifier"
133
+ ),
134
+ )
135
+
136
+ return (url, specifier, marker)
137
+
138
+
139
+ def _parse_requirement_marker(
140
+ tokenizer: Tokenizer, *, span_start: int, after: str
141
+ ) -> MarkerList:
142
+ """
143
+ requirement_marker = SEMICOLON marker WS?
144
+ """
145
+
146
+ if not tokenizer.check("SEMICOLON"):
147
+ tokenizer.raise_syntax_error(
148
+ f"Expected end or semicolon (after {after})",
149
+ span_start=span_start,
150
+ )
151
+ tokenizer.read()
152
+
153
+ marker = _parse_marker(tokenizer)
154
+ tokenizer.consume("WS")
155
+
156
+ return marker
157
+
158
+
159
+ def _parse_extras(tokenizer: Tokenizer) -> List[str]:
160
+ """
161
+ extras = (LEFT_BRACKET wsp* extras_list? wsp* RIGHT_BRACKET)?
162
+ """
163
+ if not tokenizer.check("LEFT_BRACKET", peek=True):
164
+ return []
165
+
166
+ with tokenizer.enclosing_tokens(
167
+ "LEFT_BRACKET",
168
+ "RIGHT_BRACKET",
169
+ around="extras",
170
+ ):
171
+ tokenizer.consume("WS")
172
+ extras = _parse_extras_list(tokenizer)
173
+ tokenizer.consume("WS")
174
+
175
+ return extras
176
+
177
+
178
+ def _parse_extras_list(tokenizer: Tokenizer) -> List[str]:
179
+ """
180
+ extras_list = identifier (wsp* ',' wsp* identifier)*
181
+ """
182
+ extras: List[str] = []
183
+
184
+ if not tokenizer.check("IDENTIFIER"):
185
+ return extras
186
+
187
+ extras.append(tokenizer.read().text)
188
+
189
+ while True:
190
+ tokenizer.consume("WS")
191
+ if tokenizer.check("IDENTIFIER", peek=True):
192
+ tokenizer.raise_syntax_error("Expected comma between extra names")
193
+ elif not tokenizer.check("COMMA"):
194
+ break
195
+
196
+ tokenizer.read()
197
+ tokenizer.consume("WS")
198
+
199
+ extra_token = tokenizer.expect("IDENTIFIER", expected="extra name after comma")
200
+ extras.append(extra_token.text)
201
+
202
+ return extras
203
+
204
+
205
+ def _parse_specifier(tokenizer: Tokenizer) -> str:
206
+ """
207
+ specifier = LEFT_PARENTHESIS WS? version_many WS? RIGHT_PARENTHESIS
208
+ | WS? version_many WS?
209
+ """
210
+ with tokenizer.enclosing_tokens(
211
+ "LEFT_PARENTHESIS",
212
+ "RIGHT_PARENTHESIS",
213
+ around="version specifier",
214
+ ):
215
+ tokenizer.consume("WS")
216
+ parsed_specifiers = _parse_version_many(tokenizer)
217
+ tokenizer.consume("WS")
218
+
219
+ return parsed_specifiers
220
+
221
+
222
+ def _parse_version_many(tokenizer: Tokenizer) -> str:
223
+ """
224
+ version_many = (SPECIFIER (WS? COMMA WS? SPECIFIER)*)?
225
+ """
226
+ parsed_specifiers = ""
227
+ while tokenizer.check("SPECIFIER"):
228
+ span_start = tokenizer.position
229
+ parsed_specifiers += tokenizer.read().text
230
+ if tokenizer.check("VERSION_PREFIX_TRAIL", peek=True):
231
+ tokenizer.raise_syntax_error(
232
+ ".* suffix can only be used with `==` or `!=` operators",
233
+ span_start=span_start,
234
+ span_end=tokenizer.position + 1,
235
+ )
236
+ if tokenizer.check("VERSION_LOCAL_LABEL_TRAIL", peek=True):
237
+ tokenizer.raise_syntax_error(
238
+ "Local version label can only be used with `==` or `!=` operators",
239
+ span_start=span_start,
240
+ span_end=tokenizer.position,
241
+ )
242
+ tokenizer.consume("WS")
243
+ if not tokenizer.check("COMMA"):
244
+ break
245
+ parsed_specifiers += tokenizer.read().text
246
+ tokenizer.consume("WS")
247
+
248
+ return parsed_specifiers
249
+
250
+
251
+ # --------------------------------------------------------------------------------------
252
+ # Recursive descent parser for marker expression
253
+ # --------------------------------------------------------------------------------------
254
+ def parse_marker(source: str) -> MarkerList:
255
+ return _parse_full_marker(Tokenizer(source, rules=DEFAULT_RULES))
256
+
257
+
258
+ def _parse_full_marker(tokenizer: Tokenizer) -> MarkerList:
259
+ retval = _parse_marker(tokenizer)
260
+ tokenizer.expect("END", expected="end of marker expression")
261
+ return retval
262
+
263
+
264
+ def _parse_marker(tokenizer: Tokenizer) -> MarkerList:
265
+ """
266
+ marker = marker_atom (BOOLOP marker_atom)+
267
+ """
268
+ expression = [_parse_marker_atom(tokenizer)]
269
+ while tokenizer.check("BOOLOP"):
270
+ token = tokenizer.read()
271
+ expr_right = _parse_marker_atom(tokenizer)
272
+ expression.extend((token.text, expr_right))
273
+ return expression
274
+
275
+
276
+ def _parse_marker_atom(tokenizer: Tokenizer) -> MarkerAtom:
277
+ """
278
+ marker_atom = WS? LEFT_PARENTHESIS WS? marker WS? RIGHT_PARENTHESIS WS?
279
+ | WS? marker_item WS?
280
+ """
281
+
282
+ tokenizer.consume("WS")
283
+ if tokenizer.check("LEFT_PARENTHESIS", peek=True):
284
+ with tokenizer.enclosing_tokens(
285
+ "LEFT_PARENTHESIS",
286
+ "RIGHT_PARENTHESIS",
287
+ around="marker expression",
288
+ ):
289
+ tokenizer.consume("WS")
290
+ marker: MarkerAtom = _parse_marker(tokenizer)
291
+ tokenizer.consume("WS")
292
+ else:
293
+ marker = _parse_marker_item(tokenizer)
294
+ tokenizer.consume("WS")
295
+ return marker
296
+
297
+
298
+ def _parse_marker_item(tokenizer: Tokenizer) -> MarkerItem:
299
+ """
300
+ marker_item = WS? marker_var WS? marker_op WS? marker_var WS?
301
+ """
302
+ tokenizer.consume("WS")
303
+ marker_var_left = _parse_marker_var(tokenizer)
304
+ tokenizer.consume("WS")
305
+ marker_op = _parse_marker_op(tokenizer)
306
+ tokenizer.consume("WS")
307
+ marker_var_right = _parse_marker_var(tokenizer)
308
+ tokenizer.consume("WS")
309
+ return (marker_var_left, marker_op, marker_var_right)
310
+
311
+
312
+ def _parse_marker_var(tokenizer: Tokenizer) -> MarkerVar:
313
+ """
314
+ marker_var = VARIABLE | QUOTED_STRING
315
+ """
316
+ if tokenizer.check("VARIABLE"):
317
+ return process_env_var(tokenizer.read().text.replace(".", "_"))
318
+ elif tokenizer.check("QUOTED_STRING"):
319
+ return process_python_str(tokenizer.read().text)
320
+ else:
321
+ tokenizer.raise_syntax_error(
322
+ message="Expected a marker variable or quoted string"
323
+ )
324
+
325
+
326
+ def process_env_var(env_var: str) -> Variable:
327
+ if (
328
+ env_var == "platform_python_implementation"
329
+ or env_var == "python_implementation"
330
+ ):
331
+ return Variable("platform_python_implementation")
332
+ else:
333
+ return Variable(env_var)
334
+
335
+
336
+ def process_python_str(python_str: str) -> Value:
337
+ value = ast.literal_eval(python_str)
338
+ return Value(str(value))
339
+
340
+
341
+ def _parse_marker_op(tokenizer: Tokenizer) -> Op:
342
+ """
343
+ marker_op = IN | NOT IN | OP
344
+ """
345
+ if tokenizer.check("IN"):
346
+ tokenizer.read()
347
+ return Op("in")
348
+ elif tokenizer.check("NOT"):
349
+ tokenizer.read()
350
+ tokenizer.expect("WS", expected="whitespace after 'not'")
351
+ tokenizer.expect("IN", expected="'in' after 'not'")
352
+ return Op("not in")
353
+ elif tokenizer.check("OP"):
354
+ return Op(tokenizer.read().text)
355
+ else:
356
+ return tokenizer.raise_syntax_error(
357
+ "Expected marker operator, one of "
358
+ "<=, <, !=, ==, >=, >, ~=, ===, in, not in"
359
+ )
@@ -0,0 +1,61 @@
1
+ # This file is dual licensed under the terms of the Apache License, Version
2
+ # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3
+ # for complete details.
4
+
5
+
6
+ class InfinityType:
7
+ def __repr__(self) -> str:
8
+ return "Infinity"
9
+
10
+ def __hash__(self) -> int:
11
+ return hash(repr(self))
12
+
13
+ def __lt__(self, other: object) -> bool:
14
+ return False
15
+
16
+ def __le__(self, other: object) -> bool:
17
+ return False
18
+
19
+ def __eq__(self, other: object) -> bool:
20
+ return isinstance(other, self.__class__)
21
+
22
+ def __gt__(self, other: object) -> bool:
23
+ return True
24
+
25
+ def __ge__(self, other: object) -> bool:
26
+ return True
27
+
28
+ def __neg__(self: object) -> "NegativeInfinityType":
29
+ return NegativeInfinity
30
+
31
+
32
+ Infinity = InfinityType()
33
+
34
+
35
+ class NegativeInfinityType:
36
+ def __repr__(self) -> str:
37
+ return "-Infinity"
38
+
39
+ def __hash__(self) -> int:
40
+ return hash(repr(self))
41
+
42
+ def __lt__(self, other: object) -> bool:
43
+ return True
44
+
45
+ def __le__(self, other: object) -> bool:
46
+ return True
47
+
48
+ def __eq__(self, other: object) -> bool:
49
+ return isinstance(other, self.__class__)
50
+
51
+ def __gt__(self, other: object) -> bool:
52
+ return False
53
+
54
+ def __ge__(self, other: object) -> bool:
55
+ return False
56
+
57
+ def __neg__(self: object) -> InfinityType:
58
+ return Infinity
59
+
60
+
61
+ NegativeInfinity = NegativeInfinityType()
@@ -0,0 +1,192 @@
1
+ import contextlib
2
+ import re
3
+ from dataclasses import dataclass
4
+ from typing import Dict, Iterator, NoReturn, Optional, Tuple, Union
5
+
6
+ from .specifiers import Specifier
7
+
8
+
9
+ @dataclass
10
+ class Token:
11
+ name: str
12
+ text: str
13
+ position: int
14
+
15
+
16
+ class ParserSyntaxError(Exception):
17
+ """The provided source text could not be parsed correctly."""
18
+
19
+ def __init__(
20
+ self,
21
+ message: str,
22
+ *,
23
+ source: str,
24
+ span: Tuple[int, int],
25
+ ) -> None:
26
+ self.span = span
27
+ self.message = message
28
+ self.source = source
29
+
30
+ super().__init__()
31
+
32
+ def __str__(self) -> str:
33
+ marker = " " * self.span[0] + "~" * (self.span[1] - self.span[0]) + "^"
34
+ return "\n ".join([self.message, self.source, marker])
35
+
36
+
37
+ DEFAULT_RULES: "Dict[str, Union[str, re.Pattern[str]]]" = {
38
+ "LEFT_PARENTHESIS": r"\(",
39
+ "RIGHT_PARENTHESIS": r"\)",
40
+ "LEFT_BRACKET": r"\[",
41
+ "RIGHT_BRACKET": r"\]",
42
+ "SEMICOLON": r";",
43
+ "COMMA": r",",
44
+ "QUOTED_STRING": re.compile(
45
+ r"""
46
+ (
47
+ ('[^']*')
48
+ |
49
+ ("[^"]*")
50
+ )
51
+ """,
52
+ re.VERBOSE,
53
+ ),
54
+ "OP": r"(===|==|~=|!=|<=|>=|<|>)",
55
+ "BOOLOP": r"\b(or|and)\b",
56
+ "IN": r"\bin\b",
57
+ "NOT": r"\bnot\b",
58
+ "VARIABLE": re.compile(
59
+ r"""
60
+ \b(
61
+ python_version
62
+ |python_full_version
63
+ |os[._]name
64
+ |sys[._]platform
65
+ |platform_(release|system)
66
+ |platform[._](version|machine|python_implementation)
67
+ |python_implementation
68
+ |implementation_(name|version)
69
+ |extra
70
+ )\b
71
+ """,
72
+ re.VERBOSE,
73
+ ),
74
+ "SPECIFIER": re.compile(
75
+ Specifier._operator_regex_str + Specifier._version_regex_str,
76
+ re.VERBOSE | re.IGNORECASE,
77
+ ),
78
+ "AT": r"\@",
79
+ "URL": r"[^ \t]+",
80
+ "IDENTIFIER": r"\b[a-zA-Z0-9][a-zA-Z0-9._-]*\b",
81
+ "VERSION_PREFIX_TRAIL": r"\.\*",
82
+ "VERSION_LOCAL_LABEL_TRAIL": r"\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*",
83
+ "WS": r"[ \t]+",
84
+ "END": r"$",
85
+ }
86
+
87
+
88
+ class Tokenizer:
89
+ """Context-sensitive token parsing.
90
+
91
+ Provides methods to examine the input stream to check whether the next token
92
+ matches.
93
+ """
94
+
95
+ def __init__(
96
+ self,
97
+ source: str,
98
+ *,
99
+ rules: "Dict[str, Union[str, re.Pattern[str]]]",
100
+ ) -> None:
101
+ self.source = source
102
+ self.rules: Dict[str, re.Pattern[str]] = {
103
+ name: re.compile(pattern) for name, pattern in rules.items()
104
+ }
105
+ self.next_token: Optional[Token] = None
106
+ self.position = 0
107
+
108
+ def consume(self, name: str) -> None:
109
+ """Move beyond provided token name, if at current position."""
110
+ if self.check(name):
111
+ self.read()
112
+
113
+ def check(self, name: str, *, peek: bool = False) -> bool:
114
+ """Check whether the next token has the provided name.
115
+
116
+ By default, if the check succeeds, the token *must* be read before
117
+ another check. If `peek` is set to `True`, the token is not loaded and
118
+ would need to be checked again.
119
+ """
120
+ assert (
121
+ self.next_token is None
122
+ ), f"Cannot check for {name!r}, already have {self.next_token!r}"
123
+ assert name in self.rules, f"Unknown token name: {name!r}"
124
+
125
+ expression = self.rules[name]
126
+
127
+ match = expression.match(self.source, self.position)
128
+ if match is None:
129
+ return False
130
+ if not peek:
131
+ self.next_token = Token(name, match[0], self.position)
132
+ return True
133
+
134
+ def expect(self, name: str, *, expected: str) -> Token:
135
+ """Expect a certain token name next, failing with a syntax error otherwise.
136
+
137
+ The token is *not* read.
138
+ """
139
+ if not self.check(name):
140
+ raise self.raise_syntax_error(f"Expected {expected}")
141
+ return self.read()
142
+
143
+ def read(self) -> Token:
144
+ """Consume the next token and return it."""
145
+ token = self.next_token
146
+ assert token is not None
147
+
148
+ self.position += len(token.text)
149
+ self.next_token = None
150
+
151
+ return token
152
+
153
+ def raise_syntax_error(
154
+ self,
155
+ message: str,
156
+ *,
157
+ span_start: Optional[int] = None,
158
+ span_end: Optional[int] = None,
159
+ ) -> NoReturn:
160
+ """Raise ParserSyntaxError at the given position."""
161
+ span = (
162
+ self.position if span_start is None else span_start,
163
+ self.position if span_end is None else span_end,
164
+ )
165
+ raise ParserSyntaxError(
166
+ message,
167
+ source=self.source,
168
+ span=span,
169
+ )
170
+
171
+ @contextlib.contextmanager
172
+ def enclosing_tokens(
173
+ self, open_token: str, close_token: str, *, around: str
174
+ ) -> Iterator[None]:
175
+ if self.check(open_token):
176
+ open_position = self.position
177
+ self.read()
178
+ else:
179
+ open_position = None
180
+
181
+ yield
182
+
183
+ if open_position is None:
184
+ return
185
+
186
+ if not self.check(close_token):
187
+ self.raise_syntax_error(
188
+ f"Expected matching {close_token} for {open_token}, after {around}",
189
+ span_start=open_position,
190
+ )
191
+
192
+ self.read()