pxnpm 3.0.8 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (737) hide show
  1. package/LICENSE +3 -2
  2. package/README.md +223 -48
  3. package/bin/pnpm.cjs +26 -0
  4. package/bin/pnpx.cjs +5 -0
  5. package/dist/node-gyp-bin/node-gyp +6 -0
  6. package/dist/node-gyp-bin/node-gyp.cmd +5 -0
  7. package/dist/node_modules/.modules.yaml +317 -0
  8. package/dist/node_modules/.pnpm/lock.yaml +952 -0
  9. package/dist/node_modules/@gar/promisify/index.js +36 -0
  10. package/dist/node_modules/@gar/promisify/package.json +32 -0
  11. package/dist/node_modules/@npmcli/fs/lib/common/get-options.js +20 -0
  12. package/dist/node_modules/@npmcli/fs/lib/common/node.js +9 -0
  13. package/dist/node_modules/@npmcli/fs/lib/common/owner-sync.js +96 -0
  14. package/dist/node_modules/@npmcli/fs/lib/common/owner.js +96 -0
  15. package/dist/node_modules/@npmcli/fs/lib/copy-file.js +16 -0
  16. package/dist/node_modules/@npmcli/fs/lib/cp/LICENSE +15 -0
  17. package/dist/node_modules/@npmcli/fs/lib/cp/index.js +22 -0
  18. package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +428 -0
  19. package/dist/node_modules/@npmcli/fs/lib/errors.js +129 -0
  20. package/dist/node_modules/@npmcli/fs/lib/fs.js +14 -0
  21. package/dist/node_modules/@npmcli/fs/lib/index.js +12 -0
  22. package/dist/node_modules/@npmcli/fs/lib/mkdir.js +19 -0
  23. package/dist/node_modules/@npmcli/fs/lib/mkdtemp.js +23 -0
  24. package/dist/node_modules/@npmcli/fs/lib/rm/index.js +22 -0
  25. package/dist/node_modules/@npmcli/fs/lib/rm/polyfill.js +239 -0
  26. package/dist/node_modules/@npmcli/fs/lib/with-owner-sync.js +21 -0
  27. package/dist/node_modules/@npmcli/fs/lib/with-owner.js +21 -0
  28. package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +41 -0
  29. package/dist/node_modules/@npmcli/fs/lib/write-file.js +14 -0
  30. package/dist/node_modules/@npmcli/fs/package.json +50 -0
  31. package/dist/node_modules/@npmcli/move-file/lib/index.js +185 -0
  32. package/dist/node_modules/@npmcli/move-file/package.json +47 -0
  33. package/dist/node_modules/@tootallnate/once/LICENSE +21 -0
  34. package/dist/node_modules/@tootallnate/once/dist/index.js +24 -0
  35. package/dist/node_modules/@tootallnate/once/dist/index.js.map +1 -0
  36. package/dist/node_modules/@tootallnate/once/dist/overloaded-parameters.js +3 -0
  37. package/dist/node_modules/@tootallnate/once/dist/overloaded-parameters.js.map +1 -0
  38. package/dist/node_modules/@tootallnate/once/dist/types.js +3 -0
  39. package/dist/node_modules/@tootallnate/once/dist/types.js.map +1 -0
  40. package/dist/node_modules/@tootallnate/once/package.json +52 -0
  41. package/dist/node_modules/abbrev/LICENSE +46 -0
  42. package/dist/node_modules/abbrev/abbrev.js +61 -0
  43. package/dist/node_modules/abbrev/package.json +21 -0
  44. package/dist/node_modules/agent-base/dist/src/index.js +203 -0
  45. package/dist/node_modules/agent-base/dist/src/index.js.map +1 -0
  46. package/dist/node_modules/agent-base/dist/src/promisify.js +18 -0
  47. package/dist/node_modules/agent-base/dist/src/promisify.js.map +1 -0
  48. package/dist/node_modules/agent-base/package.json +64 -0
  49. package/dist/node_modules/agentkeepalive/LICENSE +23 -0
  50. package/dist/node_modules/agentkeepalive/browser.js +5 -0
  51. package/dist/node_modules/agentkeepalive/index.js +5 -0
  52. package/dist/node_modules/agentkeepalive/lib/agent.js +402 -0
  53. package/dist/node_modules/agentkeepalive/lib/constants.js +14 -0
  54. package/dist/node_modules/agentkeepalive/lib/https_agent.js +51 -0
  55. package/dist/node_modules/agentkeepalive/package.json +56 -0
  56. package/dist/node_modules/aggregate-error/index.js +47 -0
  57. package/dist/node_modules/aggregate-error/license +9 -0
  58. package/dist/node_modules/aggregate-error/package.json +41 -0
  59. package/dist/node_modules/ansi-regex/index.js +10 -0
  60. package/dist/node_modules/ansi-regex/license +9 -0
  61. package/dist/node_modules/ansi-regex/package.json +55 -0
  62. package/dist/node_modules/aproba/LICENSE +14 -0
  63. package/dist/node_modules/aproba/index.js +105 -0
  64. package/dist/node_modules/aproba/package.json +35 -0
  65. package/dist/node_modules/are-we-there-yet/lib/index.js +4 -0
  66. package/dist/node_modules/are-we-there-yet/lib/tracker-base.js +11 -0
  67. package/dist/node_modules/are-we-there-yet/lib/tracker-group.js +116 -0
  68. package/dist/node_modules/are-we-there-yet/lib/tracker-stream.js +36 -0
  69. package/dist/node_modules/are-we-there-yet/lib/tracker.js +32 -0
  70. package/dist/node_modules/are-we-there-yet/package.json +56 -0
  71. package/dist/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  72. package/dist/node_modules/balanced-match/index.js +62 -0
  73. package/dist/node_modules/balanced-match/package.json +48 -0
  74. package/dist/node_modules/brace-expansion/LICENSE +21 -0
  75. package/dist/node_modules/brace-expansion/index.js +201 -0
  76. package/dist/node_modules/brace-expansion/package.json +47 -0
  77. package/dist/node_modules/cacache/lib/content/path.js +29 -0
  78. package/dist/node_modules/cacache/lib/content/read.js +241 -0
  79. package/dist/node_modules/cacache/lib/content/rm.js +20 -0
  80. package/dist/node_modules/cacache/lib/content/write.js +189 -0
  81. package/dist/node_modules/cacache/lib/entry-index.js +404 -0
  82. package/dist/node_modules/cacache/lib/get.js +225 -0
  83. package/dist/node_modules/cacache/lib/index.js +45 -0
  84. package/dist/node_modules/cacache/lib/memoization.js +72 -0
  85. package/dist/node_modules/cacache/lib/put.js +80 -0
  86. package/dist/node_modules/cacache/lib/rm.js +31 -0
  87. package/dist/node_modules/cacache/lib/util/fix-owner.js +145 -0
  88. package/dist/node_modules/cacache/lib/util/hash-to-segments.js +7 -0
  89. package/dist/node_modules/cacache/lib/util/move-file.js +56 -0
  90. package/dist/node_modules/cacache/lib/util/tmp.js +33 -0
  91. package/dist/node_modules/cacache/lib/verify.js +257 -0
  92. package/dist/node_modules/cacache/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
  93. package/dist/node_modules/cacache/node_modules/brace-expansion/LICENSE +21 -0
  94. package/dist/node_modules/cacache/node_modules/brace-expansion/index.js +203 -0
  95. package/dist/node_modules/cacache/node_modules/brace-expansion/package.json +46 -0
  96. package/dist/node_modules/cacache/node_modules/glob/LICENSE +15 -0
  97. package/dist/node_modules/cacache/node_modules/glob/common.js +244 -0
  98. package/dist/node_modules/cacache/node_modules/glob/glob.js +790 -0
  99. package/dist/node_modules/cacache/node_modules/glob/package.json +55 -0
  100. package/dist/node_modules/cacache/node_modules/glob/sync.js +486 -0
  101. package/dist/node_modules/cacache/node_modules/minimatch/LICENSE +15 -0
  102. package/dist/node_modules/cacache/node_modules/minimatch/lib/path.js +4 -0
  103. package/dist/node_modules/cacache/node_modules/minimatch/minimatch.js +944 -0
  104. package/dist/node_modules/cacache/node_modules/minimatch/package.json +35 -0
  105. package/dist/node_modules/cacache/package.json +84 -0
  106. package/dist/node_modules/chownr/LICENSE +15 -0
  107. package/dist/node_modules/chownr/chownr.js +167 -0
  108. package/dist/node_modules/chownr/package.json +32 -0
  109. package/dist/node_modules/clean-stack/index.js +40 -0
  110. package/dist/node_modules/clean-stack/license +9 -0
  111. package/dist/node_modules/clean-stack/package.json +39 -0
  112. package/dist/node_modules/color-support/LICENSE +15 -0
  113. package/dist/node_modules/color-support/bin.js +3 -0
  114. package/dist/node_modules/color-support/browser.js +14 -0
  115. package/dist/node_modules/color-support/index.js +134 -0
  116. package/dist/node_modules/color-support/package.json +36 -0
  117. package/dist/node_modules/concat-map/LICENSE +18 -0
  118. package/dist/node_modules/concat-map/README.markdown +62 -0
  119. package/dist/node_modules/concat-map/index.js +13 -0
  120. package/dist/node_modules/concat-map/package.json +43 -0
  121. package/dist/node_modules/console-control-strings/LICENSE +13 -0
  122. package/dist/node_modules/console-control-strings/README.md~ +140 -0
  123. package/dist/node_modules/console-control-strings/index.js +125 -0
  124. package/dist/node_modules/console-control-strings/package.json +27 -0
  125. package/dist/node_modules/debug/LICENSE +20 -0
  126. package/dist/node_modules/debug/node_modules/ms/index.js +162 -0
  127. package/dist/node_modules/debug/node_modules/ms/package.json +37 -0
  128. package/dist/node_modules/debug/package.json +59 -0
  129. package/dist/node_modules/debug/src/browser.js +269 -0
  130. package/dist/node_modules/debug/src/common.js +274 -0
  131. package/dist/node_modules/debug/src/index.js +10 -0
  132. package/dist/node_modules/debug/src/node.js +263 -0
  133. package/dist/node_modules/delegates/License +20 -0
  134. package/dist/node_modules/delegates/index.js +121 -0
  135. package/dist/node_modules/delegates/package.json +13 -0
  136. package/dist/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  137. package/dist/node_modules/emoji-regex/es2015/index.js +6 -0
  138. package/dist/node_modules/emoji-regex/es2015/text.js +6 -0
  139. package/dist/node_modules/emoji-regex/index.js +6 -0
  140. package/dist/node_modules/emoji-regex/package.json +50 -0
  141. package/dist/node_modules/emoji-regex/text.js +6 -0
  142. package/dist/node_modules/encoding/.prettierrc.js +8 -0
  143. package/dist/node_modules/encoding/LICENSE +16 -0
  144. package/dist/node_modules/encoding/lib/encoding.js +83 -0
  145. package/dist/node_modules/encoding/package.json +18 -0
  146. package/dist/node_modules/env-paths/index.js +74 -0
  147. package/dist/node_modules/env-paths/license +9 -0
  148. package/dist/node_modules/env-paths/package.json +45 -0
  149. package/dist/node_modules/err-code/.eslintrc.json +7 -0
  150. package/dist/node_modules/err-code/bower.json +30 -0
  151. package/dist/node_modules/err-code/index.js +47 -0
  152. package/dist/node_modules/err-code/index.umd.js +51 -0
  153. package/dist/node_modules/err-code/package.json +34 -0
  154. package/dist/node_modules/exponential-backoff/LICENSE +202 -0
  155. package/dist/node_modules/exponential-backoff/dist/backoff.js +118 -0
  156. package/dist/node_modules/exponential-backoff/dist/backoff.js.map +1 -0
  157. package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
  158. package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js.map +1 -0
  159. package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
  160. package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js.map +1 -0
  161. package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
  162. package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js.map +1 -0
  163. package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
  164. package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js.map +1 -0
  165. package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
  166. package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js.map +1 -0
  167. package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
  168. package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js.map +1 -0
  169. package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
  170. package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js.map +1 -0
  171. package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
  172. package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js.map +1 -0
  173. package/dist/node_modules/exponential-backoff/dist/options.js +31 -0
  174. package/dist/node_modules/exponential-backoff/dist/options.js.map +1 -0
  175. package/dist/node_modules/exponential-backoff/package.json +61 -0
  176. package/dist/node_modules/fs-minipass/LICENSE +15 -0
  177. package/dist/node_modules/fs-minipass/index.js +422 -0
  178. package/dist/node_modules/fs-minipass/package.json +39 -0
  179. package/dist/node_modules/fs.realpath/LICENSE +43 -0
  180. package/dist/node_modules/fs.realpath/index.js +66 -0
  181. package/dist/node_modules/fs.realpath/old.js +303 -0
  182. package/dist/node_modules/fs.realpath/package.json +26 -0
  183. package/dist/node_modules/gauge/lib/base-theme.js +18 -0
  184. package/dist/node_modules/gauge/lib/error.js +24 -0
  185. package/dist/node_modules/gauge/lib/has-color.js +4 -0
  186. package/dist/node_modules/gauge/lib/index.js +289 -0
  187. package/dist/node_modules/gauge/lib/plumbing.js +50 -0
  188. package/dist/node_modules/gauge/lib/process.js +3 -0
  189. package/dist/node_modules/gauge/lib/progress-bar.js +41 -0
  190. package/dist/node_modules/gauge/lib/render-template.js +222 -0
  191. package/dist/node_modules/gauge/lib/set-immediate.js +7 -0
  192. package/dist/node_modules/gauge/lib/set-interval.js +3 -0
  193. package/dist/node_modules/gauge/lib/spin.js +5 -0
  194. package/dist/node_modules/gauge/lib/template-item.js +87 -0
  195. package/dist/node_modules/gauge/lib/theme-set.js +122 -0
  196. package/dist/node_modules/gauge/lib/themes.js +56 -0
  197. package/dist/node_modules/gauge/lib/wide-truncate.js +31 -0
  198. package/dist/node_modules/gauge/package.json +66 -0
  199. package/dist/node_modules/glob/LICENSE +21 -0
  200. package/dist/node_modules/glob/common.js +238 -0
  201. package/dist/node_modules/glob/glob.js +790 -0
  202. package/dist/node_modules/glob/package.json +55 -0
  203. package/dist/node_modules/glob/sync.js +486 -0
  204. package/dist/node_modules/graceful-fs/LICENSE +15 -0
  205. package/dist/node_modules/graceful-fs/clone.js +23 -0
  206. package/dist/node_modules/graceful-fs/graceful-fs.js +448 -0
  207. package/dist/node_modules/graceful-fs/legacy-streams.js +118 -0
  208. package/dist/node_modules/graceful-fs/package.json +53 -0
  209. package/dist/node_modules/graceful-fs/polyfills.js +355 -0
  210. package/dist/node_modules/has-unicode/LICENSE +14 -0
  211. package/dist/node_modules/has-unicode/index.js +16 -0
  212. package/dist/node_modules/has-unicode/package.json +30 -0
  213. package/dist/node_modules/http-cache-semantics/LICENSE +9 -0
  214. package/dist/node_modules/http-cache-semantics/index.js +674 -0
  215. package/dist/node_modules/http-cache-semantics/package.json +18 -0
  216. package/dist/node_modules/http-proxy-agent/dist/agent.js +145 -0
  217. package/dist/node_modules/http-proxy-agent/dist/agent.js.map +1 -0
  218. package/dist/node_modules/http-proxy-agent/dist/index.js +14 -0
  219. package/dist/node_modules/http-proxy-agent/dist/index.js.map +1 -0
  220. package/dist/node_modules/http-proxy-agent/package.json +57 -0
  221. package/dist/node_modules/https-proxy-agent/dist/agent.js +177 -0
  222. package/dist/node_modules/https-proxy-agent/dist/agent.js.map +1 -0
  223. package/dist/node_modules/https-proxy-agent/dist/index.js +14 -0
  224. package/dist/node_modules/https-proxy-agent/dist/index.js.map +1 -0
  225. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +66 -0
  226. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
  227. package/dist/node_modules/https-proxy-agent/package.json +56 -0
  228. package/dist/node_modules/humanize-ms/LICENSE +17 -0
  229. package/dist/node_modules/humanize-ms/index.js +24 -0
  230. package/dist/node_modules/humanize-ms/package.json +37 -0
  231. package/dist/node_modules/iconv-lite/.github/dependabot.yml +11 -0
  232. package/dist/node_modules/iconv-lite/.idea/codeStyles/Project.xml +47 -0
  233. package/dist/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml +5 -0
  234. package/dist/node_modules/iconv-lite/.idea/iconv-lite.iml +12 -0
  235. package/dist/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml +6 -0
  236. package/dist/node_modules/iconv-lite/.idea/modules.xml +8 -0
  237. package/dist/node_modules/iconv-lite/.idea/vcs.xml +6 -0
  238. package/dist/node_modules/iconv-lite/LICENSE +21 -0
  239. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +597 -0
  240. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +188 -0
  241. package/dist/node_modules/iconv-lite/encodings/index.js +23 -0
  242. package/dist/node_modules/iconv-lite/encodings/internal.js +198 -0
  243. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  244. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  245. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +179 -0
  246. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  247. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  248. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  249. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  250. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  251. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  252. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  253. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  254. package/dist/node_modules/iconv-lite/encodings/utf16.js +197 -0
  255. package/dist/node_modules/iconv-lite/encodings/utf32.js +319 -0
  256. package/dist/node_modules/iconv-lite/encodings/utf7.js +290 -0
  257. package/dist/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  258. package/dist/node_modules/iconv-lite/lib/index.js +180 -0
  259. package/dist/node_modules/iconv-lite/lib/streams.js +109 -0
  260. package/dist/node_modules/iconv-lite/package.json +44 -0
  261. package/dist/node_modules/imurmurhash/imurmurhash.js +138 -0
  262. package/dist/node_modules/imurmurhash/imurmurhash.min.js +12 -0
  263. package/dist/node_modules/imurmurhash/package.json +40 -0
  264. package/dist/node_modules/indent-string/index.js +35 -0
  265. package/dist/node_modules/indent-string/license +9 -0
  266. package/dist/node_modules/indent-string/package.json +37 -0
  267. package/dist/node_modules/infer-owner/LICENSE +15 -0
  268. package/dist/node_modules/infer-owner/index.js +71 -0
  269. package/dist/node_modules/infer-owner/package.json +26 -0
  270. package/dist/node_modules/inflight/LICENSE +15 -0
  271. package/dist/node_modules/inflight/inflight.js +54 -0
  272. package/dist/node_modules/inflight/package.json +29 -0
  273. package/dist/node_modules/inherits/LICENSE +16 -0
  274. package/dist/node_modules/inherits/inherits.js +9 -0
  275. package/dist/node_modules/inherits/inherits_browser.js +27 -0
  276. package/dist/node_modules/inherits/package.json +29 -0
  277. package/dist/node_modules/ip-address/LICENSE +19 -0
  278. package/dist/node_modules/ip-address/dist/address-error.d.ts.map +1 -0
  279. package/dist/node_modules/ip-address/dist/address-error.js +14 -0
  280. package/dist/node_modules/ip-address/dist/address-error.js.map +1 -0
  281. package/dist/node_modules/ip-address/dist/common.d.ts.map +1 -0
  282. package/dist/node_modules/ip-address/dist/common.js +26 -0
  283. package/dist/node_modules/ip-address/dist/common.js.map +1 -0
  284. package/dist/node_modules/ip-address/dist/ip-address.d.ts.map +1 -0
  285. package/dist/node_modules/ip-address/dist/ip-address.js +35 -0
  286. package/dist/node_modules/ip-address/dist/ip-address.js.map +1 -0
  287. package/dist/node_modules/ip-address/dist/ipv4.d.ts.map +1 -0
  288. package/dist/node_modules/ip-address/dist/ipv4.js +326 -0
  289. package/dist/node_modules/ip-address/dist/ipv4.js.map +1 -0
  290. package/dist/node_modules/ip-address/dist/ipv6.d.ts.map +1 -0
  291. package/dist/node_modules/ip-address/dist/ipv6.js +998 -0
  292. package/dist/node_modules/ip-address/dist/ipv6.js.map +1 -0
  293. package/dist/node_modules/ip-address/dist/v4/constants.d.ts.map +1 -0
  294. package/dist/node_modules/ip-address/dist/v4/constants.js +8 -0
  295. package/dist/node_modules/ip-address/dist/v4/constants.js.map +1 -0
  296. package/dist/node_modules/ip-address/dist/v6/constants.d.ts.map +1 -0
  297. package/dist/node_modules/ip-address/dist/v6/constants.js +76 -0
  298. package/dist/node_modules/ip-address/dist/v6/constants.js.map +1 -0
  299. package/dist/node_modules/ip-address/dist/v6/helpers.d.ts.map +1 -0
  300. package/dist/node_modules/ip-address/dist/v6/helpers.js +48 -0
  301. package/dist/node_modules/ip-address/dist/v6/helpers.js.map +1 -0
  302. package/dist/node_modules/ip-address/dist/v6/regular-expressions.d.ts.map +1 -0
  303. package/dist/node_modules/ip-address/dist/v6/regular-expressions.js +96 -0
  304. package/dist/node_modules/ip-address/dist/v6/regular-expressions.js.map +1 -0
  305. package/dist/node_modules/ip-address/package.json +87 -0
  306. package/dist/node_modules/is-fullwidth-code-point/index.js +50 -0
  307. package/dist/node_modules/is-fullwidth-code-point/license +9 -0
  308. package/dist/node_modules/is-fullwidth-code-point/package.json +42 -0
  309. package/dist/node_modules/is-lambda/LICENSE +21 -0
  310. package/dist/node_modules/is-lambda/index.js +6 -0
  311. package/dist/node_modules/is-lambda/package.json +35 -0
  312. package/dist/node_modules/is-lambda/test.js +16 -0
  313. package/dist/node_modules/isexe/LICENSE +15 -0
  314. package/dist/node_modules/isexe/index.js +57 -0
  315. package/dist/node_modules/isexe/mode.js +41 -0
  316. package/dist/node_modules/isexe/package.json +31 -0
  317. package/dist/node_modules/isexe/windows.js +42 -0
  318. package/dist/node_modules/jsbn/LICENSE +40 -0
  319. package/dist/node_modules/jsbn/example.html +11 -0
  320. package/dist/node_modules/jsbn/example.js +5 -0
  321. package/dist/node_modules/jsbn/index.js +1361 -0
  322. package/dist/node_modules/jsbn/package.json +21 -0
  323. package/dist/node_modules/lru-cache/LICENSE +15 -0
  324. package/dist/node_modules/lru-cache/index.js +1227 -0
  325. package/dist/node_modules/lru-cache/index.mjs +1227 -0
  326. package/dist/node_modules/lru-cache/package.json +96 -0
  327. package/dist/node_modules/make-fetch-happen/LICENSE +16 -0
  328. package/dist/node_modules/make-fetch-happen/lib/agent.js +214 -0
  329. package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +444 -0
  330. package/dist/node_modules/make-fetch-happen/lib/cache/errors.js +11 -0
  331. package/dist/node_modules/make-fetch-happen/lib/cache/index.js +49 -0
  332. package/dist/node_modules/make-fetch-happen/lib/cache/key.js +17 -0
  333. package/dist/node_modules/make-fetch-happen/lib/cache/policy.js +161 -0
  334. package/dist/node_modules/make-fetch-happen/lib/dns.js +49 -0
  335. package/dist/node_modules/make-fetch-happen/lib/fetch.js +118 -0
  336. package/dist/node_modules/make-fetch-happen/lib/index.js +41 -0
  337. package/dist/node_modules/make-fetch-happen/lib/options.js +52 -0
  338. package/dist/node_modules/make-fetch-happen/lib/pipeline.js +41 -0
  339. package/dist/node_modules/make-fetch-happen/lib/remote.js +121 -0
  340. package/dist/node_modules/make-fetch-happen/package.json +79 -0
  341. package/dist/node_modules/minimatch/LICENSE +15 -0
  342. package/dist/node_modules/minimatch/minimatch.js +947 -0
  343. package/dist/node_modules/minimatch/package.json +33 -0
  344. package/dist/node_modules/minipass/LICENSE +15 -0
  345. package/dist/node_modules/minipass/index.js +649 -0
  346. package/dist/node_modules/minipass/package.json +56 -0
  347. package/dist/node_modules/minipass-collect/LICENSE +15 -0
  348. package/dist/node_modules/minipass-collect/index.js +71 -0
  349. package/dist/node_modules/minipass-collect/package.json +29 -0
  350. package/dist/node_modules/minipass-fetch/LICENSE +28 -0
  351. package/dist/node_modules/minipass-fetch/lib/abort-error.js +17 -0
  352. package/dist/node_modules/minipass-fetch/lib/blob.js +97 -0
  353. package/dist/node_modules/minipass-fetch/lib/body.js +350 -0
  354. package/dist/node_modules/minipass-fetch/lib/fetch-error.js +32 -0
  355. package/dist/node_modules/minipass-fetch/lib/headers.js +267 -0
  356. package/dist/node_modules/minipass-fetch/lib/index.js +365 -0
  357. package/dist/node_modules/minipass-fetch/lib/request.js +281 -0
  358. package/dist/node_modules/minipass-fetch/lib/response.js +90 -0
  359. package/dist/node_modules/minipass-fetch/package.json +67 -0
  360. package/dist/node_modules/minipass-flush/LICENSE +15 -0
  361. package/dist/node_modules/minipass-flush/index.js +39 -0
  362. package/dist/node_modules/minipass-flush/package.json +39 -0
  363. package/dist/node_modules/minipass-pipeline/LICENSE +15 -0
  364. package/dist/node_modules/minipass-pipeline/index.js +128 -0
  365. package/dist/node_modules/minipass-pipeline/package.json +29 -0
  366. package/dist/node_modules/minipass-sized/LICENSE +15 -0
  367. package/dist/node_modules/minipass-sized/index.js +67 -0
  368. package/dist/node_modules/minipass-sized/package-lock.json +3464 -0
  369. package/dist/node_modules/minipass-sized/package.json +39 -0
  370. package/dist/node_modules/minizlib/LICENSE +26 -0
  371. package/dist/node_modules/minizlib/constants.js +115 -0
  372. package/dist/node_modules/minizlib/index.js +348 -0
  373. package/dist/node_modules/minizlib/package.json +42 -0
  374. package/dist/node_modules/mkdirp/LICENSE +21 -0
  375. package/dist/node_modules/mkdirp/bin/cmd.js +68 -0
  376. package/dist/node_modules/mkdirp/index.js +31 -0
  377. package/dist/node_modules/mkdirp/lib/find-made.js +29 -0
  378. package/dist/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  379. package/dist/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  380. package/dist/node_modules/mkdirp/lib/opts-arg.js +23 -0
  381. package/dist/node_modules/mkdirp/lib/path-arg.js +29 -0
  382. package/dist/node_modules/mkdirp/lib/use-native.js +10 -0
  383. package/dist/node_modules/mkdirp/package.json +44 -0
  384. package/dist/node_modules/mkdirp/readme.markdown +266 -0
  385. package/dist/node_modules/ms/index.js +162 -0
  386. package/dist/node_modules/ms/package.json +38 -0
  387. package/dist/node_modules/negotiator/LICENSE +24 -0
  388. package/dist/node_modules/negotiator/index.js +82 -0
  389. package/dist/node_modules/negotiator/lib/charset.js +169 -0
  390. package/dist/node_modules/negotiator/lib/encoding.js +184 -0
  391. package/dist/node_modules/negotiator/lib/language.js +179 -0
  392. package/dist/node_modules/negotiator/lib/mediaType.js +294 -0
  393. package/dist/node_modules/negotiator/package.json +42 -0
  394. package/dist/node_modules/node-gyp/.github/workflows/release-please-v9.yml +57 -0
  395. package/dist/node_modules/node-gyp/.github/workflows/release-please.yml +56 -0
  396. package/dist/node_modules/node-gyp/.github/workflows/tests.yml +59 -0
  397. package/dist/node_modules/node-gyp/.github/workflows/visual-studio.yml +37 -0
  398. package/dist/node_modules/node-gyp/LICENSE +24 -0
  399. package/dist/node_modules/node-gyp/addon.gypi +204 -0
  400. package/dist/node_modules/node-gyp/bin/node-gyp.js +140 -0
  401. package/dist/node_modules/node-gyp/gyp/.flake8 +4 -0
  402. package/dist/node_modules/node-gyp/gyp/.github/workflows/Python_tests.yml +36 -0
  403. package/dist/node_modules/node-gyp/gyp/.github/workflows/node-gyp.yml +45 -0
  404. package/dist/node_modules/node-gyp/gyp/.github/workflows/nodejs-windows.yml +32 -0
  405. package/dist/node_modules/node-gyp/gyp/.github/workflows/release-please.yml +16 -0
  406. package/dist/node_modules/node-gyp/gyp/LICENSE +28 -0
  407. package/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
  408. package/dist/node_modules/node-gyp/gyp/gyp +8 -0
  409. package/dist/node_modules/node-gyp/gyp/gyp.bat +5 -0
  410. package/dist/node_modules/node-gyp/gyp/gyp_main.py +45 -0
  411. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +367 -0
  412. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
  413. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1270 -0
  414. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1547 -0
  415. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
  416. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +153 -0
  417. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +271 -0
  418. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +574 -0
  419. package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +690 -0
  420. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +661 -0
  421. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +78 -0
  422. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +165 -0
  423. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +109 -0
  424. package/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
  425. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  426. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +808 -0
  427. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1173 -0
  428. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1321 -0
  429. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +120 -0
  430. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +103 -0
  431. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +464 -0
  432. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +89 -0
  433. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +58 -0
  434. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2714 -0
  435. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3981 -0
  436. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
  437. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2936 -0
  438. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +55 -0
  439. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1394 -0
  440. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +25 -0
  441. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +3130 -0
  442. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +98 -0
  443. package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +771 -0
  444. package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1271 -0
  445. package/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
  446. package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
  447. package/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +374 -0
  448. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1939 -0
  449. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +302 -0
  450. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3197 -0
  451. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +65 -0
  452. package/dist/node_modules/node-gyp/gyp/pyproject.toml +41 -0
  453. package/dist/node_modules/node-gyp/gyp/test_gyp.py +261 -0
  454. package/dist/node_modules/node-gyp/gyp/tools/README +15 -0
  455. package/dist/node_modules/node-gyp/gyp/tools/Xcode/README +5 -0
  456. package/dist/node_modules/node-gyp/gyp/tools/Xcode/Specifications/gyp.pbfilespec +27 -0
  457. package/dist/node_modules/node-gyp/gyp/tools/Xcode/Specifications/gyp.xclangspec +226 -0
  458. package/dist/node_modules/node-gyp/gyp/tools/emacs/README +12 -0
  459. package/dist/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el +63 -0
  460. package/dist/node_modules/node-gyp/gyp/tools/emacs/gyp.el +275 -0
  461. package/dist/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh +7 -0
  462. package/dist/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp +1105 -0
  463. package/dist/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp.fontified +1107 -0
  464. package/dist/node_modules/node-gyp/gyp/tools/graphviz.py +102 -0
  465. package/dist/node_modules/node-gyp/gyp/tools/pretty_gyp.py +156 -0
  466. package/dist/node_modules/node-gyp/gyp/tools/pretty_sln.py +181 -0
  467. package/dist/node_modules/node-gyp/gyp/tools/pretty_vcproj.py +339 -0
  468. package/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +250 -0
  469. package/dist/node_modules/node-gyp/lib/build.js +213 -0
  470. package/dist/node_modules/node-gyp/lib/clean.js +15 -0
  471. package/dist/node_modules/node-gyp/lib/configure.js +360 -0
  472. package/dist/node_modules/node-gyp/lib/create-config-gypi.js +147 -0
  473. package/dist/node_modules/node-gyp/lib/find-node-directory.js +63 -0
  474. package/dist/node_modules/node-gyp/lib/find-python.js +344 -0
  475. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +463 -0
  476. package/dist/node_modules/node-gyp/lib/install.js +458 -0
  477. package/dist/node_modules/node-gyp/lib/list.js +27 -0
  478. package/dist/node_modules/node-gyp/lib/node-gyp.js +215 -0
  479. package/dist/node_modules/node-gyp/lib/process-release.js +147 -0
  480. package/dist/node_modules/node-gyp/lib/rebuild.js +13 -0
  481. package/dist/node_modules/node-gyp/lib/remove.js +46 -0
  482. package/dist/node_modules/node-gyp/lib/util.js +64 -0
  483. package/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +21 -0
  484. package/dist/node_modules/node-gyp/package.json +51 -0
  485. package/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +39 -0
  486. package/dist/node_modules/node-gyp/update-gyp.py +64 -0
  487. package/dist/node_modules/nopt/LICENSE +15 -0
  488. package/dist/node_modules/nopt/bin/nopt.js +56 -0
  489. package/dist/node_modules/nopt/lib/nopt.js +515 -0
  490. package/dist/node_modules/nopt/package.json +53 -0
  491. package/dist/node_modules/npmlog/lib/log.js +404 -0
  492. package/dist/node_modules/npmlog/package.json +51 -0
  493. package/dist/node_modules/once/LICENSE +15 -0
  494. package/dist/node_modules/once/once.js +42 -0
  495. package/dist/node_modules/once/package.json +33 -0
  496. package/dist/node_modules/p-map/index.js +81 -0
  497. package/dist/node_modules/p-map/license +9 -0
  498. package/dist/node_modules/p-map/package.json +53 -0
  499. package/dist/node_modules/path-is-absolute/index.js +20 -0
  500. package/dist/node_modules/path-is-absolute/license +21 -0
  501. package/dist/node_modules/path-is-absolute/package.json +43 -0
  502. package/dist/node_modules/promise-inflight/LICENSE +14 -0
  503. package/dist/node_modules/promise-inflight/inflight.js +36 -0
  504. package/dist/node_modules/promise-inflight/package.json +24 -0
  505. package/dist/node_modules/promise-retry/LICENSE +19 -0
  506. package/dist/node_modules/promise-retry/index.js +52 -0
  507. package/dist/node_modules/promise-retry/package.json +37 -0
  508. package/dist/node_modules/readable-stream/LICENSE +47 -0
  509. package/dist/node_modules/readable-stream/errors-browser.js +127 -0
  510. package/dist/node_modules/readable-stream/errors.js +116 -0
  511. package/dist/node_modules/readable-stream/experimentalWarning.js +17 -0
  512. package/dist/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
  513. package/dist/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
  514. package/dist/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
  515. package/dist/node_modules/readable-stream/lib/_stream_transform.js +190 -0
  516. package/dist/node_modules/readable-stream/lib/_stream_writable.js +641 -0
  517. package/dist/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
  518. package/dist/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
  519. package/dist/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
  520. package/dist/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
  521. package/dist/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  522. package/dist/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
  523. package/dist/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
  524. package/dist/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
  525. package/dist/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  526. package/dist/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  527. package/dist/node_modules/readable-stream/package.json +68 -0
  528. package/dist/node_modules/readable-stream/readable-browser.js +9 -0
  529. package/dist/node_modules/readable-stream/readable.js +16 -0
  530. package/dist/node_modules/retry/License +21 -0
  531. package/dist/node_modules/retry/equation.gif +0 -0
  532. package/dist/node_modules/retry/index.js +1 -0
  533. package/dist/node_modules/retry/lib/retry.js +100 -0
  534. package/dist/node_modules/retry/lib/retry_operation.js +158 -0
  535. package/dist/node_modules/retry/package.json +32 -0
  536. package/dist/node_modules/rimraf/LICENSE +15 -0
  537. package/dist/node_modules/rimraf/bin.js +68 -0
  538. package/dist/node_modules/rimraf/package.json +32 -0
  539. package/dist/node_modules/rimraf/rimraf.js +360 -0
  540. package/dist/node_modules/safe-buffer/LICENSE +21 -0
  541. package/dist/node_modules/safe-buffer/index.js +65 -0
  542. package/dist/node_modules/safe-buffer/package.json +51 -0
  543. package/dist/node_modules/safer-buffer/LICENSE +21 -0
  544. package/dist/node_modules/safer-buffer/dangerous.js +58 -0
  545. package/dist/node_modules/safer-buffer/package.json +34 -0
  546. package/dist/node_modules/safer-buffer/safer.js +77 -0
  547. package/dist/node_modules/safer-buffer/tests.js +406 -0
  548. package/dist/node_modules/semver/LICENSE +15 -0
  549. package/dist/node_modules/semver/bin/semver.js +197 -0
  550. package/dist/node_modules/semver/classes/comparator.js +141 -0
  551. package/dist/node_modules/semver/classes/index.js +5 -0
  552. package/dist/node_modules/semver/classes/range.js +539 -0
  553. package/dist/node_modules/semver/classes/semver.js +302 -0
  554. package/dist/node_modules/semver/functions/clean.js +6 -0
  555. package/dist/node_modules/semver/functions/cmp.js +52 -0
  556. package/dist/node_modules/semver/functions/coerce.js +52 -0
  557. package/dist/node_modules/semver/functions/compare-build.js +7 -0
  558. package/dist/node_modules/semver/functions/compare-loose.js +3 -0
  559. package/dist/node_modules/semver/functions/compare.js +5 -0
  560. package/dist/node_modules/semver/functions/diff.js +65 -0
  561. package/dist/node_modules/semver/functions/eq.js +3 -0
  562. package/dist/node_modules/semver/functions/gt.js +3 -0
  563. package/dist/node_modules/semver/functions/gte.js +3 -0
  564. package/dist/node_modules/semver/functions/inc.js +19 -0
  565. package/dist/node_modules/semver/functions/lt.js +3 -0
  566. package/dist/node_modules/semver/functions/lte.js +3 -0
  567. package/dist/node_modules/semver/functions/major.js +3 -0
  568. package/dist/node_modules/semver/functions/minor.js +3 -0
  569. package/dist/node_modules/semver/functions/neq.js +3 -0
  570. package/dist/node_modules/semver/functions/parse.js +16 -0
  571. package/dist/node_modules/semver/functions/patch.js +3 -0
  572. package/dist/node_modules/semver/functions/prerelease.js +6 -0
  573. package/dist/node_modules/semver/functions/rcompare.js +3 -0
  574. package/dist/node_modules/semver/functions/rsort.js +3 -0
  575. package/dist/node_modules/semver/functions/satisfies.js +10 -0
  576. package/dist/node_modules/semver/functions/sort.js +3 -0
  577. package/dist/node_modules/semver/functions/valid.js +6 -0
  578. package/dist/node_modules/semver/index.js +89 -0
  579. package/dist/node_modules/semver/internal/constants.js +35 -0
  580. package/dist/node_modules/semver/internal/debug.js +9 -0
  581. package/dist/node_modules/semver/internal/identifiers.js +23 -0
  582. package/dist/node_modules/semver/internal/parse-options.js +15 -0
  583. package/dist/node_modules/semver/internal/re.js +212 -0
  584. package/dist/node_modules/semver/node_modules/lru-cache/LICENSE +15 -0
  585. package/dist/node_modules/semver/node_modules/lru-cache/index.js +334 -0
  586. package/dist/node_modules/semver/node_modules/lru-cache/package.json +34 -0
  587. package/dist/node_modules/semver/package.json +87 -0
  588. package/dist/node_modules/semver/preload.js +2 -0
  589. package/dist/node_modules/semver/range.bnf +16 -0
  590. package/dist/node_modules/semver/ranges/gtr.js +4 -0
  591. package/dist/node_modules/semver/ranges/intersects.js +7 -0
  592. package/dist/node_modules/semver/ranges/ltr.js +4 -0
  593. package/dist/node_modules/semver/ranges/max-satisfying.js +25 -0
  594. package/dist/node_modules/semver/ranges/min-satisfying.js +24 -0
  595. package/dist/node_modules/semver/ranges/min-version.js +61 -0
  596. package/dist/node_modules/semver/ranges/outside.js +80 -0
  597. package/dist/node_modules/semver/ranges/simplify.js +47 -0
  598. package/dist/node_modules/semver/ranges/subset.js +247 -0
  599. package/dist/node_modules/semver/ranges/to-comparators.js +8 -0
  600. package/dist/node_modules/semver/ranges/valid.js +11 -0
  601. package/dist/node_modules/set-blocking/LICENSE.txt +14 -0
  602. package/dist/node_modules/set-blocking/index.js +7 -0
  603. package/dist/node_modules/set-blocking/package.json +42 -0
  604. package/dist/node_modules/signal-exit/LICENSE.txt +16 -0
  605. package/dist/node_modules/signal-exit/index.js +202 -0
  606. package/dist/node_modules/signal-exit/package.json +38 -0
  607. package/dist/node_modules/signal-exit/signals.js +53 -0
  608. package/dist/node_modules/smart-buffer/.prettierrc.yaml +5 -0
  609. package/dist/node_modules/smart-buffer/LICENSE +20 -0
  610. package/dist/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
  611. package/dist/node_modules/smart-buffer/build/smartbuffer.js.map +1 -0
  612. package/dist/node_modules/smart-buffer/build/utils.js +108 -0
  613. package/dist/node_modules/smart-buffer/build/utils.js.map +1 -0
  614. package/dist/node_modules/smart-buffer/package.json +79 -0
  615. package/dist/node_modules/socks/.eslintrc.cjs +11 -0
  616. package/dist/node_modules/socks/.prettierrc.yaml +7 -0
  617. package/dist/node_modules/socks/LICENSE +20 -0
  618. package/dist/node_modules/socks/build/client/socksclient.js +793 -0
  619. package/dist/node_modules/socks/build/client/socksclient.js.map +1 -0
  620. package/dist/node_modules/socks/build/common/constants.js +108 -0
  621. package/dist/node_modules/socks/build/common/constants.js.map +1 -0
  622. package/dist/node_modules/socks/build/common/helpers.js +162 -0
  623. package/dist/node_modules/socks/build/common/helpers.js.map +1 -0
  624. package/dist/node_modules/socks/build/common/receivebuffer.js +43 -0
  625. package/dist/node_modules/socks/build/common/receivebuffer.js.map +1 -0
  626. package/dist/node_modules/socks/build/common/util.js +25 -0
  627. package/dist/node_modules/socks/build/common/util.js.map +1 -0
  628. package/dist/node_modules/socks/build/index.js +18 -0
  629. package/dist/node_modules/socks/build/index.js.map +1 -0
  630. package/dist/node_modules/socks/package.json +58 -0
  631. package/dist/node_modules/socks-proxy-agent/dist/index.js +197 -0
  632. package/dist/node_modules/socks-proxy-agent/dist/index.js.map +1 -0
  633. package/dist/node_modules/socks-proxy-agent/package.json +181 -0
  634. package/dist/node_modules/sprintf-js/LICENSE +24 -0
  635. package/dist/node_modules/sprintf-js/dist/angular-sprintf.min.js +3 -0
  636. package/dist/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
  637. package/dist/node_modules/sprintf-js/dist/sprintf.min.js +3 -0
  638. package/dist/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
  639. package/dist/node_modules/sprintf-js/package.json +35 -0
  640. package/dist/node_modules/sprintf-js/src/angular-sprintf.js +24 -0
  641. package/dist/node_modules/sprintf-js/src/sprintf.js +231 -0
  642. package/dist/node_modules/ssri/lib/index.js +524 -0
  643. package/dist/node_modules/ssri/package.json +63 -0
  644. package/dist/node_modules/string-width/index.js +47 -0
  645. package/dist/node_modules/string-width/license +9 -0
  646. package/dist/node_modules/string-width/package.json +56 -0
  647. package/dist/node_modules/string_decoder/LICENSE +48 -0
  648. package/dist/node_modules/string_decoder/lib/string_decoder.js +296 -0
  649. package/dist/node_modules/string_decoder/package.json +34 -0
  650. package/dist/node_modules/strip-ansi/index.js +4 -0
  651. package/dist/node_modules/strip-ansi/license +9 -0
  652. package/dist/node_modules/strip-ansi/package.json +54 -0
  653. package/dist/node_modules/tar/LICENSE +15 -0
  654. package/dist/node_modules/tar/index.js +18 -0
  655. package/dist/node_modules/tar/lib/create.js +111 -0
  656. package/dist/node_modules/tar/lib/extract.js +113 -0
  657. package/dist/node_modules/tar/lib/get-write-flag.js +20 -0
  658. package/dist/node_modules/tar/lib/header.js +304 -0
  659. package/dist/node_modules/tar/lib/high-level-opt.js +29 -0
  660. package/dist/node_modules/tar/lib/large-numbers.js +104 -0
  661. package/dist/node_modules/tar/lib/list.js +139 -0
  662. package/dist/node_modules/tar/lib/mkdir.js +229 -0
  663. package/dist/node_modules/tar/lib/mode-fix.js +27 -0
  664. package/dist/node_modules/tar/lib/normalize-unicode.js +12 -0
  665. package/dist/node_modules/tar/lib/normalize-windows-path.js +8 -0
  666. package/dist/node_modules/tar/lib/pack.js +432 -0
  667. package/dist/node_modules/tar/lib/parse.js +552 -0
  668. package/dist/node_modules/tar/lib/path-reservations.js +156 -0
  669. package/dist/node_modules/tar/lib/pax.js +150 -0
  670. package/dist/node_modules/tar/lib/read-entry.js +107 -0
  671. package/dist/node_modules/tar/lib/replace.js +246 -0
  672. package/dist/node_modules/tar/lib/strip-absolute-path.js +24 -0
  673. package/dist/node_modules/tar/lib/strip-trailing-slashes.js +13 -0
  674. package/dist/node_modules/tar/lib/types.js +44 -0
  675. package/dist/node_modules/tar/lib/unpack.js +906 -0
  676. package/dist/node_modules/tar/lib/update.js +40 -0
  677. package/dist/node_modules/tar/lib/warn-mixin.js +24 -0
  678. package/dist/node_modules/tar/lib/winchars.js +23 -0
  679. package/dist/node_modules/tar/lib/write-entry.js +546 -0
  680. package/dist/node_modules/tar/node_modules/minipass/LICENSE +15 -0
  681. package/dist/node_modules/tar/node_modules/minipass/index.js +702 -0
  682. package/dist/node_modules/tar/node_modules/minipass/index.mjs +702 -0
  683. package/dist/node_modules/tar/node_modules/minipass/package.json +76 -0
  684. package/dist/node_modules/tar/package.json +70 -0
  685. package/dist/node_modules/unique-filename/LICENSE +5 -0
  686. package/dist/node_modules/unique-filename/lib/index.js +7 -0
  687. package/dist/node_modules/unique-filename/package.json +48 -0
  688. package/dist/node_modules/unique-slug/LICENSE +15 -0
  689. package/dist/node_modules/unique-slug/lib/index.js +11 -0
  690. package/dist/node_modules/unique-slug/package.json +44 -0
  691. package/dist/node_modules/util-deprecate/LICENSE +24 -0
  692. package/dist/node_modules/util-deprecate/browser.js +67 -0
  693. package/dist/node_modules/util-deprecate/node.js +6 -0
  694. package/dist/node_modules/util-deprecate/package.json +27 -0
  695. package/dist/node_modules/v8-compile-cache/LICENSE +21 -0
  696. package/dist/node_modules/v8-compile-cache/package.json +34 -0
  697. package/dist/node_modules/v8-compile-cache/v8-compile-cache.js +373 -0
  698. package/dist/node_modules/which/LICENSE +15 -0
  699. package/dist/node_modules/which/bin/node-which +52 -0
  700. package/dist/node_modules/which/package.json +43 -0
  701. package/dist/node_modules/which/which.js +125 -0
  702. package/dist/node_modules/wide-align/LICENSE +14 -0
  703. package/dist/node_modules/wide-align/align.js +65 -0
  704. package/dist/node_modules/wide-align/package.json +33 -0
  705. package/dist/node_modules/wrappy/LICENSE +15 -0
  706. package/dist/node_modules/wrappy/package.json +29 -0
  707. package/dist/node_modules/wrappy/wrappy.js +33 -0
  708. package/dist/node_modules/yallist/LICENSE +15 -0
  709. package/dist/node_modules/yallist/iterator.js +8 -0
  710. package/dist/node_modules/yallist/package.json +29 -0
  711. package/dist/node_modules/yallist/yallist.js +426 -0
  712. package/dist/pnpm.cjs +218856 -0
  713. package/dist/pnpmrc +4 -0
  714. package/dist/reflink.darwin-arm64-MYEHQQCP.node +0 -0
  715. package/dist/reflink.darwin-x64-CDTBYYIZ.node +0 -0
  716. package/dist/reflink.win32-arm64-msvc-IYGSKCGJ.node +0 -0
  717. package/dist/reflink.win32-x64-msvc-5E6AAURT.node +0 -0
  718. package/dist/scripts/bash.sh +30 -0
  719. package/dist/scripts/fish.sh +22 -0
  720. package/dist/scripts/zsh.sh +18 -0
  721. package/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  722. package/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  723. package/dist/worker.js +16631 -0
  724. package/package.json +162 -57
  725. package/bin/pxnpm +0 -27
  726. package/bin/pxnpm-check +0 -38
  727. package/bin/pxnpm-doc +0 -46
  728. package/bin/pxnpm-search +0 -9
  729. package/bin/pxnpm-sync +0 -175
  730. package/bin/pxnpm-update +0 -26
  731. package/bin/pxnpm-user +0 -10
  732. package/bin/pxnpm-web +0 -8
  733. package/lib/config.js +0 -138
  734. package/lib/help.js +0 -40
  735. package/lib/origin_npm.js +0 -113
  736. package/lib/parse_argv.js +0 -150
  737. package/lib/utils.js +0 -16
