@pnpm/exe 11.0.0-alpha.5 → 11.0.0-alpha.7

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 (686) hide show
  1. package/dist/node-gyp-bin/node-gyp +6 -0
  2. package/dist/node-gyp-bin/node-gyp.cmd +5 -0
  3. package/dist/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js +16 -0
  4. package/dist/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js +170 -0
  5. package/dist/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js +307 -0
  6. package/dist/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.js +7 -0
  7. package/dist/node_modules/@isaacs/cliui/dist/commonjs/index.js +322 -0
  8. package/dist/node_modules/@isaacs/cliui/dist/commonjs/index.min.js +12 -0
  9. package/dist/node_modules/@isaacs/cliui/dist/commonjs/package.json +3 -0
  10. package/dist/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.js +49 -0
  11. package/dist/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.js +8 -0
  12. package/dist/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.js +176 -0
  13. package/dist/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.js +12 -0
  14. package/dist/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.js +167 -0
  15. package/dist/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.js +299 -0
  16. package/dist/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.js +3 -0
  17. package/dist/node_modules/@isaacs/cliui/dist/esm/index.js +317 -0
  18. package/dist/node_modules/@isaacs/cliui/dist/esm/index.min.js +12 -0
  19. package/dist/node_modules/@isaacs/cliui/dist/esm/package.json +3 -0
  20. package/dist/node_modules/@isaacs/cliui/dist/esm/string-width/index.js +46 -0
  21. package/dist/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.js +4 -0
  22. package/dist/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.js +172 -0
  23. package/dist/node_modules/@isaacs/cliui/package.json +163 -0
  24. package/dist/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
  25. package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
  26. package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
  27. package/dist/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
  28. package/dist/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
  29. package/dist/node_modules/@isaacs/fs-minipass/package.json +72 -0
  30. package/dist/node_modules/@npmcli/agent/lib/agents.js +206 -0
  31. package/dist/node_modules/@npmcli/agent/lib/dns.js +53 -0
  32. package/dist/node_modules/@npmcli/agent/lib/errors.js +61 -0
  33. package/dist/node_modules/@npmcli/agent/lib/index.js +56 -0
  34. package/dist/node_modules/@npmcli/agent/lib/options.js +86 -0
  35. package/dist/node_modules/@npmcli/agent/lib/proxy.js +88 -0
  36. package/dist/node_modules/@npmcli/agent/package.json +60 -0
  37. package/dist/node_modules/@npmcli/fs/lib/common/get-options.js +20 -0
  38. package/dist/node_modules/@npmcli/fs/lib/common/node.js +9 -0
  39. package/dist/node_modules/@npmcli/fs/lib/cp/LICENSE +15 -0
  40. package/dist/node_modules/@npmcli/fs/lib/cp/errors.js +129 -0
  41. package/dist/node_modules/@npmcli/fs/lib/cp/index.js +22 -0
  42. package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +428 -0
  43. package/dist/node_modules/@npmcli/fs/lib/index.js +13 -0
  44. package/dist/node_modules/@npmcli/fs/lib/move-file.js +78 -0
  45. package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
  46. package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +39 -0
  47. package/dist/node_modules/@npmcli/fs/package.json +54 -0
  48. package/dist/node_modules/abbrev/LICENSE +46 -0
  49. package/dist/node_modules/abbrev/lib/index.js +53 -0
  50. package/dist/node_modules/abbrev/package.json +45 -0
  51. package/dist/node_modules/agent-base/LICENSE +22 -0
  52. package/dist/node_modules/agent-base/dist/helpers.js +66 -0
  53. package/dist/node_modules/agent-base/dist/index.js +178 -0
  54. package/dist/node_modules/agent-base/package.json +46 -0
  55. package/dist/node_modules/balanced-match/dist/commonjs/index.js +59 -0
  56. package/dist/node_modules/balanced-match/dist/commonjs/package.json +3 -0
  57. package/dist/node_modules/balanced-match/dist/esm/index.js +54 -0
  58. package/dist/node_modules/balanced-match/dist/esm/package.json +3 -0
  59. package/dist/node_modules/balanced-match/package.json +71 -0
  60. package/dist/node_modules/brace-expansion/LICENSE +23 -0
  61. package/dist/node_modules/brace-expansion/dist/commonjs/index.js +199 -0
  62. package/dist/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
  63. package/dist/node_modules/brace-expansion/dist/esm/index.js +195 -0
  64. package/dist/node_modules/brace-expansion/dist/esm/package.json +3 -0
  65. package/dist/node_modules/brace-expansion/package.json +64 -0
  66. package/dist/node_modules/cacache/lib/content/path.js +29 -0
  67. package/dist/node_modules/cacache/lib/content/read.js +165 -0
  68. package/dist/node_modules/cacache/lib/content/rm.js +18 -0
  69. package/dist/node_modules/cacache/lib/content/write.js +206 -0
  70. package/dist/node_modules/cacache/lib/entry-index.js +336 -0
  71. package/dist/node_modules/cacache/lib/get.js +170 -0
  72. package/dist/node_modules/cacache/lib/index.js +42 -0
  73. package/dist/node_modules/cacache/lib/memoization.js +72 -0
  74. package/dist/node_modules/cacache/lib/put.js +80 -0
  75. package/dist/node_modules/cacache/lib/rm.js +31 -0
  76. package/dist/node_modules/cacache/lib/util/glob.js +7 -0
  77. package/dist/node_modules/cacache/lib/util/hash-to-segments.js +7 -0
  78. package/dist/node_modules/cacache/lib/util/tmp.js +26 -0
  79. package/dist/node_modules/cacache/lib/verify.js +258 -0
  80. package/dist/node_modules/cacache/package.json +83 -0
  81. package/dist/node_modules/chownr/dist/commonjs/index.js +93 -0
  82. package/dist/node_modules/chownr/dist/commonjs/package.json +3 -0
  83. package/dist/node_modules/chownr/dist/esm/index.js +85 -0
  84. package/dist/node_modules/chownr/dist/esm/package.json +3 -0
  85. package/dist/node_modules/chownr/package.json +69 -0
  86. package/dist/node_modules/cross-spawn/LICENSE +21 -0
  87. package/dist/node_modules/cross-spawn/index.js +39 -0
  88. package/dist/node_modules/cross-spawn/lib/enoent.js +59 -0
  89. package/dist/node_modules/cross-spawn/lib/parse.js +91 -0
  90. package/dist/node_modules/cross-spawn/lib/util/escape.js +47 -0
  91. package/dist/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  92. package/dist/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  93. package/dist/node_modules/cross-spawn/package.json +73 -0
  94. package/dist/node_modules/debug/LICENSE +20 -0
  95. package/dist/node_modules/debug/package.json +64 -0
  96. package/dist/node_modules/debug/src/browser.js +272 -0
  97. package/dist/node_modules/debug/src/common.js +292 -0
  98. package/dist/node_modules/debug/src/index.js +10 -0
  99. package/dist/node_modules/debug/src/node.js +263 -0
  100. package/dist/node_modules/encoding/.prettierrc.js +8 -0
  101. package/dist/node_modules/encoding/LICENSE +16 -0
  102. package/dist/node_modules/encoding/lib/encoding.js +83 -0
  103. package/dist/node_modules/encoding/package.json +18 -0
  104. package/dist/node_modules/env-paths/index.js +74 -0
  105. package/dist/node_modules/env-paths/license +9 -0
  106. package/dist/node_modules/env-paths/package.json +45 -0
  107. package/dist/node_modules/err-code/.eslintrc.json +7 -0
  108. package/dist/node_modules/err-code/bower.json +30 -0
  109. package/dist/node_modules/err-code/index.js +47 -0
  110. package/dist/node_modules/err-code/index.umd.js +51 -0
  111. package/dist/node_modules/err-code/package.json +34 -0
  112. package/dist/node_modules/exponential-backoff/LICENSE +202 -0
  113. package/dist/node_modules/exponential-backoff/dist/backoff.js +124 -0
  114. package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
  115. package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
  116. package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
  117. package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
  118. package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
  119. package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
  120. package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
  121. package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
  122. package/dist/node_modules/exponential-backoff/dist/options.js +31 -0
  123. package/dist/node_modules/exponential-backoff/package.json +62 -0
  124. package/dist/node_modules/fdir/LICENSE +7 -0
  125. package/dist/node_modules/fdir/dist/index.cjs +588 -0
  126. package/dist/node_modules/fdir/dist/index.d.cts +155 -0
  127. package/dist/node_modules/fdir/dist/index.d.mts +155 -0
  128. package/dist/node_modules/fdir/dist/index.mjs +570 -0
  129. package/dist/node_modules/fdir/package.json +103 -0
  130. package/dist/node_modules/foreground-child/LICENSE +15 -0
  131. package/dist/node_modules/foreground-child/dist/commonjs/all-signals.js +58 -0
  132. package/dist/node_modules/foreground-child/dist/commonjs/index.js +123 -0
  133. package/dist/node_modules/foreground-child/dist/commonjs/package.json +3 -0
  134. package/dist/node_modules/foreground-child/dist/commonjs/proxy-signals.js +38 -0
  135. package/dist/node_modules/foreground-child/dist/commonjs/watchdog.js +50 -0
  136. package/dist/node_modules/foreground-child/dist/esm/all-signals.js +52 -0
  137. package/dist/node_modules/foreground-child/dist/esm/index.js +115 -0
  138. package/dist/node_modules/foreground-child/dist/esm/package.json +3 -0
  139. package/dist/node_modules/foreground-child/dist/esm/proxy-signals.js +34 -0
  140. package/dist/node_modules/foreground-child/dist/esm/watchdog.js +46 -0
  141. package/dist/node_modules/foreground-child/package.json +106 -0
  142. package/dist/node_modules/fs-minipass/LICENSE +15 -0
  143. package/dist/node_modules/fs-minipass/lib/index.js +443 -0
  144. package/dist/node_modules/fs-minipass/package.json +54 -0
  145. package/dist/node_modules/glob/dist/commonjs/glob.js +247 -0
  146. package/dist/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  147. package/dist/node_modules/glob/dist/commonjs/ignore.js +119 -0
  148. package/dist/node_modules/glob/dist/commonjs/index.js +68 -0
  149. package/dist/node_modules/glob/dist/commonjs/package.json +3 -0
  150. package/dist/node_modules/glob/dist/commonjs/pattern.js +219 -0
  151. package/dist/node_modules/glob/dist/commonjs/processor.js +301 -0
  152. package/dist/node_modules/glob/dist/commonjs/walker.js +387 -0
  153. package/dist/node_modules/glob/dist/esm/bin.d.mts +3 -0
  154. package/dist/node_modules/glob/dist/esm/bin.mjs +346 -0
  155. package/dist/node_modules/glob/dist/esm/glob.js +243 -0
  156. package/dist/node_modules/glob/dist/esm/has-magic.js +23 -0
  157. package/dist/node_modules/glob/dist/esm/ignore.js +115 -0
  158. package/dist/node_modules/glob/dist/esm/index.js +55 -0
  159. package/dist/node_modules/glob/dist/esm/package.json +3 -0
  160. package/dist/node_modules/glob/dist/esm/pattern.js +215 -0
  161. package/dist/node_modules/glob/dist/esm/processor.js +294 -0
  162. package/dist/node_modules/glob/dist/esm/walker.js +381 -0
  163. package/dist/node_modules/glob/package.json +97 -0
  164. package/dist/node_modules/graceful-fs/LICENSE +15 -0
  165. package/dist/node_modules/graceful-fs/clone.js +23 -0
  166. package/dist/node_modules/graceful-fs/graceful-fs.js +448 -0
  167. package/dist/node_modules/graceful-fs/legacy-streams.js +118 -0
  168. package/dist/node_modules/graceful-fs/package.json +53 -0
  169. package/dist/node_modules/graceful-fs/polyfills.js +355 -0
  170. package/dist/node_modules/http-cache-semantics/LICENSE +9 -0
  171. package/dist/node_modules/http-cache-semantics/index.js +928 -0
  172. package/dist/node_modules/http-cache-semantics/package.json +22 -0
  173. package/dist/node_modules/http-proxy-agent/LICENSE +22 -0
  174. package/dist/node_modules/http-proxy-agent/dist/index.js +148 -0
  175. package/dist/node_modules/http-proxy-agent/package.json +47 -0
  176. package/dist/node_modules/https-proxy-agent/LICENSE +22 -0
  177. package/dist/node_modules/https-proxy-agent/dist/index.js +180 -0
  178. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
  179. package/dist/node_modules/https-proxy-agent/package.json +50 -0
  180. package/dist/node_modules/iconv-lite/.github/dependabot.yml +11 -0
  181. package/dist/node_modules/iconv-lite/.idea/codeStyles/Project.xml +47 -0
  182. package/dist/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml +5 -0
  183. package/dist/node_modules/iconv-lite/.idea/iconv-lite.iml +12 -0
  184. package/dist/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml +6 -0
  185. package/dist/node_modules/iconv-lite/.idea/modules.xml +8 -0
  186. package/dist/node_modules/iconv-lite/.idea/vcs.xml +6 -0
  187. package/dist/node_modules/iconv-lite/LICENSE +21 -0
  188. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +597 -0
  189. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +188 -0
  190. package/dist/node_modules/iconv-lite/encodings/index.js +23 -0
  191. package/dist/node_modules/iconv-lite/encodings/internal.js +198 -0
  192. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  193. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  194. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +179 -0
  195. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  196. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  197. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  198. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  199. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  200. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  201. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  202. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  203. package/dist/node_modules/iconv-lite/encodings/utf16.js +197 -0
  204. package/dist/node_modules/iconv-lite/encodings/utf32.js +319 -0
  205. package/dist/node_modules/iconv-lite/encodings/utf7.js +290 -0
  206. package/dist/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  207. package/dist/node_modules/iconv-lite/lib/index.js +180 -0
  208. package/dist/node_modules/iconv-lite/lib/streams.js +109 -0
  209. package/dist/node_modules/iconv-lite/package.json +44 -0
  210. package/dist/node_modules/imurmurhash/imurmurhash.js +138 -0
  211. package/dist/node_modules/imurmurhash/imurmurhash.min.js +12 -0
  212. package/dist/node_modules/imurmurhash/package.json +40 -0
  213. package/dist/node_modules/ip-address/LICENSE +19 -0
  214. package/dist/node_modules/ip-address/dist/address-error.js +12 -0
  215. package/dist/node_modules/ip-address/dist/common.js +46 -0
  216. package/dist/node_modules/ip-address/dist/ip-address.js +35 -0
  217. package/dist/node_modules/ip-address/dist/ipv4.js +360 -0
  218. package/dist/node_modules/ip-address/dist/ipv6.js +1003 -0
  219. package/dist/node_modules/ip-address/dist/v4/constants.js +8 -0
  220. package/dist/node_modules/ip-address/dist/v6/constants.js +76 -0
  221. package/dist/node_modules/ip-address/dist/v6/helpers.js +45 -0
  222. package/dist/node_modules/ip-address/dist/v6/regular-expressions.js +95 -0
  223. package/dist/node_modules/ip-address/package.json +78 -0
  224. package/dist/node_modules/isexe/LICENSE +15 -0
  225. package/dist/node_modules/isexe/index.js +57 -0
  226. package/dist/node_modules/isexe/mode.js +41 -0
  227. package/dist/node_modules/isexe/package.json +31 -0
  228. package/dist/node_modules/isexe/windows.js +42 -0
  229. package/dist/node_modules/jackspeak/dist/commonjs/index.js +944 -0
  230. package/dist/node_modules/jackspeak/dist/commonjs/index.min.js +33 -0
  231. package/dist/node_modules/jackspeak/dist/commonjs/package.json +3 -0
  232. package/dist/node_modules/jackspeak/dist/esm/index.js +936 -0
  233. package/dist/node_modules/jackspeak/dist/esm/index.min.js +33 -0
  234. package/dist/node_modules/jackspeak/dist/esm/package.json +3 -0
  235. package/dist/node_modules/jackspeak/package.json +115 -0
  236. package/dist/node_modules/lru-cache/LICENSE +15 -0
  237. package/dist/node_modules/lru-cache/dist/commonjs/index.js +1546 -0
  238. package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  239. package/dist/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  240. package/dist/node_modules/lru-cache/dist/esm/index.js +1542 -0
  241. package/dist/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  242. package/dist/node_modules/lru-cache/dist/esm/package.json +3 -0
  243. package/dist/node_modules/lru-cache/package.json +116 -0
  244. package/dist/node_modules/make-fetch-happen/LICENSE +16 -0
  245. package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +471 -0
  246. package/dist/node_modules/make-fetch-happen/lib/cache/errors.js +11 -0
  247. package/dist/node_modules/make-fetch-happen/lib/cache/index.js +49 -0
  248. package/dist/node_modules/make-fetch-happen/lib/cache/key.js +17 -0
  249. package/dist/node_modules/make-fetch-happen/lib/cache/policy.js +161 -0
  250. package/dist/node_modules/make-fetch-happen/lib/fetch.js +118 -0
  251. package/dist/node_modules/make-fetch-happen/lib/index.js +41 -0
  252. package/dist/node_modules/make-fetch-happen/lib/options.js +59 -0
  253. package/dist/node_modules/make-fetch-happen/lib/pipeline.js +41 -0
  254. package/dist/node_modules/make-fetch-happen/lib/remote.js +132 -0
  255. package/dist/node_modules/make-fetch-happen/package.json +74 -0
  256. package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  257. package/dist/node_modules/minimatch/dist/commonjs/ast.js +601 -0
  258. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js +150 -0
  259. package/dist/node_modules/minimatch/dist/commonjs/escape.js +30 -0
  260. package/dist/node_modules/minimatch/dist/commonjs/index.js +1035 -0
  261. package/dist/node_modules/minimatch/dist/commonjs/package.json +3 -0
  262. package/dist/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
  263. package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  264. package/dist/node_modules/minimatch/dist/esm/ast.js +597 -0
  265. package/dist/node_modules/minimatch/dist/esm/brace-expressions.js +146 -0
  266. package/dist/node_modules/minimatch/dist/esm/escape.js +26 -0
  267. package/dist/node_modules/minimatch/dist/esm/index.js +1022 -0
  268. package/dist/node_modules/minimatch/dist/esm/package.json +3 -0
  269. package/dist/node_modules/minimatch/dist/esm/unescape.js +34 -0
  270. package/dist/node_modules/minimatch/package.json +67 -0
  271. package/dist/node_modules/minipass/LICENSE +15 -0
  272. package/dist/node_modules/minipass/dist/commonjs/index.js +1028 -0
  273. package/dist/node_modules/minipass/dist/commonjs/package.json +3 -0
  274. package/dist/node_modules/minipass/dist/esm/index.js +1018 -0
  275. package/dist/node_modules/minipass/dist/esm/package.json +3 -0
  276. package/dist/node_modules/minipass/package.json +82 -0
  277. package/dist/node_modules/minipass-collect/LICENSE +15 -0
  278. package/dist/node_modules/minipass-collect/index.js +71 -0
  279. package/dist/node_modules/minipass-collect/package.json +30 -0
  280. package/dist/node_modules/minipass-fetch/LICENSE +28 -0
  281. package/dist/node_modules/minipass-fetch/lib/abort-error.js +17 -0
  282. package/dist/node_modules/minipass-fetch/lib/blob.js +97 -0
  283. package/dist/node_modules/minipass-fetch/lib/body.js +350 -0
  284. package/dist/node_modules/minipass-fetch/lib/fetch-error.js +32 -0
  285. package/dist/node_modules/minipass-fetch/lib/headers.js +267 -0
  286. package/dist/node_modules/minipass-fetch/lib/index.js +376 -0
  287. package/dist/node_modules/minipass-fetch/lib/request.js +282 -0
  288. package/dist/node_modules/minipass-fetch/lib/response.js +90 -0
  289. package/dist/node_modules/minipass-fetch/package.json +70 -0
  290. package/dist/node_modules/minipass-flush/LICENSE +15 -0
  291. package/dist/node_modules/minipass-flush/index.js +39 -0
  292. package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
  293. package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
  294. package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
  295. package/dist/node_modules/minipass-flush/package.json +39 -0
  296. package/dist/node_modules/minipass-pipeline/LICENSE +15 -0
  297. package/dist/node_modules/minipass-pipeline/index.js +128 -0
  298. package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
  299. package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
  300. package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
  301. package/dist/node_modules/minipass-pipeline/package.json +29 -0
  302. package/dist/node_modules/minipass-sized/LICENSE +15 -0
  303. package/dist/node_modules/minipass-sized/index.js +67 -0
  304. package/dist/node_modules/minipass-sized/node_modules/minipass/LICENSE +15 -0
  305. package/dist/node_modules/minipass-sized/node_modules/minipass/index.js +649 -0
  306. package/dist/node_modules/minipass-sized/node_modules/minipass/package.json +56 -0
  307. package/dist/node_modules/minipass-sized/package-lock.json +3464 -0
  308. package/dist/node_modules/minipass-sized/package.json +39 -0
  309. package/dist/node_modules/minizlib/LICENSE +26 -0
  310. package/dist/node_modules/minizlib/dist/commonjs/constants.js +123 -0
  311. package/dist/node_modules/minizlib/dist/commonjs/index.js +416 -0
  312. package/dist/node_modules/minizlib/dist/commonjs/package.json +3 -0
  313. package/dist/node_modules/minizlib/dist/esm/constants.js +117 -0
  314. package/dist/node_modules/minizlib/dist/esm/index.js +363 -0
  315. package/dist/node_modules/minizlib/dist/esm/package.json +3 -0
  316. package/dist/node_modules/minizlib/package.json +80 -0
  317. package/dist/node_modules/ms/index.js +162 -0
  318. package/dist/node_modules/ms/package.json +38 -0
  319. package/dist/node_modules/negotiator/LICENSE +24 -0
  320. package/dist/node_modules/negotiator/index.js +83 -0
  321. package/dist/node_modules/negotiator/lib/charset.js +169 -0
  322. package/dist/node_modules/negotiator/lib/encoding.js +205 -0
  323. package/dist/node_modules/negotiator/lib/language.js +179 -0
  324. package/dist/node_modules/negotiator/lib/mediaType.js +294 -0
  325. package/dist/node_modules/negotiator/package.json +43 -0
  326. package/dist/node_modules/node-gyp/.release-please-manifest.json +3 -0
  327. package/dist/node_modules/node-gyp/LICENSE +24 -0
  328. package/dist/node_modules/node-gyp/addon.gypi +204 -0
  329. package/dist/node_modules/node-gyp/bin/node-gyp.js +138 -0
  330. package/dist/node_modules/node-gyp/eslint.config.js +3 -0
  331. package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +3 -0
  332. package/dist/node_modules/node-gyp/gyp/LICENSE +28 -0
  333. package/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +4 -0
  334. package/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
  335. package/dist/node_modules/node-gyp/gyp/gyp +8 -0
  336. package/dist/node_modules/node-gyp/gyp/gyp.bat +5 -0
  337. package/dist/node_modules/node-gyp/gyp/gyp_main.py +45 -0
  338. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +365 -0
  339. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
  340. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1283 -0
  341. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1545 -0
  342. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
  343. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +152 -0
  344. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +270 -0
  345. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +574 -0
  346. package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +707 -0
  347. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +725 -0
  348. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +186 -0
  349. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +170 -0
  350. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +113 -0
  351. package/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
  352. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  353. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +805 -0
  354. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1169 -0
  355. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1316 -0
  356. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +128 -0
  357. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +104 -0
  358. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +461 -0
  359. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +88 -0
  360. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +55 -0
  361. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2755 -0
  362. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3970 -0
  363. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
  364. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2957 -0
  365. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +67 -0
  366. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1389 -0
  367. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +26 -0
  368. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +3097 -0
  369. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +99 -0
  370. package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +765 -0
  371. package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1255 -0
  372. package/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
  373. package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
  374. package/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +371 -0
  375. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1936 -0
  376. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +54 -0
  377. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +301 -0
  378. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3180 -0
  379. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +64 -0
  380. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +3 -0
  381. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +177 -0
  382. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +23 -0
  383. package/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +15 -0
  384. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +107 -0
  385. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +252 -0
  386. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +83 -0
  387. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +359 -0
  388. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +61 -0
  389. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +192 -0
  390. package/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +251 -0
  391. package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +824 -0
  392. package/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
  393. package/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +90 -0
  394. package/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +1030 -0
  395. package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +553 -0
  396. package/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +172 -0
  397. package/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +563 -0
  398. package/dist/node_modules/node-gyp/gyp/pyproject.toml +114 -0
  399. package/dist/node_modules/node-gyp/gyp/release-please-config.json +11 -0
  400. package/dist/node_modules/node-gyp/gyp/test_gyp.py +260 -0
  401. package/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +250 -0
  402. package/dist/node_modules/node-gyp/lib/build.js +230 -0
  403. package/dist/node_modules/node-gyp/lib/clean.js +15 -0
  404. package/dist/node_modules/node-gyp/lib/configure.js +328 -0
  405. package/dist/node_modules/node-gyp/lib/create-config-gypi.js +153 -0
  406. package/dist/node_modules/node-gyp/lib/download.js +39 -0
  407. package/dist/node_modules/node-gyp/lib/find-node-directory.js +63 -0
  408. package/dist/node_modules/node-gyp/lib/find-python.js +310 -0
  409. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +600 -0
  410. package/dist/node_modules/node-gyp/lib/install.js +411 -0
  411. package/dist/node_modules/node-gyp/lib/list.js +26 -0
  412. package/dist/node_modules/node-gyp/lib/log.js +168 -0
  413. package/dist/node_modules/node-gyp/lib/node-gyp.js +199 -0
  414. package/dist/node_modules/node-gyp/lib/process-release.js +146 -0
  415. package/dist/node_modules/node-gyp/lib/rebuild.js +12 -0
  416. package/dist/node_modules/node-gyp/lib/remove.js +43 -0
  417. package/dist/node_modules/node-gyp/lib/util.js +81 -0
  418. package/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +21 -0
  419. package/dist/node_modules/node-gyp/node_modules/isexe/dist/commonjs/index.js +56 -0
  420. package/dist/node_modules/node-gyp/node_modules/isexe/dist/commonjs/index.min.js +2 -0
  421. package/dist/node_modules/node-gyp/node_modules/isexe/dist/commonjs/options.js +3 -0
  422. package/dist/node_modules/node-gyp/node_modules/isexe/dist/commonjs/package.json +3 -0
  423. package/dist/node_modules/node-gyp/node_modules/isexe/dist/commonjs/posix.js +67 -0
  424. package/dist/node_modules/node-gyp/node_modules/isexe/dist/commonjs/win32.js +63 -0
  425. package/dist/node_modules/node-gyp/node_modules/isexe/dist/esm/index.js +16 -0
  426. package/dist/node_modules/node-gyp/node_modules/isexe/dist/esm/index.min.js +2 -0
  427. package/dist/node_modules/node-gyp/node_modules/isexe/dist/esm/options.js +2 -0
  428. package/dist/node_modules/node-gyp/node_modules/isexe/dist/esm/package.json +3 -0
  429. package/dist/node_modules/node-gyp/node_modules/isexe/dist/esm/posix.js +62 -0
  430. package/dist/node_modules/node-gyp/node_modules/isexe/dist/esm/win32.js +58 -0
  431. package/dist/node_modules/node-gyp/node_modules/isexe/package.json +78 -0
  432. package/dist/node_modules/node-gyp/node_modules/which/LICENSE +15 -0
  433. package/dist/node_modules/node-gyp/node_modules/which/bin/which.js +52 -0
  434. package/dist/node_modules/node-gyp/node_modules/which/lib/index.js +111 -0
  435. package/dist/node_modules/node-gyp/node_modules/which/package.json +52 -0
  436. package/dist/node_modules/node-gyp/package.json +52 -0
  437. package/dist/node_modules/node-gyp/release-please-config.json +40 -0
  438. package/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +41 -0
  439. package/dist/node_modules/nopt/LICENSE +15 -0
  440. package/dist/node_modules/nopt/bin/nopt.js +29 -0
  441. package/dist/node_modules/nopt/lib/debug.js +5 -0
  442. package/dist/node_modules/nopt/lib/nopt-lib.js +514 -0
  443. package/dist/node_modules/nopt/lib/nopt.js +34 -0
  444. package/dist/node_modules/nopt/lib/type-defs.js +91 -0
  445. package/dist/node_modules/nopt/package.json +52 -0
  446. package/dist/node_modules/p-map/index.js +283 -0
  447. package/dist/node_modules/p-map/license +9 -0
  448. package/dist/node_modules/p-map/package.json +57 -0
  449. package/dist/node_modules/package-json-from-dist/dist/commonjs/index.js +134 -0
  450. package/dist/node_modules/package-json-from-dist/dist/commonjs/package.json +3 -0
  451. package/dist/node_modules/package-json-from-dist/dist/esm/index.js +129 -0
  452. package/dist/node_modules/package-json-from-dist/dist/esm/package.json +3 -0
  453. package/dist/node_modules/package-json-from-dist/package.json +68 -0
  454. package/dist/node_modules/path-key/index.js +16 -0
  455. package/dist/node_modules/path-key/license +9 -0
  456. package/dist/node_modules/path-key/package.json +39 -0
  457. package/dist/node_modules/path-scurry/dist/commonjs/index.js +2018 -0
  458. package/dist/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  459. package/dist/node_modules/path-scurry/dist/esm/index.js +1983 -0
  460. package/dist/node_modules/path-scurry/dist/esm/package.json +3 -0
  461. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js +1589 -0
  462. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  463. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  464. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js +1585 -0
  465. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  466. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/esm/package.json +3 -0
  467. package/dist/node_modules/path-scurry/node_modules/lru-cache/package.json +101 -0
  468. package/dist/node_modules/path-scurry/package.json +88 -0
  469. package/dist/node_modules/picomatch/LICENSE +21 -0
  470. package/dist/node_modules/picomatch/index.js +17 -0
  471. package/dist/node_modules/picomatch/lib/constants.js +180 -0
  472. package/dist/node_modules/picomatch/lib/parse.js +1085 -0
  473. package/dist/node_modules/picomatch/lib/picomatch.js +341 -0
  474. package/dist/node_modules/picomatch/lib/scan.js +391 -0
  475. package/dist/node_modules/picomatch/lib/utils.js +72 -0
  476. package/dist/node_modules/picomatch/package.json +83 -0
  477. package/dist/node_modules/picomatch/posix.js +3 -0
  478. package/dist/node_modules/proc-log/LICENSE +15 -0
  479. package/dist/node_modules/proc-log/lib/index.js +153 -0
  480. package/dist/node_modules/proc-log/package.json +46 -0
  481. package/dist/node_modules/promise-retry/LICENSE +19 -0
  482. package/dist/node_modules/promise-retry/index.js +52 -0
  483. package/dist/node_modules/promise-retry/package.json +37 -0
  484. package/dist/node_modules/retry/License +21 -0
  485. package/dist/node_modules/retry/equation.gif +0 -0
  486. package/dist/node_modules/retry/index.js +1 -0
  487. package/dist/node_modules/retry/lib/retry.js +100 -0
  488. package/dist/node_modules/retry/lib/retry_operation.js +158 -0
  489. package/dist/node_modules/retry/package.json +32 -0
  490. package/dist/node_modules/safer-buffer/LICENSE +21 -0
  491. package/dist/node_modules/safer-buffer/dangerous.js +58 -0
  492. package/dist/node_modules/safer-buffer/package.json +34 -0
  493. package/dist/node_modules/safer-buffer/safer.js +77 -0
  494. package/dist/node_modules/safer-buffer/tests.js +406 -0
  495. package/dist/node_modules/semver/LICENSE +15 -0
  496. package/dist/node_modules/semver/bin/semver.js +191 -0
  497. package/dist/node_modules/semver/classes/comparator.js +143 -0
  498. package/dist/node_modules/semver/classes/index.js +7 -0
  499. package/dist/node_modules/semver/classes/range.js +557 -0
  500. package/dist/node_modules/semver/classes/semver.js +333 -0
  501. package/dist/node_modules/semver/functions/clean.js +8 -0
  502. package/dist/node_modules/semver/functions/cmp.js +54 -0
  503. package/dist/node_modules/semver/functions/coerce.js +62 -0
  504. package/dist/node_modules/semver/functions/compare-build.js +9 -0
  505. package/dist/node_modules/semver/functions/compare-loose.js +5 -0
  506. package/dist/node_modules/semver/functions/compare.js +7 -0
  507. package/dist/node_modules/semver/functions/diff.js +60 -0
  508. package/dist/node_modules/semver/functions/eq.js +5 -0
  509. package/dist/node_modules/semver/functions/gt.js +5 -0
  510. package/dist/node_modules/semver/functions/gte.js +5 -0
  511. package/dist/node_modules/semver/functions/inc.js +21 -0
  512. package/dist/node_modules/semver/functions/lt.js +5 -0
  513. package/dist/node_modules/semver/functions/lte.js +5 -0
  514. package/dist/node_modules/semver/functions/major.js +5 -0
  515. package/dist/node_modules/semver/functions/minor.js +5 -0
  516. package/dist/node_modules/semver/functions/neq.js +5 -0
  517. package/dist/node_modules/semver/functions/parse.js +18 -0
  518. package/dist/node_modules/semver/functions/patch.js +5 -0
  519. package/dist/node_modules/semver/functions/prerelease.js +8 -0
  520. package/dist/node_modules/semver/functions/rcompare.js +5 -0
  521. package/dist/node_modules/semver/functions/rsort.js +5 -0
  522. package/dist/node_modules/semver/functions/satisfies.js +12 -0
  523. package/dist/node_modules/semver/functions/sort.js +5 -0
  524. package/dist/node_modules/semver/functions/valid.js +8 -0
  525. package/dist/node_modules/semver/index.js +91 -0
  526. package/dist/node_modules/semver/internal/constants.js +37 -0
  527. package/dist/node_modules/semver/internal/debug.js +11 -0
  528. package/dist/node_modules/semver/internal/identifiers.js +29 -0
  529. package/dist/node_modules/semver/internal/lrucache.js +42 -0
  530. package/dist/node_modules/semver/internal/parse-options.js +17 -0
  531. package/dist/node_modules/semver/internal/re.js +223 -0
  532. package/dist/node_modules/semver/package.json +78 -0
  533. package/dist/node_modules/semver/preload.js +4 -0
  534. package/dist/node_modules/semver/range.bnf +16 -0
  535. package/dist/node_modules/semver/ranges/gtr.js +6 -0
  536. package/dist/node_modules/semver/ranges/intersects.js +9 -0
  537. package/dist/node_modules/semver/ranges/ltr.js +6 -0
  538. package/dist/node_modules/semver/ranges/max-satisfying.js +27 -0
  539. package/dist/node_modules/semver/ranges/min-satisfying.js +26 -0
  540. package/dist/node_modules/semver/ranges/min-version.js +63 -0
  541. package/dist/node_modules/semver/ranges/outside.js +82 -0
  542. package/dist/node_modules/semver/ranges/simplify.js +49 -0
  543. package/dist/node_modules/semver/ranges/subset.js +249 -0
  544. package/dist/node_modules/semver/ranges/to-comparators.js +10 -0
  545. package/dist/node_modules/semver/ranges/valid.js +13 -0
  546. package/dist/node_modules/shebang-command/index.js +19 -0
  547. package/dist/node_modules/shebang-command/license +9 -0
  548. package/dist/node_modules/shebang-command/package.json +34 -0
  549. package/dist/node_modules/shebang-regex/index.js +2 -0
  550. package/dist/node_modules/shebang-regex/license +9 -0
  551. package/dist/node_modules/shebang-regex/package.json +35 -0
  552. package/dist/node_modules/signal-exit/LICENSE.txt +16 -0
  553. package/dist/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  554. package/dist/node_modules/signal-exit/dist/cjs/index.js +279 -0
  555. package/dist/node_modules/signal-exit/dist/cjs/package.json +3 -0
  556. package/dist/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  557. package/dist/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  558. package/dist/node_modules/signal-exit/dist/mjs/index.js +275 -0
  559. package/dist/node_modules/signal-exit/dist/mjs/package.json +3 -0
  560. package/dist/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  561. package/dist/node_modules/signal-exit/package.json +106 -0
  562. package/dist/node_modules/smart-buffer/.prettierrc.yaml +5 -0
  563. package/dist/node_modules/smart-buffer/LICENSE +20 -0
  564. package/dist/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
  565. package/dist/node_modules/smart-buffer/build/utils.js +108 -0
  566. package/dist/node_modules/smart-buffer/package.json +79 -0
  567. package/dist/node_modules/socks/.eslintrc.cjs +11 -0
  568. package/dist/node_modules/socks/.prettierrc.yaml +7 -0
  569. package/dist/node_modules/socks/LICENSE +20 -0
  570. package/dist/node_modules/socks/build/client/socksclient.js +793 -0
  571. package/dist/node_modules/socks/build/common/constants.js +108 -0
  572. package/dist/node_modules/socks/build/common/helpers.js +167 -0
  573. package/dist/node_modules/socks/build/common/receivebuffer.js +43 -0
  574. package/dist/node_modules/socks/build/common/util.js +25 -0
  575. package/dist/node_modules/socks/build/index.js +18 -0
  576. package/dist/node_modules/socks/package.json +58 -0
  577. package/dist/node_modules/socks-proxy-agent/LICENSE +22 -0
  578. package/dist/node_modules/socks-proxy-agent/dist/index.js +195 -0
  579. package/dist/node_modules/socks-proxy-agent/package.json +142 -0
  580. package/dist/node_modules/ssri/lib/index.js +580 -0
  581. package/dist/node_modules/ssri/package.json +66 -0
  582. package/dist/node_modules/tar/dist/commonjs/create.js +83 -0
  583. package/dist/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
  584. package/dist/node_modules/tar/dist/commonjs/extract.js +88 -0
  585. package/dist/node_modules/tar/dist/commonjs/get-write-flag.js +29 -0
  586. package/dist/node_modules/tar/dist/commonjs/header.js +325 -0
  587. package/dist/node_modules/tar/dist/commonjs/index.js +64 -0
  588. package/dist/node_modules/tar/dist/commonjs/index.min.js +4 -0
  589. package/dist/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
  590. package/dist/node_modules/tar/dist/commonjs/list.js +150 -0
  591. package/dist/node_modules/tar/dist/commonjs/make-command.js +61 -0
  592. package/dist/node_modules/tar/dist/commonjs/mkdir.js +188 -0
  593. package/dist/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
  594. package/dist/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
  595. package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
  596. package/dist/node_modules/tar/dist/commonjs/options.js +66 -0
  597. package/dist/node_modules/tar/dist/commonjs/pack.js +516 -0
  598. package/dist/node_modules/tar/dist/commonjs/package.json +3 -0
  599. package/dist/node_modules/tar/dist/commonjs/parse.js +620 -0
  600. package/dist/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
  601. package/dist/node_modules/tar/dist/commonjs/pax.js +158 -0
  602. package/dist/node_modules/tar/dist/commonjs/process-umask.js +7 -0
  603. package/dist/node_modules/tar/dist/commonjs/read-entry.js +140 -0
  604. package/dist/node_modules/tar/dist/commonjs/replace.js +232 -0
  605. package/dist/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
  606. package/dist/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
  607. package/dist/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
  608. package/dist/node_modules/tar/dist/commonjs/types.js +50 -0
  609. package/dist/node_modules/tar/dist/commonjs/unpack.js +957 -0
  610. package/dist/node_modules/tar/dist/commonjs/update.js +33 -0
  611. package/dist/node_modules/tar/dist/commonjs/warn-method.js +31 -0
  612. package/dist/node_modules/tar/dist/commonjs/winchars.js +14 -0
  613. package/dist/node_modules/tar/dist/commonjs/write-entry.js +699 -0
  614. package/dist/node_modules/tar/dist/esm/create.js +77 -0
  615. package/dist/node_modules/tar/dist/esm/cwd-error.js +14 -0
  616. package/dist/node_modules/tar/dist/esm/extract.js +49 -0
  617. package/dist/node_modules/tar/dist/esm/get-write-flag.js +23 -0
  618. package/dist/node_modules/tar/dist/esm/header.js +288 -0
  619. package/dist/node_modules/tar/dist/esm/index.js +20 -0
  620. package/dist/node_modules/tar/dist/esm/index.min.js +4 -0
  621. package/dist/node_modules/tar/dist/esm/large-numbers.js +94 -0
  622. package/dist/node_modules/tar/dist/esm/list.js +110 -0
  623. package/dist/node_modules/tar/dist/esm/make-command.js +57 -0
  624. package/dist/node_modules/tar/dist/esm/mkdir.js +180 -0
  625. package/dist/node_modules/tar/dist/esm/mode-fix.js +25 -0
  626. package/dist/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
  627. package/dist/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
  628. package/dist/node_modules/tar/dist/esm/options.js +54 -0
  629. package/dist/node_modules/tar/dist/esm/pack.js +474 -0
  630. package/dist/node_modules/tar/dist/esm/package.json +3 -0
  631. package/dist/node_modules/tar/dist/esm/parse.js +616 -0
  632. package/dist/node_modules/tar/dist/esm/path-reservations.js +166 -0
  633. package/dist/node_modules/tar/dist/esm/pax.js +154 -0
  634. package/dist/node_modules/tar/dist/esm/process-umask.js +3 -0
  635. package/dist/node_modules/tar/dist/esm/read-entry.js +136 -0
  636. package/dist/node_modules/tar/dist/esm/replace.js +226 -0
  637. package/dist/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
  638. package/dist/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
  639. package/dist/node_modules/tar/dist/esm/symlink-error.js +15 -0
  640. package/dist/node_modules/tar/dist/esm/types.js +45 -0
  641. package/dist/node_modules/tar/dist/esm/unpack.js +916 -0
  642. package/dist/node_modules/tar/dist/esm/update.js +30 -0
  643. package/dist/node_modules/tar/dist/esm/warn-method.js +27 -0
  644. package/dist/node_modules/tar/dist/esm/winchars.js +9 -0
  645. package/dist/node_modules/tar/dist/esm/write-entry.js +657 -0
  646. package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/index.js +384 -0
  647. package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/package.json +3 -0
  648. package/dist/node_modules/tar/node_modules/yallist/dist/esm/index.js +379 -0
  649. package/dist/node_modules/tar/node_modules/yallist/dist/esm/package.json +3 -0
  650. package/dist/node_modules/tar/node_modules/yallist/package.json +68 -0
  651. package/dist/node_modules/tar/package.json +292 -0
  652. package/dist/node_modules/tinyglobby/LICENSE +21 -0
  653. package/dist/node_modules/tinyglobby/dist/index.cjs +350 -0
  654. package/dist/node_modules/tinyglobby/dist/index.d.cts +147 -0
  655. package/dist/node_modules/tinyglobby/dist/index.d.mts +147 -0
  656. package/dist/node_modules/tinyglobby/dist/index.mjs +318 -0
  657. package/dist/node_modules/tinyglobby/package.json +73 -0
  658. package/dist/node_modules/unique-filename/LICENSE +5 -0
  659. package/dist/node_modules/unique-filename/lib/index.js +7 -0
  660. package/dist/node_modules/unique-filename/package.json +53 -0
  661. package/dist/node_modules/unique-slug/LICENSE +15 -0
  662. package/dist/node_modules/unique-slug/lib/index.js +11 -0
  663. package/dist/node_modules/unique-slug/package.json +49 -0
  664. package/{LICENSE → dist/node_modules/v8-compile-cache/LICENSE} +1 -2
  665. package/dist/node_modules/v8-compile-cache/package.json +34 -0
  666. package/dist/node_modules/v8-compile-cache/v8-compile-cache.js +373 -0
  667. package/dist/node_modules/which/LICENSE +15 -0
  668. package/dist/node_modules/which/bin/node-which +52 -0
  669. package/dist/node_modules/which/package.json +43 -0
  670. package/dist/node_modules/which/which.js +125 -0
  671. package/dist/node_modules/yallist/LICENSE +15 -0
  672. package/dist/node_modules/yallist/iterator.js +8 -0
  673. package/dist/node_modules/yallist/package.json +29 -0
  674. package/dist/node_modules/yallist/yallist.js +426 -0
  675. package/dist/pnpm.mjs +231795 -0
  676. package/dist/pnpmrc +2 -0
  677. package/dist/templates/completion.bash +31 -0
  678. package/dist/templates/completion.fish +22 -0
  679. package/dist/templates/completion.ps1 +193 -0
  680. package/dist/templates/completion.zsh +27 -0
  681. package/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  682. package/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  683. package/dist/worker.js +11930 -0
  684. package/package.json +17 -9
  685. package/setup.js +2 -1
  686. package/CHANGELOG.md +0 -15
@@ -0,0 +1,83 @@
1
+ """PEP 656 support.
2
+
3
+ This module implements logic to detect if the currently running Python is
4
+ linked against musl, and what musl version is used.
5
+ """
6
+
7
+ import functools
8
+ import re
9
+ import subprocess
10
+ import sys
11
+ from typing import Iterator, NamedTuple, Optional, Sequence
12
+
13
+ from ._elffile import ELFFile
14
+
15
+
16
+ class _MuslVersion(NamedTuple):
17
+ major: int
18
+ minor: int
19
+
20
+
21
+ def _parse_musl_version(output: str) -> Optional[_MuslVersion]:
22
+ lines = [n for n in (n.strip() for n in output.splitlines()) if n]
23
+ if len(lines) < 2 or lines[0][:4] != "musl":
24
+ return None
25
+ m = re.match(r"Version (\d+)\.(\d+)", lines[1])
26
+ if not m:
27
+ return None
28
+ return _MuslVersion(major=int(m.group(1)), minor=int(m.group(2)))
29
+
30
+
31
+ @functools.lru_cache()
32
+ def _get_musl_version(executable: str) -> Optional[_MuslVersion]:
33
+ """Detect currently-running musl runtime version.
34
+
35
+ This is done by checking the specified executable's dynamic linking
36
+ information, and invoking the loader to parse its output for a version
37
+ string. If the loader is musl, the output would be something like::
38
+
39
+ musl libc (x86_64)
40
+ Version 1.2.2
41
+ Dynamic Program Loader
42
+ """
43
+ try:
44
+ with open(executable, "rb") as f:
45
+ ld = ELFFile(f).interpreter
46
+ except (OSError, TypeError, ValueError):
47
+ return None
48
+ if ld is None or "musl" not in ld:
49
+ return None
50
+ proc = subprocess.run([ld], stderr=subprocess.PIPE, text=True)
51
+ return _parse_musl_version(proc.stderr)
52
+
53
+
54
+ def platform_tags(archs: Sequence[str]) -> Iterator[str]:
55
+ """Generate musllinux tags compatible to the current platform.
56
+
57
+ :param archs: Sequence of compatible architectures.
58
+ The first one shall be the closest to the actual architecture and be the part of
59
+ platform tag after the ``linux_`` prefix, e.g. ``x86_64``.
60
+ The ``linux_`` prefix is assumed as a prerequisite for the current platform to
61
+ be musllinux-compatible.
62
+
63
+ :returns: An iterator of compatible musllinux tags.
64
+ """
65
+ sys_musl = _get_musl_version(sys.executable)
66
+ if sys_musl is None: # Python not dynamically linked against musl.
67
+ return
68
+ for arch in archs:
69
+ for minor in range(sys_musl.minor, -1, -1):
70
+ yield f"musllinux_{sys_musl.major}_{minor}_{arch}"
71
+
72
+
73
+ if __name__ == "__main__": # pragma: no cover
74
+ import sysconfig
75
+
76
+ plat = sysconfig.get_platform()
77
+ assert plat.startswith("linux-"), "not linux"
78
+
79
+ print("plat:", plat)
80
+ print("musl:", _get_musl_version(sys.executable))
81
+ print("tags:", end=" ")
82
+ for t in platform_tags(re.sub(r"[.-]", "_", plat.split("-", 1)[-1])):
83
+ print(t, end="\n ")
@@ -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()