@@ -0,0 +1,906 @@
1
+ 'use strict'
2
+
3
+ // the PEND/UNPEND stuff tracks whether we're ready to emit end/close yet.
4
+ // but the path reservations are required to avoid race conditions where
5
+ // parallelized unpack ops may mess with one another, due to dependencies
6
+ // (like a Link depending on its target) or destructive operations (like
7
+ // clobbering an fs object to create one of a different type.)
8
+
9
+ const assert = require('assert')
10
+ const Parser = require('./parse.js')
11
+ const fs = require('fs')
12
+ const fsm = require('fs-minipass')
13
+ const path = require('path')
14
+ const mkdir = require('./mkdir.js')
15
+ const wc = require('./winchars.js')
16
+ const pathReservations = require('./path-reservations.js')
17
+ const stripAbsolutePath = require('./strip-absolute-path.js')
18
+ const normPath = require('./normalize-windows-path.js')
19
+ const stripSlash = require('./strip-trailing-slashes.js')
20
+ const normalize = require('./normalize-unicode.js')
21
+
22
+ const ONENTRY = Symbol('onEntry')
23
+ const CHECKFS = Symbol('checkFs')
24
+ const CHECKFS2 = Symbol('checkFs2')
25
+ const PRUNECACHE = Symbol('pruneCache')
26
+ const ISREUSABLE = Symbol('isReusable')
27
+ const MAKEFS = Symbol('makeFs')
28
+ const FILE = Symbol('file')
29
+ const DIRECTORY = Symbol('directory')
30
+ const LINK = Symbol('link')
31
+ const SYMLINK = Symbol('symlink')
32
+ const HARDLINK = Symbol('hardlink')
33
+ const UNSUPPORTED = Symbol('unsupported')
34
+ const CHECKPATH = Symbol('checkPath')
35
+ const MKDIR = Symbol('mkdir')
36
+ const ONERROR = Symbol('onError')
37
+ const PENDING = Symbol('pending')
38
+ const PEND = Symbol('pend')
39
+ const UNPEND = Symbol('unpend')
40
+ const ENDED = Symbol('ended')
41
+ const MAYBECLOSE = Symbol('maybeClose')
42
+ const SKIP = Symbol('skip')
43
+ const DOCHOWN = Symbol('doChown')
44
+ const UID = Symbol('uid')
45
+ const GID = Symbol('gid')
46
+ const CHECKED_CWD = Symbol('checkedCwd')
47
+ const crypto = require('crypto')
48
+ const getFlag = require('./get-write-flag.js')
49
+ const platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform
50
+ const isWindows = platform === 'win32'
51
+
52
+ // Unlinks on Windows are not atomic.
53
+ //
54
+ // This means that if you have a file entry, followed by another
55
+ // file entry with an identical name, and you cannot re-use the file
56
+ // (because it's a hardlink, or because unlink:true is set, or it's
57
+ // Windows, which does not have useful nlink values), then the unlink
58
+ // will be committed to the disk AFTER the new file has been written
59
+ // over the old one, deleting the new file.
60
+ //
61
+ // To work around this, on Windows systems, we rename the file and then
62
+ // delete the renamed file. It's a sloppy kludge, but frankly, I do not
63
+ // know of a better way to do this, given windows' non-atomic unlink
64
+ // semantics.
65
+ //
66
+ // See: https://github.com/npm/node-tar/issues/183
67
+ /* istanbul ignore next */
68
+ const unlinkFile = (path, cb) => {
69
+ if (!isWindows) {
70
+ return fs.unlink(path, cb)
71
+ }
72
+
73
+ const name = path + '.DELETE.' + crypto.randomBytes(16).toString('hex')
74
+ fs.rename(path, name, er => {
75
+ if (er) {
76
+ return cb(er)
77
+ }
78
+ fs.unlink(name, cb)
79
+ })
80
+ }
81
+
82
+ /* istanbul ignore next */
83
+ const unlinkFileSync = path => {
84
+ if (!isWindows) {
85
+ return fs.unlinkSync(path)
86
+ }
87
+
88
+ const name = path + '.DELETE.' + crypto.randomBytes(16).toString('hex')
89
+ fs.renameSync(path, name)
90
+ fs.unlinkSync(name)
91
+ }
92
+
93
+ // this.gid, entry.gid, this.processUid
94
+ const uint32 = (a, b, c) =>
95
+ a === a >>> 0 ? a
96
+ : b === b >>> 0 ? b
97
+ : c
98
+
99
+ // clear the cache if it's a case-insensitive unicode-squashing match.
100
+ // we can't know if the current file system is case-sensitive or supports
101
+ // unicode fully, so we check for similarity on the maximally compatible
102
+ // representation. Err on the side of pruning, since all it's doing is
103
+ // preventing lstats, and it's not the end of the world if we get a false
104
+ // positive.
105
+ // Note that on windows, we always drop the entire cache whenever a
106
+ // symbolic link is encountered, because 8.3 filenames are impossible
107
+ // to reason about, and collisions are hazards rather than just failures.
108
+ const cacheKeyNormalize = path => stripSlash(normPath(normalize(path)))
109
+ .toLowerCase()
110
+
111
+ const pruneCache = (cache, abs) => {
112
+ abs = cacheKeyNormalize(abs)
113
+ for (const path of cache.keys()) {
114
+ const pnorm = cacheKeyNormalize(path)
115
+ if (pnorm === abs || pnorm.indexOf(abs + '/') === 0) {
116
+ cache.delete(path)
117
+ }
118
+ }
119
+ }
120
+
121
+ const dropCache = cache => {
122
+ for (const key of cache.keys()) {
123
+ cache.delete(key)
124
+ }
125
+ }
126
+
127
+ class Unpack extends Parser {
128
+ constructor (opt) {
129
+ if (!opt) {
130
+ opt = {}
131
+ }
132
+
133
+ opt.ondone = _ => {
134
+ this[ENDED] = true
135
+ this[MAYBECLOSE]()
136
+ }
137
+
138
+ super(opt)
139
+
140
+ this[CHECKED_CWD] = false
141
+
142
+ this.reservations = pathReservations()
143
+
144
+ this.transform = typeof opt.transform === 'function' ? opt.transform : null
145
+
146
+ this.writable = true
147
+ this.readable = false
148
+
149
+ this[PENDING] = 0
150
+ this[ENDED] = false
151
+
152
+ this.dirCache = opt.dirCache || new Map()
153
+
154
+ if (typeof opt.uid === 'number' || typeof opt.gid === 'number') {
155
+ // need both or neither
156
+ if (typeof opt.uid !== 'number' || typeof opt.gid !== 'number') {
157
+ throw new TypeError('cannot set owner without number uid and gid')
158
+ }
159
+ if (opt.preserveOwner) {
160
+ throw new TypeError(
161
+ 'cannot preserve owner in archive and also set owner explicitly')
162
+ }
163
+ this.uid = opt.uid
164
+ this.gid = opt.gid
165
+ this.setOwner = true
166
+ } else {
167
+ this.uid = null
168
+ this.gid = null
169
+ this.setOwner = false
170
+ }
171
+
172
+ // default true for root
173
+ if (opt.preserveOwner === undefined && typeof opt.uid !== 'number') {
174
+ this.preserveOwner = process.getuid && process.getuid() === 0
175
+ } else {
176
+ this.preserveOwner = !!opt.preserveOwner
177
+ }
178
+
179
+ this.processUid = (this.preserveOwner || this.setOwner) && process.getuid ?
180
+ process.getuid() : null
181
+ this.processGid = (this.preserveOwner || this.setOwner) && process.getgid ?
182
+ process.getgid() : null
183
+
184
+ // mostly just for testing, but useful in some cases.
185
+ // Forcibly trigger a chown on every entry, no matter what
186
+ this.forceChown = opt.forceChown === true
187
+
188
+ // turn ><?| in filenames into 0xf000-higher encoded forms
189
+ this.win32 = !!opt.win32 || isWindows
190
+
191
+ // do not unpack over files that are newer than what's in the archive
192
+ this.newer = !!opt.newer
193
+
194
+ // do not unpack over ANY files
195
+ this.keep = !!opt.keep
196
+
197
+ // do not set mtime/atime of extracted entries
198
+ this.noMtime = !!opt.noMtime
199
+
200
+ // allow .., absolute path entries, and unpacking through symlinks
201
+ // without this, warn and skip .., relativize absolutes, and error
202
+ // on symlinks in extraction path
203
+ this.preservePaths = !!opt.preservePaths
204
+
205
+ // unlink files and links before writing. This breaks existing hard
206
+ // links, and removes symlink directories rather than erroring
207
+ this.unlink = !!opt.unlink
208
+
209
+ this.cwd = normPath(path.resolve(opt.cwd || process.cwd()))
210
+ this.strip = +opt.strip || 0
211
+ // if we're not chmodding, then we don't need the process umask
212
+ this.processUmask = opt.noChmod ? 0 : process.umask()
213
+ this.umask = typeof opt.umask === 'number' ? opt.umask : this.processUmask
214
+
215
+ // default mode for dirs created as parents
216
+ this.dmode = opt.dmode || (0o0777 & (~this.umask))
217
+ this.fmode = opt.fmode || (0o0666 & (~this.umask))
218
+
219
+ this.on('entry', entry => this[ONENTRY](entry))
220
+ }
221
+
222
+ // a bad or damaged archive is a warning for Parser, but an error
223
+ // when extracting. Mark those errors as unrecoverable, because
224
+ // the Unpack contract cannot be met.
225
+ warn (code, msg, data = {}) {
226
+ if (code === 'TAR_BAD_ARCHIVE' || code === 'TAR_ABORT') {
227
+ data.recoverable = false
228
+ }
229
+ return super.warn(code, msg, data)
230
+ }
231
+
232
+ [MAYBECLOSE] () {
233
+ if (this[ENDED] && this[PENDING] === 0) {
234
+ this.emit('prefinish')
235
+ this.emit('finish')
236
+ this.emit('end')
237
+ }
238
+ }
239
+
240
+ [CHECKPATH] (entry) {
241
+ if (this.strip) {
242
+ const parts = normPath(entry.path).split('/')
243
+ if (parts.length < this.strip) {
244
+ return false
245
+ }
246
+ entry.path = parts.slice(this.strip).join('/')
247
+
248
+ if (entry.type === 'Link') {
249
+ const linkparts = normPath(entry.linkpath).split('/')
250
+ if (linkparts.length >= this.strip) {
251
+ entry.linkpath = linkparts.slice(this.strip).join('/')
252
+ } else {
253
+ return false
254
+ }
255
+ }
256
+ }
257
+
258
+ if (!this.preservePaths) {
259
+ const p = normPath(entry.path)
260
+ const parts = p.split('/')
261
+ if (parts.includes('..') || isWindows && /^[a-z]:\.\.$/i.test(parts[0])) {
262
+ this.warn('TAR_ENTRY_ERROR', `path contains '..'`, {
263
+ entry,
264
+ path: p,
265
+ })
266
+ return false
267
+ }
268
+
269
+ // strip off the root
270
+ const [root, stripped] = stripAbsolutePath(p)
271
+ if (root) {
272
+ entry.path = stripped
273
+ this.warn('TAR_ENTRY_INFO', `stripping ${root} from absolute path`, {
274
+ entry,
275
+ path: p,
276
+ })
277
+ }
278
+ }
279
+
280
+ if (path.isAbsolute(entry.path)) {
281
+ entry.absolute = normPath(path.resolve(entry.path))
282
+ } else {
283
+ entry.absolute = normPath(path.resolve(this.cwd, entry.path))
284
+ }
285
+
286
+ // if we somehow ended up with a path that escapes the cwd, and we are
287
+ // not in preservePaths mode, then something is fishy! This should have
288
+ // been prevented above, so ignore this for coverage.
289
+ /* istanbul ignore if - defense in depth */
290
+ if (!this.preservePaths &&
291
+ entry.absolute.indexOf(this.cwd + '/') !== 0 &&
292
+ entry.absolute !== this.cwd) {
293
+ this.warn('TAR_ENTRY_ERROR', 'path escaped extraction target', {
294
+ entry,
295
+ path: normPath(entry.path),
296
+ resolvedPath: entry.absolute,
297
+ cwd: this.cwd,
298
+ })
299
+ return false
300
+ }
301
+
302
+ // an archive can set properties on the extraction directory, but it
303
+ // may not replace the cwd with a different kind of thing entirely.
304
+ if (entry.absolute === this.cwd &&
305
+ entry.type !== 'Directory' &&
306
+ entry.type !== 'GNUDumpDir') {
307
+ return false
308
+ }
309
+
310
+ // only encode : chars that aren't drive letter indicators
311
+ if (this.win32) {
312
+ const { root: aRoot } = path.win32.parse(entry.absolute)
313
+ entry.absolute = aRoot + wc.encode(entry.absolute.slice(aRoot.length))
314
+ const { root: pRoot } = path.win32.parse(entry.path)
315
+ entry.path = pRoot + wc.encode(entry.path.slice(pRoot.length))
316
+ }
317
+
318
+ return true
319
+ }
320
+
321
+ [ONENTRY] (entry) {
322
+ if (!this[CHECKPATH](entry)) {
323
+ return entry.resume()
324
+ }
325
+
326
+ assert.equal(typeof entry.absolute, 'string')
327
+
328
+ switch (entry.type) {
329
+ case 'Directory':
330
+ case 'GNUDumpDir':
331
+ if (entry.mode) {
332
+ entry.mode = entry.mode | 0o700
333
+ }
334
+
335
+ // eslint-disable-next-line no-fallthrough
336
+ case 'File':
337
+ case 'OldFile':
338
+ case 'ContiguousFile':
339
+ case 'Link':
340
+ case 'SymbolicLink':
341
+ return this[CHECKFS](entry)
342
+
343
+ case 'CharacterDevice':
344
+ case 'BlockDevice':
345
+ case 'FIFO':
346
+ default:
347
+ return this[UNSUPPORTED](entry)
348
+ }
349
+ }
350
+
351
+ [ONERROR] (er, entry) {
352
+ // Cwd has to exist, or else nothing works. That's serious.
353
+ // Other errors are warnings, which raise the error in strict
354
+ // mode, but otherwise continue on.
355
+ if (er.name === 'CwdError') {
356
+ this.emit('error', er)
357
+ } else {
358
+ this.warn('TAR_ENTRY_ERROR', er, { entry })
359
+ this[UNPEND]()
360
+ entry.resume()
361
+ }
362
+ }
363
+
364
+ [MKDIR] (dir, mode, cb) {
365
+ mkdir(normPath(dir), {
366
+ uid: this.uid,
367
+ gid: this.gid,
368
+ processUid: this.processUid,
369
+ processGid: this.processGid,
370
+ umask: this.processUmask,
371
+ preserve: this.preservePaths,
372
+ unlink: this.unlink,
373
+ cache: this.dirCache,
374
+ cwd: this.cwd,
375
+ mode: mode,
376
+ noChmod: this.noChmod,
377
+ }, cb)
378
+ }
379
+
380
+ [DOCHOWN] (entry) {
381
+ // in preserve owner mode, chown if the entry doesn't match process
382
+ // in set owner mode, chown if setting doesn't match process
383
+ return this.forceChown ||
384
+ this.preserveOwner &&
385
+ (typeof entry.uid === 'number' && entry.uid !== this.processUid ||
386
+ typeof entry.gid === 'number' && entry.gid !== this.processGid)
387
+ ||
388
+ (typeof this.uid === 'number' && this.uid !== this.processUid ||
389
+ typeof this.gid === 'number' && this.gid !== this.processGid)
390
+ }
391
+
392
+ [UID] (entry) {
393
+ return uint32(this.uid, entry.uid, this.processUid)
394
+ }
395
+
396
+ [GID] (entry) {
397
+ return uint32(this.gid, entry.gid, this.processGid)
398
+ }
399
+
400
+ [FILE] (entry, fullyDone) {
401
+ const mode = entry.mode & 0o7777 || this.fmode
402
+ const stream = new fsm.WriteStream(entry.absolute, {
403
+ flags: getFlag(entry.size),
404
+ mode: mode,
405
+ autoClose: false,
406
+ })
407
+ stream.on('error', er => {
408
+ if (stream.fd) {
409
+ fs.close(stream.fd, () => {})
410
+ }
411
+
412
+ // flush all the data out so that we aren't left hanging
413
+ // if the error wasn't actually fatal. otherwise the parse
414
+ // is blocked, and we never proceed.
415
+ stream.write = () => true
416
+ this[ONERROR](er, entry)
417
+ fullyDone()
418
+ })
419
+
420
+ let actions = 1
421
+ const done = er => {
422
+ if (er) {
423
+ /* istanbul ignore else - we should always have a fd by now */
424
+ if (stream.fd) {
425
+ fs.close(stream.fd, () => {})
426
+ }
427
+
428
+ this[ONERROR](er, entry)
429
+ fullyDone()
430
+ return
431
+ }
432
+
433
+ if (--actions === 0) {
434
+ fs.close(stream.fd, er => {
435
+ if (er) {
436
+ this[ONERROR](er, entry)
437
+ } else {
438
+ this[UNPEND]()
439
+ }
440
+ fullyDone()
441
+ })
442
+ }
443
+ }
444
+
445
+ stream.on('finish', _ => {
446
+ // if futimes fails, try utimes
447
+ // if utimes fails, fail with the original error
448
+ // same for fchown/chown
449
+ const abs = entry.absolute
450
+ const fd = stream.fd
451
+
452
+ if (entry.mtime && !this.noMtime) {
453
+ actions++
454
+ const atime = entry.atime || new Date()
455
+ const mtime = entry.mtime
456
+ fs.futimes(fd, atime, mtime, er =>
457
+ er ? fs.utimes(abs, atime, mtime, er2 => done(er2 && er))
458
+ : done())
459
+ }
460
+
461
+ if (this[DOCHOWN](entry)) {
462
+ actions++
463
+ const uid = this[UID](entry)
464
+ const gid = this[GID](entry)
465
+ fs.fchown(fd, uid, gid, er =>
466
+ er ? fs.chown(abs, uid, gid, er2 => done(er2 && er))
467
+ : done())
468
+ }
469
+
470
+ done()
471
+ })
472
+
473
+ const tx = this.transform ? this.transform(entry) || entry : entry
474
+ if (tx !== entry) {
475
+ tx.on('error', er => {
476
+ this[ONERROR](er, entry)
477
+ fullyDone()
478
+ })
479
+ entry.pipe(tx)
480
+ }
481
+ tx.pipe(stream)
482
+ }
483
+
484
+ [DIRECTORY] (entry, fullyDone) {
485
+ const mode = entry.mode & 0o7777 || this.dmode
486
+ this[MKDIR](entry.absolute, mode, er => {
487
+ if (er) {
488
+ this[ONERROR](er, entry)
489
+ fullyDone()
490
+ return
491
+ }
492
+
493
+ let actions = 1
494
+ const done = _ => {
495
+ if (--actions === 0) {
496
+ fullyDone()
497
+ this[UNPEND]()
498
+ entry.resume()
499
+ }
500
+ }
501
+
502
+ if (entry.mtime && !this.noMtime) {
503
+ actions++
504
+ fs.utimes(entry.absolute, entry.atime || new Date(), entry.mtime, done)
505
+ }
506
+
507
+ if (this[DOCHOWN](entry)) {
508
+ actions++
509
+ fs.chown(entry.absolute, this[UID](entry), this[GID](entry), done)
510
+ }
511
+
512
+ done()
513
+ })
514
+ }
515
+
516
+ [UNSUPPORTED] (entry) {
517
+ entry.unsupported = true
518
+ this.warn('TAR_ENTRY_UNSUPPORTED',
519
+ `unsupported entry type: ${entry.type}`, { entry })
520
+ entry.resume()
521
+ }
522
+
523
+ [SYMLINK] (entry, done) {
524
+ this[LINK](entry, entry.linkpath, 'symlink', done)
525
+ }
526
+
527
+ [HARDLINK] (entry, done) {
528
+ const linkpath = normPath(path.resolve(this.cwd, entry.linkpath))
529
+ this[LINK](entry, linkpath, 'link', done)
530
+ }
531
+
532
+ [PEND] () {
533
+ this[PENDING]++
534
+ }
535
+
536
+ [UNPEND] () {
537
+ this[PENDING]--
538
+ this[MAYBECLOSE]()
539
+ }
540
+
541
+ [SKIP] (entry) {
542
+ this[UNPEND]()
543
+ entry.resume()
544
+ }
545
+
546
+ // Check if we can reuse an existing filesystem entry safely and
547
+ // overwrite it, rather than unlinking and recreating
548
+ // Windows doesn't report a useful nlink, so we just never reuse entries
549
+ [ISREUSABLE] (entry, st) {
550
+ return entry.type === 'File' &&
551
+ !this.unlink &&
552
+ st.isFile() &&
553
+ st.nlink <= 1 &&
554
+ !isWindows
555
+ }
556
+
557
+ // check if a thing is there, and if so, try to clobber it
558
+ [CHECKFS] (entry) {
559
+ this[PEND]()
560
+ const paths = [entry.path]
561
+ if (entry.linkpath) {
562
+ paths.push(entry.linkpath)
563
+ }
564
+ this.reservations.reserve(paths, done => this[CHECKFS2](entry, done))
565
+ }
566
+
567
+ [PRUNECACHE] (entry) {
568
+ // if we are not creating a directory, and the path is in the dirCache,
569
+ // then that means we are about to delete the directory we created
570
+ // previously, and it is no longer going to be a directory, and neither
571
+ // is any of its children.
572
+ // If a symbolic link is encountered, all bets are off. There is no
573
+ // reasonable way to sanitize the cache in such a way we will be able to
574
+ // avoid having filesystem collisions. If this happens with a non-symlink
575
+ // entry, it'll just fail to unpack, but a symlink to a directory, using an
576
+ // 8.3 shortname or certain unicode attacks, can evade detection and lead
577
+ // to arbitrary writes to anywhere on the system.
578
+ if (entry.type === 'SymbolicLink') {
579
+ dropCache(this.dirCache)
580
+ } else if (entry.type !== 'Directory') {
581
+ pruneCache(this.dirCache, entry.absolute)
582
+ }
583
+ }
584
+
585
+ [CHECKFS2] (entry, fullyDone) {
586
+ this[PRUNECACHE](entry)
587
+
588
+ const done = er => {
589
+ this[PRUNECACHE](entry)
590
+ fullyDone(er)
591
+ }
592
+
593
+ const checkCwd = () => {
594
+ this[MKDIR](this.cwd, this.dmode, er => {
595
+ if (er) {
596
+ this[ONERROR](er, entry)
597
+ done()
598
+ return
599
+ }
600
+ this[CHECKED_CWD] = true
601
+ start()
602
+ })
603
+ }
604
+
605
+ const start = () => {
606
+ if (entry.absolute !== this.cwd) {
607
+ const parent = normPath(path.dirname(entry.absolute))
608
+ if (parent !== this.cwd) {
609
+ return this[MKDIR](parent, this.dmode, er => {
610
+ if (er) {
611
+ this[ONERROR](er, entry)
612
+ done()
613
+ return
614
+ }
615
+ afterMakeParent()
616
+ })
617
+ }
618
+ }
619
+ afterMakeParent()
620
+ }
621
+
622
+ const afterMakeParent = () => {
623
+ fs.lstat(entry.absolute, (lstatEr, st) => {
624
+ if (st && (this.keep || this.newer && st.mtime > entry.mtime)) {
625
+ this[SKIP](entry)
626
+ done()
627
+ return
628
+ }
629
+ if (lstatEr || this[ISREUSABLE](entry, st)) {
630
+ return this[MAKEFS](null, entry, done)
631
+ }
632
+
633
+ if (st.isDirectory()) {
634
+ if (entry.type === 'Directory') {
635
+ const needChmod = !this.noChmod &&
636
+ entry.mode &&
637
+ (st.mode & 0o7777) !== entry.mode
638
+ const afterChmod = er => this[MAKEFS](er, entry, done)
639
+ if (!needChmod) {
640
+ return afterChmod()
641
+ }
642
+ return fs.chmod(entry.absolute, entry.mode, afterChmod)
643
+ }
644
+ // Not a dir entry, have to remove it.
645
+ // NB: the only way to end up with an entry that is the cwd
646
+ // itself, in such a way that == does not detect, is a
647
+ // tricky windows absolute path with UNC or 8.3 parts (and
648
+ // preservePaths:true, or else it will have been stripped).
649
+ // In that case, the user has opted out of path protections
650
+ // explicitly, so if they blow away the cwd, c'est la vie.
651
+ if (entry.absolute !== this.cwd) {
652
+ return fs.rmdir(entry.absolute, er =>
653
+ this[MAKEFS](er, entry, done))
654
+ }
655
+ }
656
+
657
+ // not a dir, and not reusable
658
+ // don't remove if the cwd, we want that error
659
+ if (entry.absolute === this.cwd) {
660
+ return this[MAKEFS](null, entry, done)
661
+ }
662
+
663
+ unlinkFile(entry.absolute, er =>
664
+ this[MAKEFS](er, entry, done))
665
+ })
666
+ }
667
+
668
+ if (this[CHECKED_CWD]) {
669
+ start()
670
+ } else {
671
+ checkCwd()
672
+ }
673
+ }
674
+
675
+ [MAKEFS] (er, entry, done) {
676
+ if (er) {
677
+ this[ONERROR](er, entry)
678
+ done()
679
+ return
680
+ }
681
+
682
+ switch (entry.type) {
683
+ case 'File':
684
+ case 'OldFile':
685
+ case 'ContiguousFile':
686
+ return this[FILE](entry, done)
687
+
688
+ case 'Link':
689
+ return this[HARDLINK](entry, done)
690
+
691
+ case 'SymbolicLink':
692
+ return this[SYMLINK](entry, done)
693
+
694
+ case 'Directory':
695
+ case 'GNUDumpDir':
696
+ return this[DIRECTORY](entry, done)
697
+ }
698
+ }
699
+
700
+ [LINK] (entry, linkpath, link, done) {
701
+ // XXX: get the type ('symlink' or 'junction') for windows
702
+ fs[link](linkpath, entry.absolute, er => {
703
+ if (er) {
704
+ this[ONERROR](er, entry)
705
+ } else {
706
+ this[UNPEND]()
707
+ entry.resume()
708
+ }
709
+ done()
710
+ })
711
+ }
712
+ }
713
+
714
+ const callSync = fn => {
715
+ try {
716
+ return [null, fn()]
717
+ } catch (er) {
718
+ return [er, null]
719
+ }
720
+ }
721
+ class UnpackSync extends Unpack {
722
+ [MAKEFS] (er, entry) {
723
+ return super[MAKEFS](er, entry, () => {})
724
+ }
725
+
726
+ [CHECKFS] (entry) {
727
+ this[PRUNECACHE](entry)
728
+
729
+ if (!this[CHECKED_CWD]) {
730
+ const er = this[MKDIR](this.cwd, this.dmode)
731
+ if (er) {
732
+ return this[ONERROR](er, entry)
733
+ }
734
+ this[CHECKED_CWD] = true
735
+ }
736
+
737
+ // don't bother to make the parent if the current entry is the cwd,
738
+ // we've already checked it.
739
+ if (entry.absolute !== this.cwd) {
740
+ const parent = normPath(path.dirname(entry.absolute))
741
+ if (parent !== this.cwd) {
742
+ const mkParent = this[MKDIR](parent, this.dmode)
743
+ if (mkParent) {
744
+ return this[ONERROR](mkParent, entry)
745
+ }
746
+ }
747
+ }
748
+
749
+ const [lstatEr, st] = callSync(() => fs.lstatSync(entry.absolute))
750
+ if (st && (this.keep || this.newer && st.mtime > entry.mtime)) {
751
+ return this[SKIP](entry)
752
+ }
753
+
754
+ if (lstatEr || this[ISREUSABLE](entry, st)) {
755
+ return this[MAKEFS](null, entry)
756
+ }
757
+
758
+ if (st.isDirectory()) {
759
+ if (entry.type === 'Directory') {
760
+ const needChmod = !this.noChmod &&
761
+ entry.mode &&
762
+ (st.mode & 0o7777) !== entry.mode
763
+ const [er] = needChmod ? callSync(() => {
764
+ fs.chmodSync(entry.absolute, entry.mode)
765
+ }) : []
766
+ return this[MAKEFS](er, entry)
767
+ }
768
+ // not a dir entry, have to remove it
769
+ const [er] = callSync(() => fs.rmdirSync(entry.absolute))
770
+ this[MAKEFS](er, entry)
771
+ }
772
+
773
+ // not a dir, and not reusable.
774
+ // don't remove if it's the cwd, since we want that error.
775
+ const [er] = entry.absolute === this.cwd ? []
776
+ : callSync(() => unlinkFileSync(entry.absolute))
777
+ this[MAKEFS](er, entry)
778
+ }
779
+
780
+ [FILE] (entry, done) {
781
+ const mode = entry.mode & 0o7777 || this.fmode
782
+
783
+ const oner = er => {
784
+ let closeError
785
+ try {
786
+ fs.closeSync(fd)
787
+ } catch (e) {
788
+ closeError = e
789
+ }
790
+ if (er || closeError) {
791
+ this[ONERROR](er || closeError, entry)
792
+ }
793
+ done()
794
+ }
795
+
796
+ let fd
797
+ try {
798
+ fd = fs.openSync(entry.absolute, getFlag(entry.size), mode)
799
+ } catch (er) {
800
+ return oner(er)
801
+ }
802
+ const tx = this.transform ? this.transform(entry) || entry : entry
803
+ if (tx !== entry) {
804
+ tx.on('error', er => this[ONERROR](er, entry))
805
+ entry.pipe(tx)
806
+ }
807
+
808
+ tx.on('data', chunk => {
809
+ try {
810
+ fs.writeSync(fd, chunk, 0, chunk.length)
811
+ } catch (er) {
812
+ oner(er)
813
+ }
814
+ })
815
+
816
+ tx.on('end', _ => {
817
+ let er = null
818
+ // try both, falling futimes back to utimes
819
+ // if either fails, handle the first error
820
+ if (entry.mtime && !this.noMtime) {
821
+ const atime = entry.atime || new Date()
822
+ const mtime = entry.mtime
823
+ try {
824
+ fs.futimesSync(fd, atime, mtime)
825
+ } catch (futimeser) {
826
+ try {
827
+ fs.utimesSync(entry.absolute, atime, mtime)
828
+ } catch (utimeser) {
829
+ er = futimeser
830
+ }
831
+ }
832
+ }
833
+
834
+ if (this[DOCHOWN](entry)) {
835
+ const uid = this[UID](entry)
836
+ const gid = this[GID](entry)
837
+
838
+ try {
839
+ fs.fchownSync(fd, uid, gid)
840
+ } catch (fchowner) {
841
+ try {
842
+ fs.chownSync(entry.absolute, uid, gid)
843
+ } catch (chowner) {
844
+ er = er || fchowner
845
+ }
846
+ }
847
+ }
848
+
849
+ oner(er)
850
+ })
851
+ }
852
+
853
+ [DIRECTORY] (entry, done) {
854
+ const mode = entry.mode & 0o7777 || this.dmode
855
+ const er = this[MKDIR](entry.absolute, mode)
856
+ if (er) {
857
+ this[ONERROR](er, entry)
858
+ done()
859
+ return
860
+ }
861
+ if (entry.mtime && !this.noMtime) {
862
+ try {
863
+ fs.utimesSync(entry.absolute, entry.atime || new Date(), entry.mtime)
864
+ } catch (er) {}
865
+ }
866
+ if (this[DOCHOWN](entry)) {
867
+ try {
868
+ fs.chownSync(entry.absolute, this[UID](entry), this[GID](entry))
869
+ } catch (er) {}
870
+ }
871
+ done()
872
+ entry.resume()
873
+ }
874
+
875
+ [MKDIR] (dir, mode) {
876
+ try {
877
+ return mkdir.sync(normPath(dir), {
878
+ uid: this.uid,
879
+ gid: this.gid,
880
+ processUid: this.processUid,
881
+ processGid: this.processGid,
882
+ umask: this.processUmask,
883
+ preserve: this.preservePaths,
884
+ unlink: this.unlink,
885
+ cache: this.dirCache,
886
+ cwd: this.cwd,
887
+ mode: mode,
888
+ })
889
+ } catch (er) {
890
+ return er
891
+ }
892
+ }
893
+
894
+ [LINK] (entry, linkpath, link, done) {
895
+ try {
896
+ fs[link + 'Sync'](linkpath, entry.absolute)
897
+ done()
898
+ entry.resume()
899
+ } catch (er) {
900
+ return this[ONERROR](er, entry)
901
+ }
902
+ }
903
+ }
904
+
905
+ Unpack.Sync = UnpackSync
906
+ module.exports = Unpack