pnpm 8.6.2 → 8.6.4

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 (418) hide show
  1. package/dist/node_modules/.modules.yaml +81 -24
  2. package/dist/node_modules/.pnpm/lock.yaml +235 -91
  3. package/dist/node_modules/@isaacs/cliui/LICENSE.txt +14 -0
  4. package/dist/node_modules/@isaacs/cliui/build/index.cjs +317 -0
  5. package/dist/node_modules/@isaacs/cliui/build/index.d.cts +43 -0
  6. package/dist/node_modules/@isaacs/cliui/build/lib/index.js +302 -0
  7. package/dist/node_modules/@isaacs/cliui/index.mjs +14 -0
  8. package/dist/node_modules/@isaacs/cliui/node_modules/string-width/index.js +54 -0
  9. package/dist/node_modules/@isaacs/cliui/node_modules/string-width/license +9 -0
  10. package/dist/node_modules/@isaacs/cliui/node_modules/string-width/package.json +59 -0
  11. package/dist/node_modules/@isaacs/cliui/package.json +86 -0
  12. package/dist/node_modules/@npmcli/fs/lib/cp/index.js +1 -1
  13. package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +2 -2
  14. package/dist/node_modules/@npmcli/fs/lib/index.js +11 -10
  15. package/dist/node_modules/@npmcli/fs/lib/move-file.js +78 -0
  16. package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
  17. package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +4 -6
  18. package/dist/node_modules/@npmcli/fs/package.json +11 -9
  19. package/dist/node_modules/@pkgjs/parseargs/LICENSE +201 -0
  20. package/dist/node_modules/@pkgjs/parseargs/index.js +396 -0
  21. package/dist/node_modules/@pkgjs/parseargs/internal/errors.js +47 -0
  22. package/dist/node_modules/@pkgjs/parseargs/internal/primordials.js +393 -0
  23. package/dist/node_modules/@pkgjs/parseargs/internal/util.js +14 -0
  24. package/dist/node_modules/@pkgjs/parseargs/internal/validators.js +89 -0
  25. package/dist/node_modules/@pkgjs/parseargs/package.json +36 -0
  26. package/dist/node_modules/@pkgjs/parseargs/utils.js +198 -0
  27. package/dist/node_modules/ansi-regex/index.js +3 -5
  28. package/dist/node_modules/ansi-regex/license +1 -1
  29. package/dist/node_modules/ansi-regex/package.json +9 -6
  30. package/dist/node_modules/ansi-styles/index.js +223 -0
  31. package/dist/node_modules/ansi-styles/license +9 -0
  32. package/dist/node_modules/ansi-styles/package.json +54 -0
  33. package/dist/node_modules/cacache/lib/content/read.js +1 -76
  34. package/dist/node_modules/cacache/lib/content/rm.js +2 -4
  35. package/dist/node_modules/cacache/lib/content/write.js +40 -24
  36. package/dist/node_modules/cacache/lib/entry-index.js +25 -99
  37. package/dist/node_modules/cacache/lib/get.js +1 -56
  38. package/dist/node_modules/cacache/lib/index.js +0 -3
  39. package/dist/node_modules/cacache/lib/rm.js +5 -5
  40. package/dist/node_modules/cacache/lib/util/glob.js +7 -0
  41. package/dist/node_modules/cacache/lib/util/tmp.js +3 -10
  42. package/dist/node_modules/cacache/lib/verify.js +28 -28
  43. package/dist/node_modules/cacache/node_modules/glob/LICENSE +1 -1
  44. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/package.json +4 -0
  45. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/bin.d.ts.map +1 -0
  46. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/bin.js +270 -0
  47. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/bin.js.map +1 -0
  48. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/glob.d.ts.map +1 -0
  49. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/glob.js +234 -0
  50. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/glob.js.map +1 -0
  51. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/has-magic.d.ts.map +1 -0
  52. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/has-magic.js +27 -0
  53. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/has-magic.js.map +1 -0
  54. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/ignore.d.ts.map +1 -0
  55. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/ignore.js +103 -0
  56. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/ignore.js.map +1 -0
  57. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/index.d.ts.map +1 -0
  58. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/index.js +68 -0
  59. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/index.js.map +1 -0
  60. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/pattern.d.ts.map +1 -0
  61. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/pattern.js +219 -0
  62. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/pattern.js.map +1 -0
  63. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/processor.d.ts.map +1 -0
  64. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/processor.js +309 -0
  65. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/processor.js.map +1 -0
  66. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/walker.d.ts.map +1 -0
  67. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/walker.js +358 -0
  68. package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/walker.js.map +1 -0
  69. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/glob.d.ts.map +1 -0
  70. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/glob.js +230 -0
  71. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/glob.js.map +1 -0
  72. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/has-magic.d.ts.map +1 -0
  73. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/has-magic.js +23 -0
  74. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/has-magic.js.map +1 -0
  75. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/ignore.d.ts.map +1 -0
  76. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/ignore.js +99 -0
  77. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/ignore.js.map +1 -0
  78. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/index.d.ts.map +1 -0
  79. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/index.js +56 -0
  80. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/index.js.map +1 -0
  81. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/package.json +4 -0
  82. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/pattern.d.ts.map +1 -0
  83. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/pattern.js +215 -0
  84. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/pattern.js.map +1 -0
  85. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/processor.d.ts.map +1 -0
  86. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/processor.js +302 -0
  87. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/processor.js.map +1 -0
  88. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/walker.d.ts.map +1 -0
  89. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/walker.js +352 -0
  90. package/dist/node_modules/cacache/node_modules/glob/dist/mjs/walker.js.map +1 -0
  91. package/dist/node_modules/cacache/node_modules/glob/package.json +78 -35
  92. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts.map +1 -0
  93. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/assert-valid-pattern.js +14 -0
  94. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/assert-valid-pattern.js.map +1 -0
  95. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/ast.d.ts.map +1 -0
  96. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/ast.js +589 -0
  97. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/ast.js.map +1 -0
  98. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/brace-expressions.d.ts.map +1 -0
  99. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/brace-expressions.js +152 -0
  100. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/brace-expressions.js.map +1 -0
  101. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/escape.d.ts.map +1 -0
  102. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/escape.js +22 -0
  103. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/escape.js.map +1 -0
  104. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/index.d.ts.map +1 -0
  105. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/index.js +1011 -0
  106. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/index.js.map +1 -0
  107. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/package.json +3 -0
  108. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/unescape.d.ts.map +1 -0
  109. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/unescape.js +24 -0
  110. package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/unescape.js.map +1 -0
  111. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts.map +1 -0
  112. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/assert-valid-pattern.js +10 -0
  113. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/assert-valid-pattern.js.map +1 -0
  114. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/ast.d.ts.map +1 -0
  115. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/ast.js +585 -0
  116. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/ast.js.map +1 -0
  117. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/brace-expressions.d.ts.map +1 -0
  118. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/brace-expressions.js +148 -0
  119. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/brace-expressions.js.map +1 -0
  120. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/escape.d.ts.map +1 -0
  121. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/escape.js +18 -0
  122. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/escape.js.map +1 -0
  123. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/index.d.ts.map +1 -0
  124. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/index.js +995 -0
  125. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/index.js.map +1 -0
  126. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/package.json +3 -0
  127. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/unescape.d.ts.map +1 -0
  128. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/unescape.js +20 -0
  129. package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/unescape.js.map +1 -0
  130. package/dist/node_modules/cacache/node_modules/minimatch/package.json +66 -15
  131. package/dist/node_modules/cacache/package.json +19 -21
  132. package/dist/node_modules/color-convert/LICENSE +21 -0
  133. package/dist/node_modules/color-convert/conversions.js +839 -0
  134. package/dist/node_modules/color-convert/index.js +81 -0
  135. package/dist/node_modules/color-convert/package.json +48 -0
  136. package/dist/node_modules/color-convert/route.js +97 -0
  137. package/dist/node_modules/color-name/LICENSE +8 -0
  138. package/dist/node_modules/color-name/index.js +152 -0
  139. package/dist/node_modules/color-name/package.json +28 -0
  140. package/dist/node_modules/cross-spawn/LICENSE +21 -0
  141. package/dist/node_modules/cross-spawn/index.js +39 -0
  142. package/dist/node_modules/cross-spawn/lib/enoent.js +59 -0
  143. package/dist/node_modules/cross-spawn/lib/parse.js +91 -0
  144. package/dist/node_modules/cross-spawn/lib/util/escape.js +45 -0
  145. package/dist/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  146. package/dist/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  147. package/dist/node_modules/cross-spawn/package.json +73 -0
  148. package/dist/node_modules/eastasianwidth/eastasianwidth.js +311 -0
  149. package/dist/node_modules/eastasianwidth/package.json +18 -0
  150. package/dist/node_modules/emoji-regex/RGI_Emoji.js +6 -0
  151. package/dist/node_modules/emoji-regex/es2015/RGI_Emoji.js +6 -0
  152. package/dist/node_modules/emoji-regex/es2015/index.js +1 -1
  153. package/dist/node_modules/emoji-regex/es2015/text.js +1 -1
  154. package/dist/node_modules/emoji-regex/index.js +1 -1
  155. package/dist/node_modules/emoji-regex/package.json +13 -11
  156. package/dist/node_modules/emoji-regex/text.js +1 -1
  157. package/dist/node_modules/exponential-backoff/LICENSE +202 -0
  158. package/dist/node_modules/exponential-backoff/dist/backoff.js +118 -0
  159. package/dist/node_modules/exponential-backoff/dist/backoff.js.map +1 -0
  160. package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
  161. package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js.map +1 -0
  162. package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
  163. package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js.map +1 -0
  164. package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
  165. package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js.map +1 -0
  166. package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
  167. package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js.map +1 -0
  168. package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
  169. package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js.map +1 -0
  170. package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
  171. package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js.map +1 -0
  172. package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
  173. package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js.map +1 -0
  174. package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
  175. package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js.map +1 -0
  176. package/dist/node_modules/exponential-backoff/dist/options.js +31 -0
  177. package/dist/node_modules/exponential-backoff/dist/options.js.map +1 -0
  178. package/dist/node_modules/exponential-backoff/package.json +61 -0
  179. package/dist/node_modules/{promise-inflight → foreground-child}/LICENSE +5 -4
  180. package/dist/node_modules/foreground-child/dist/cjs/all-signals.d.ts.map +1 -0
  181. package/dist/node_modules/foreground-child/dist/cjs/all-signals.js +58 -0
  182. package/dist/node_modules/foreground-child/dist/cjs/all-signals.js.map +1 -0
  183. package/dist/node_modules/foreground-child/dist/cjs/index.d.ts.map +1 -0
  184. package/dist/node_modules/foreground-child/dist/cjs/index.js +154 -0
  185. package/dist/node_modules/foreground-child/dist/cjs/index.js.map +1 -0
  186. package/dist/node_modules/foreground-child/dist/cjs/package.json +3 -0
  187. package/dist/node_modules/foreground-child/dist/cjs/watchdog.d.ts.map +1 -0
  188. package/dist/node_modules/foreground-child/dist/cjs/watchdog.js +43 -0
  189. package/dist/node_modules/foreground-child/dist/cjs/watchdog.js.map +1 -0
  190. package/dist/node_modules/foreground-child/dist/mjs/all-signals.d.ts.map +1 -0
  191. package/dist/node_modules/foreground-child/dist/mjs/all-signals.js +52 -0
  192. package/dist/node_modules/foreground-child/dist/mjs/all-signals.js.map +1 -0
  193. package/dist/node_modules/foreground-child/dist/mjs/index.d.ts.map +1 -0
  194. package/dist/node_modules/foreground-child/dist/mjs/index.js +146 -0
  195. package/dist/node_modules/foreground-child/dist/mjs/index.js.map +1 -0
  196. package/dist/node_modules/foreground-child/dist/mjs/package.json +3 -0
  197. package/dist/node_modules/foreground-child/dist/mjs/watchdog.d.ts.map +1 -0
  198. package/dist/node_modules/foreground-child/dist/mjs/watchdog.js +39 -0
  199. package/dist/node_modules/foreground-child/dist/mjs/watchdog.js.map +1 -0
  200. package/dist/node_modules/foreground-child/package.json +83 -0
  201. package/dist/node_modules/fs-minipass/lib/index.js +443 -0
  202. package/dist/node_modules/fs-minipass/package.json +28 -13
  203. package/dist/node_modules/gauge/node_modules/ansi-regex/index.js +10 -0
  204. package/dist/node_modules/gauge/node_modules/ansi-regex/license +9 -0
  205. package/dist/node_modules/gauge/node_modules/ansi-regex/package.json +55 -0
  206. package/dist/node_modules/gauge/node_modules/signal-exit/LICENSE.txt +16 -0
  207. package/dist/node_modules/gauge/node_modules/signal-exit/package.json +38 -0
  208. package/dist/node_modules/gauge/node_modules/strip-ansi/index.js +4 -0
  209. package/dist/node_modules/gauge/node_modules/strip-ansi/license +9 -0
  210. package/dist/node_modules/gauge/node_modules/strip-ansi/package.json +54 -0
  211. package/dist/node_modules/jackspeak/dist/cjs/index.d.ts.map +1 -0
  212. package/dist/node_modules/jackspeak/dist/cjs/index.js +723 -0
  213. package/dist/node_modules/jackspeak/dist/cjs/index.js.map +1 -0
  214. package/dist/node_modules/jackspeak/dist/cjs/package.json +3 -0
  215. package/dist/node_modules/jackspeak/dist/cjs/parse-args-cjs.d.ts.map +1 -0
  216. package/dist/node_modules/jackspeak/dist/cjs/parse-args-cjs.js.map +1 -0
  217. package/dist/node_modules/jackspeak/dist/cjs/parse-args.js +42 -0
  218. package/dist/node_modules/jackspeak/dist/mjs/index.d.ts.map +1 -0
  219. package/dist/node_modules/jackspeak/dist/mjs/index.js +713 -0
  220. package/dist/node_modules/jackspeak/dist/mjs/index.js.map +1 -0
  221. package/dist/node_modules/jackspeak/dist/mjs/package.json +3 -0
  222. package/dist/node_modules/jackspeak/dist/mjs/parse-args-esm.d.ts.map +1 -0
  223. package/dist/node_modules/jackspeak/dist/mjs/parse-args-esm.js.map +1 -0
  224. package/dist/node_modules/jackspeak/dist/mjs/parse-args.js +19 -0
  225. package/dist/node_modules/jackspeak/package.json +98 -0
  226. package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +26 -1
  227. package/dist/node_modules/make-fetch-happen/lib/options.js +2 -0
  228. package/dist/node_modules/make-fetch-happen/lib/remote.js +1 -1
  229. package/dist/node_modules/make-fetch-happen/package.json +16 -17
  230. package/dist/node_modules/minipass/LICENSE +1 -1
  231. package/dist/node_modules/minipass/index.js +299 -246
  232. package/dist/node_modules/minipass/package.json +27 -7
  233. package/dist/node_modules/{tar → minipass-collect}/node_modules/minipass/LICENSE +1 -1
  234. package/dist/node_modules/minipass-collect/node_modules/minipass/index.js +649 -0
  235. package/dist/node_modules/{tar → minipass-collect}/node_modules/minipass/package.json +7 -27
  236. package/dist/node_modules/minipass-fetch/lib/blob.js +1 -1
  237. package/dist/node_modules/minipass-fetch/lib/body.js +1 -1
  238. package/dist/node_modules/minipass-fetch/lib/index.js +15 -3
  239. package/dist/node_modules/minipass-fetch/lib/request.js +2 -1
  240. package/dist/node_modules/minipass-fetch/package.json +13 -11
  241. package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
  242. package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
  243. package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
  244. package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
  245. package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
  246. package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
  247. package/dist/node_modules/minipass-sized/node_modules/minipass/LICENSE +15 -0
  248. package/dist/node_modules/minipass-sized/node_modules/minipass/index.js +649 -0
  249. package/dist/node_modules/minipass-sized/node_modules/minipass/package.json +56 -0
  250. package/dist/node_modules/minizlib/node_modules/minipass/LICENSE +15 -0
  251. package/dist/node_modules/minizlib/node_modules/minipass/index.js +649 -0
  252. package/dist/node_modules/minizlib/node_modules/minipass/package.json +56 -0
  253. package/dist/node_modules/node-gyp/.github/workflows/tests.yml +9 -6
  254. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +1 -1
  255. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +1 -1
  256. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +13 -2
  257. package/dist/node_modules/node-gyp/lib/install.js +174 -92
  258. package/dist/node_modules/node-gyp/package.json +7 -6
  259. package/dist/node_modules/node-gyp/update-gyp.py +1 -1
  260. package/dist/node_modules/path-key/index.js +16 -0
  261. package/dist/node_modules/path-key/license +9 -0
  262. package/dist/node_modules/path-key/package.json +39 -0
  263. package/dist/node_modules/path-scurry/dist/cjs/index.d.ts.map +1 -0
  264. package/dist/node_modules/path-scurry/dist/cjs/index.js +1995 -0
  265. package/dist/node_modules/path-scurry/dist/cjs/index.js.map +1 -0
  266. package/dist/node_modules/path-scurry/dist/cjs/package.json +3 -0
  267. package/dist/node_modules/path-scurry/dist/mjs/index.d.ts.map +1 -0
  268. package/dist/node_modules/path-scurry/dist/mjs/index.js +1960 -0
  269. package/dist/node_modules/path-scurry/dist/mjs/index.js.map +1 -0
  270. package/dist/node_modules/path-scurry/dist/mjs/package.json +3 -0
  271. package/dist/node_modules/path-scurry/node_modules/lru-cache/LICENSE +15 -0
  272. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/index.d.ts.map +1 -0
  273. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/index.js +1395 -0
  274. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/index.js.map +1 -0
  275. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/index.min.js +2 -0
  276. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/index.min.js.map +7 -0
  277. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/package.json +3 -0
  278. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/index.d.ts.map +1 -0
  279. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/index.js +1391 -0
  280. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/index.js.map +1 -0
  281. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/index.min.js +2 -0
  282. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/index.min.js.map +7 -0
  283. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/package.json +3 -0
  284. package/dist/node_modules/path-scurry/node_modules/lru-cache/package.json +108 -0
  285. package/dist/node_modules/path-scurry/package.json +87 -0
  286. package/dist/node_modules/semver/classes/comparator.js +2 -1
  287. package/dist/node_modules/semver/classes/range.js +40 -27
  288. package/dist/node_modules/semver/classes/semver.js +5 -3
  289. package/dist/node_modules/semver/functions/coerce.js +1 -1
  290. package/dist/node_modules/semver/functions/diff.js +31 -20
  291. package/dist/node_modules/semver/internal/constants.js +5 -0
  292. package/dist/node_modules/semver/internal/re.js +30 -4
  293. package/dist/node_modules/semver/package.json +4 -4
  294. package/dist/node_modules/shebang-command/index.js +19 -0
  295. package/dist/node_modules/shebang-command/license +9 -0
  296. package/dist/node_modules/shebang-command/package.json +34 -0
  297. package/dist/node_modules/shebang-regex/index.js +2 -0
  298. package/dist/node_modules/shebang-regex/license +9 -0
  299. package/dist/node_modules/shebang-regex/package.json +35 -0
  300. package/dist/node_modules/signal-exit/LICENSE.txt +1 -1
  301. package/dist/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  302. package/dist/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  303. package/dist/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  304. package/dist/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  305. package/dist/node_modules/signal-exit/dist/cjs/index.js +272 -0
  306. package/dist/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  307. package/dist/node_modules/signal-exit/dist/cjs/package.json +3 -0
  308. package/dist/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  309. package/dist/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  310. package/dist/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  311. package/dist/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  312. package/dist/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  313. package/dist/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  314. package/dist/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  315. package/dist/node_modules/signal-exit/dist/mjs/index.js +268 -0
  316. package/dist/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  317. package/dist/node_modules/signal-exit/dist/mjs/package.json +3 -0
  318. package/dist/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  319. package/dist/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  320. package/dist/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  321. package/dist/node_modules/signal-exit/package.json +87 -19
  322. package/dist/node_modules/ssri/lib/index.js +157 -101
  323. package/dist/node_modules/ssri/package.json +12 -10
  324. package/dist/node_modules/string-width/node_modules/ansi-regex/index.js +10 -0
  325. package/dist/node_modules/string-width/node_modules/ansi-regex/license +9 -0
  326. package/dist/node_modules/string-width/node_modules/ansi-regex/package.json +55 -0
  327. package/dist/node_modules/string-width/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  328. package/dist/node_modules/string-width/node_modules/emoji-regex/es2015/index.js +6 -0
  329. package/dist/node_modules/string-width/node_modules/emoji-regex/es2015/text.js +6 -0
  330. package/dist/node_modules/string-width/node_modules/emoji-regex/index.js +6 -0
  331. package/dist/node_modules/string-width/node_modules/emoji-regex/package.json +50 -0
  332. package/dist/node_modules/string-width/node_modules/emoji-regex/text.js +6 -0
  333. package/dist/node_modules/string-width/node_modules/strip-ansi/index.js +4 -0
  334. package/dist/node_modules/string-width/node_modules/strip-ansi/license +9 -0
  335. package/dist/node_modules/string-width/node_modules/strip-ansi/package.json +54 -0
  336. package/dist/node_modules/string-width-cjs/index.js +47 -0
  337. package/dist/node_modules/string-width-cjs/license +9 -0
  338. package/dist/node_modules/string-width-cjs/node_modules/ansi-regex/index.js +10 -0
  339. package/dist/node_modules/string-width-cjs/node_modules/ansi-regex/license +9 -0
  340. package/dist/node_modules/string-width-cjs/node_modules/ansi-regex/package.json +55 -0
  341. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  342. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/index.js +6 -0
  343. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/text.js +6 -0
  344. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/index.js +6 -0
  345. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/package.json +50 -0
  346. package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/text.js +6 -0
  347. package/dist/node_modules/string-width-cjs/node_modules/strip-ansi/index.js +4 -0
  348. package/dist/node_modules/string-width-cjs/node_modules/strip-ansi/license +9 -0
  349. package/dist/node_modules/string-width-cjs/node_modules/strip-ansi/package.json +54 -0
  350. package/dist/node_modules/string-width-cjs/package.json +56 -0
  351. package/dist/node_modules/strip-ansi/index.js +13 -3
  352. package/dist/node_modules/strip-ansi/license +1 -1
  353. package/dist/node_modules/strip-ansi/package.json +10 -7
  354. package/dist/node_modules/strip-ansi-cjs/index.js +4 -0
  355. package/dist/node_modules/strip-ansi-cjs/license +9 -0
  356. package/dist/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
  357. package/dist/node_modules/strip-ansi-cjs/node_modules/ansi-regex/license +9 -0
  358. package/dist/node_modules/strip-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
  359. package/dist/node_modules/strip-ansi-cjs/package.json +54 -0
  360. package/dist/node_modules/{infer-owner → tar/node_modules/fs-minipass}/LICENSE +1 -1
  361. package/dist/node_modules/tar/node_modules/fs-minipass/node_modules/minipass/LICENSE +15 -0
  362. package/dist/node_modules/tar/node_modules/fs-minipass/node_modules/minipass/index.js +649 -0
  363. package/dist/node_modules/tar/node_modules/fs-minipass/node_modules/minipass/package.json +56 -0
  364. package/dist/node_modules/tar/node_modules/fs-minipass/package.json +39 -0
  365. package/dist/node_modules/unique-filename/package.json +12 -9
  366. package/dist/node_modules/unique-slug/package.json +10 -7
  367. package/dist/node_modules/wrap-ansi/index.js +214 -0
  368. package/dist/node_modules/wrap-ansi/license +9 -0
  369. package/dist/node_modules/wrap-ansi/node_modules/string-width/index.js +54 -0
  370. package/dist/node_modules/wrap-ansi/node_modules/string-width/license +9 -0
  371. package/dist/node_modules/wrap-ansi/node_modules/string-width/package.json +59 -0
  372. package/dist/node_modules/wrap-ansi/package.json +69 -0
  373. package/dist/node_modules/wrap-ansi-cjs/index.js +216 -0
  374. package/dist/node_modules/wrap-ansi-cjs/license +9 -0
  375. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
  376. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/license +9 -0
  377. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
  378. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/index.js +163 -0
  379. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/license +9 -0
  380. package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/package.json +56 -0
  381. package/dist/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.js +4 -0
  382. package/dist/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/license +9 -0
  383. package/dist/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/package.json +54 -0
  384. package/dist/node_modules/wrap-ansi-cjs/package.json +62 -0
  385. package/dist/pnpm.cjs +30877 -17543
  386. package/package.json +3 -3
  387. package/dist/node_modules/@gar/promisify/index.js +0 -36
  388. package/dist/node_modules/@gar/promisify/package.json +0 -32
  389. package/dist/node_modules/@npmcli/fs/lib/common/owner-sync.js +0 -96
  390. package/dist/node_modules/@npmcli/fs/lib/common/owner.js +0 -96
  391. package/dist/node_modules/@npmcli/fs/lib/copy-file.js +0 -16
  392. package/dist/node_modules/@npmcli/fs/lib/fs.js +0 -14
  393. package/dist/node_modules/@npmcli/fs/lib/mkdir.js +0 -19
  394. package/dist/node_modules/@npmcli/fs/lib/mkdtemp.js +0 -23
  395. package/dist/node_modules/@npmcli/fs/lib/rm/index.js +0 -22
  396. package/dist/node_modules/@npmcli/fs/lib/rm/polyfill.js +0 -239
  397. package/dist/node_modules/@npmcli/fs/lib/with-owner-sync.js +0 -21
  398. package/dist/node_modules/@npmcli/fs/lib/with-owner.js +0 -21
  399. package/dist/node_modules/@npmcli/fs/lib/write-file.js +0 -14
  400. package/dist/node_modules/@npmcli/move-file/lib/index.js +0 -185
  401. package/dist/node_modules/@npmcli/move-file/package.json +0 -47
  402. package/dist/node_modules/cacache/lib/util/fix-owner.js +0 -145
  403. package/dist/node_modules/cacache/lib/util/move-file.js +0 -56
  404. package/dist/node_modules/cacache/node_modules/glob/common.js +0 -244
  405. package/dist/node_modules/cacache/node_modules/glob/glob.js +0 -790
  406. package/dist/node_modules/cacache/node_modules/glob/sync.js +0 -486
  407. package/dist/node_modules/cacache/node_modules/minimatch/lib/path.js +0 -4
  408. package/dist/node_modules/cacache/node_modules/minimatch/minimatch.js +0 -944
  409. package/dist/node_modules/infer-owner/index.js +0 -71
  410. package/dist/node_modules/infer-owner/package.json +0 -26
  411. package/dist/node_modules/promise-inflight/inflight.js +0 -36
  412. package/dist/node_modules/promise-inflight/package.json +0 -24
  413. package/dist/node_modules/tar/node_modules/minipass/index.js +0 -702
  414. /package/dist/node_modules/@npmcli/fs/lib/{errors.js → cp/errors.js} +0 -0
  415. /package/dist/node_modules/{signal-exit → gauge/node_modules/signal-exit}/index.js +0 -0
  416. /package/dist/node_modules/{signal-exit → gauge/node_modules/signal-exit}/signals.js +0 -0
  417. /package/dist/node_modules/{tar/node_modules/minipass → minipass}/index.mjs +0 -0
  418. /package/dist/node_modules/{fs-minipass → tar/node_modules/fs-minipass}/index.js +0 -0
@@ -1,26 +1,45 @@
1
1
  {
2
2
  "name": "minipass",
3
- "version": "3.3.6",
3
+ "version": "5.0.0",
4
4
  "description": "minimal implementation of a PassThrough stream",
5
- "main": "index.js",
6
- "types": "index.d.ts",
7
- "dependencies": {
8
- "yallist": "^4.0.0"
5
+ "main": "./index.js",
6
+ "module": "./index.mjs",
7
+ "types": "./index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./index.d.ts",
12
+ "default": "./index.mjs"
13
+ },
14
+ "require": {
15
+ "types": "./index.d.ts",
16
+ "default": "./index.js"
17
+ }
18
+ },
19
+ "./package.json": "./package.json"
9
20
  },
10
21
  "devDependencies": {
11
22
  "@types/node": "^17.0.41",
12
23
  "end-of-stream": "^1.4.0",
24
+ "node-abort-controller": "^3.1.1",
13
25
  "prettier": "^2.6.2",
14
26
  "tap": "^16.2.0",
15
27
  "through2": "^2.0.3",
16
28
  "ts-node": "^10.8.1",
29
+ "typedoc": "^0.23.24",
17
30
  "typescript": "^4.7.3"
18
31
  },
19
32
  "scripts": {
33
+ "pretest": "npm run prepare",
34
+ "presnap": "npm run prepare",
35
+ "prepare": "node ./scripts/transpile-to-esm.js",
36
+ "snap": "tap",
20
37
  "test": "tap",
21
38
  "preversion": "npm test",
22
39
  "postversion": "npm publish",
23
- "postpublish": "git push origin --follow-tags"
40
+ "postpublish": "git push origin --follow-tags",
41
+ "typedoc": "typedoc ./index.d.ts",
42
+ "format": "prettier --write . --loglevel warn"
24
43
  },
25
44
  "repository": {
26
45
  "type": "git",
@@ -34,7 +53,8 @@
34
53
  "license": "ISC",
35
54
  "files": [
36
55
  "index.d.ts",
37
- "index.js"
56
+ "index.js",
57
+ "index.mjs"
38
58
  ],
39
59
  "tap": {
40
60
  "check-coverage": true
@@ -1,6 +1,6 @@
1
1
  The ISC License
2
2
 
3
- Copyright (c) 2017-2023 npm, Inc., Isaac Z. Schlueter, and Contributors
3
+ Copyright (c) 2017-2022 npm, Inc., Isaac Z. Schlueter, and Contributors
4
4
 
5
5
  Permission to use, copy, modify, and/or distribute this software for any
6
6
  purpose with or without fee is hereby granted, provided that the above
@@ -0,0 +1,649 @@
1
+ 'use strict'
2
+ const proc = typeof process === 'object' && process ? process : {
3
+ stdout: null,
4
+ stderr: null,
5
+ }
6
+ const EE = require('events')
7
+ const Stream = require('stream')
8
+ const SD = require('string_decoder').StringDecoder
9
+
10
+ const EOF = Symbol('EOF')
11
+ const MAYBE_EMIT_END = Symbol('maybeEmitEnd')
12
+ const EMITTED_END = Symbol('emittedEnd')
13
+ const EMITTING_END = Symbol('emittingEnd')
14
+ const EMITTED_ERROR = Symbol('emittedError')
15
+ const CLOSED = Symbol('closed')
16
+ const READ = Symbol('read')
17
+ const FLUSH = Symbol('flush')
18
+ const FLUSHCHUNK = Symbol('flushChunk')
19
+ const ENCODING = Symbol('encoding')
20
+ const DECODER = Symbol('decoder')
21
+ const FLOWING = Symbol('flowing')
22
+ const PAUSED = Symbol('paused')
23
+ const RESUME = Symbol('resume')
24
+ const BUFFERLENGTH = Symbol('bufferLength')
25
+ const BUFFERPUSH = Symbol('bufferPush')
26
+ const BUFFERSHIFT = Symbol('bufferShift')
27
+ const OBJECTMODE = Symbol('objectMode')
28
+ const DESTROYED = Symbol('destroyed')
29
+ const EMITDATA = Symbol('emitData')
30
+ const EMITEND = Symbol('emitEnd')
31
+ const EMITEND2 = Symbol('emitEnd2')
32
+ const ASYNC = Symbol('async')
33
+
34
+ const defer = fn => Promise.resolve().then(fn)
35
+
36
+ // TODO remove when Node v8 support drops
37
+ const doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== '1'
38
+ const ASYNCITERATOR = doIter && Symbol.asyncIterator
39
+ || Symbol('asyncIterator not implemented')
40
+ const ITERATOR = doIter && Symbol.iterator
41
+ || Symbol('iterator not implemented')
42
+
43
+ // events that mean 'the stream is over'
44
+ // these are treated specially, and re-emitted
45
+ // if they are listened for after emitting.
46
+ const isEndish = ev =>
47
+ ev === 'end' ||
48
+ ev === 'finish' ||
49
+ ev === 'prefinish'
50
+
51
+ const isArrayBuffer = b => b instanceof ArrayBuffer ||
52
+ typeof b === 'object' &&
53
+ b.constructor &&
54
+ b.constructor.name === 'ArrayBuffer' &&
55
+ b.byteLength >= 0
56
+
57
+ const isArrayBufferView = b => !Buffer.isBuffer(b) && ArrayBuffer.isView(b)
58
+
59
+ class Pipe {
60
+ constructor (src, dest, opts) {
61
+ this.src = src
62
+ this.dest = dest
63
+ this.opts = opts
64
+ this.ondrain = () => src[RESUME]()
65
+ dest.on('drain', this.ondrain)
66
+ }
67
+ unpipe () {
68
+ this.dest.removeListener('drain', this.ondrain)
69
+ }
70
+ // istanbul ignore next - only here for the prototype
71
+ proxyErrors () {}
72
+ end () {
73
+ this.unpipe()
74
+ if (this.opts.end)
75
+ this.dest.end()
76
+ }
77
+ }
78
+
79
+ class PipeProxyErrors extends Pipe {
80
+ unpipe () {
81
+ this.src.removeListener('error', this.proxyErrors)
82
+ super.unpipe()
83
+ }
84
+ constructor (src, dest, opts) {
85
+ super(src, dest, opts)
86
+ this.proxyErrors = er => dest.emit('error', er)
87
+ src.on('error', this.proxyErrors)
88
+ }
89
+ }
90
+
91
+ module.exports = class Minipass extends Stream {
92
+ constructor (options) {
93
+ super()
94
+ this[FLOWING] = false
95
+ // whether we're explicitly paused
96
+ this[PAUSED] = false
97
+ this.pipes = []
98
+ this.buffer = []
99
+ this[OBJECTMODE] = options && options.objectMode || false
100
+ if (this[OBJECTMODE])
101
+ this[ENCODING] = null
102
+ else
103
+ this[ENCODING] = options && options.encoding || null
104
+ if (this[ENCODING] === 'buffer')
105
+ this[ENCODING] = null
106
+ this[ASYNC] = options && !!options.async || false
107
+ this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null
108
+ this[EOF] = false
109
+ this[EMITTED_END] = false
110
+ this[EMITTING_END] = false
111
+ this[CLOSED] = false
112
+ this[EMITTED_ERROR] = null
113
+ this.writable = true
114
+ this.readable = true
115
+ this[BUFFERLENGTH] = 0
116
+ this[DESTROYED] = false
117
+ }
118
+
119
+ get bufferLength () { return this[BUFFERLENGTH] }
120
+
121
+ get encoding () { return this[ENCODING] }
122
+ set encoding (enc) {
123
+ if (this[OBJECTMODE])
124
+ throw new Error('cannot set encoding in objectMode')
125
+
126
+ if (this[ENCODING] && enc !== this[ENCODING] &&
127
+ (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH]))
128
+ throw new Error('cannot change encoding')
129
+
130
+ if (this[ENCODING] !== enc) {
131
+ this[DECODER] = enc ? new SD(enc) : null
132
+ if (this.buffer.length)
133
+ this.buffer = this.buffer.map(chunk => this[DECODER].write(chunk))
134
+ }
135
+
136
+ this[ENCODING] = enc
137
+ }
138
+
139
+ setEncoding (enc) {
140
+ this.encoding = enc
141
+ }
142
+
143
+ get objectMode () { return this[OBJECTMODE] }
144
+ set objectMode (om) { this[OBJECTMODE] = this[OBJECTMODE] || !!om }
145
+
146
+ get ['async'] () { return this[ASYNC] }
147
+ set ['async'] (a) { this[ASYNC] = this[ASYNC] || !!a }
148
+
149
+ write (chunk, encoding, cb) {
150
+ if (this[EOF])
151
+ throw new Error('write after end')
152
+
153
+ if (this[DESTROYED]) {
154
+ this.emit('error', Object.assign(
155
+ new Error('Cannot call write after a stream was destroyed'),
156
+ { code: 'ERR_STREAM_DESTROYED' }
157
+ ))
158
+ return true
159
+ }
160
+
161
+ if (typeof encoding === 'function')
162
+ cb = encoding, encoding = 'utf8'
163
+
164
+ if (!encoding)
165
+ encoding = 'utf8'
166
+
167
+ const fn = this[ASYNC] ? defer : f => f()
168
+
169
+ // convert array buffers and typed array views into buffers
170
+ // at some point in the future, we may want to do the opposite!
171
+ // leave strings and buffers as-is
172
+ // anything else switches us into object mode
173
+ if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
174
+ if (isArrayBufferView(chunk))
175
+ chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength)
176
+ else if (isArrayBuffer(chunk))
177
+ chunk = Buffer.from(chunk)
178
+ else if (typeof chunk !== 'string')
179
+ // use the setter so we throw if we have encoding set
180
+ this.objectMode = true
181
+ }
182
+
183
+ // handle object mode up front, since it's simpler
184
+ // this yields better performance, fewer checks later.
185
+ if (this[OBJECTMODE]) {
186
+ /* istanbul ignore if - maybe impossible? */
187
+ if (this.flowing && this[BUFFERLENGTH] !== 0)
188
+ this[FLUSH](true)
189
+
190
+ if (this.flowing)
191
+ this.emit('data', chunk)
192
+ else
193
+ this[BUFFERPUSH](chunk)
194
+
195
+ if (this[BUFFERLENGTH] !== 0)
196
+ this.emit('readable')
197
+
198
+ if (cb)
199
+ fn(cb)
200
+
201
+ return this.flowing
202
+ }
203
+
204
+ // at this point the chunk is a buffer or string
205
+ // don't buffer it up or send it to the decoder
206
+ if (!chunk.length) {
207
+ if (this[BUFFERLENGTH] !== 0)
208
+ this.emit('readable')
209
+ if (cb)
210
+ fn(cb)
211
+ return this.flowing
212
+ }
213
+
214
+ // fast-path writing strings of same encoding to a stream with
215
+ // an empty buffer, skipping the buffer/decoder dance
216
+ if (typeof chunk === 'string' &&
217
+ // unless it is a string already ready for us to use
218
+ !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) {
219
+ chunk = Buffer.from(chunk, encoding)
220
+ }
221
+
222
+ if (Buffer.isBuffer(chunk) && this[ENCODING])
223
+ chunk = this[DECODER].write(chunk)
224
+
225
+ // Note: flushing CAN potentially switch us into not-flowing mode
226
+ if (this.flowing && this[BUFFERLENGTH] !== 0)
227
+ this[FLUSH](true)
228
+
229
+ if (this.flowing)
230
+ this.emit('data', chunk)
231
+ else
232
+ this[BUFFERPUSH](chunk)
233
+
234
+ if (this[BUFFERLENGTH] !== 0)
235
+ this.emit('readable')
236
+
237
+ if (cb)
238
+ fn(cb)
239
+
240
+ return this.flowing
241
+ }
242
+
243
+ read (n) {
244
+ if (this[DESTROYED])
245
+ return null
246
+
247
+ if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) {
248
+ this[MAYBE_EMIT_END]()
249
+ return null
250
+ }
251
+
252
+ if (this[OBJECTMODE])
253
+ n = null
254
+
255
+ if (this.buffer.length > 1 && !this[OBJECTMODE]) {
256
+ if (this.encoding)
257
+ this.buffer = [this.buffer.join('')]
258
+ else
259
+ this.buffer = [Buffer.concat(this.buffer, this[BUFFERLENGTH])]
260
+ }
261
+
262
+ const ret = this[READ](n || null, this.buffer[0])
263
+ this[MAYBE_EMIT_END]()
264
+ return ret
265
+ }
266
+
267
+ [READ] (n, chunk) {
268
+ if (n === chunk.length || n === null)
269
+ this[BUFFERSHIFT]()
270
+ else {
271
+ this.buffer[0] = chunk.slice(n)
272
+ chunk = chunk.slice(0, n)
273
+ this[BUFFERLENGTH] -= n
274
+ }
275
+
276
+ this.emit('data', chunk)
277
+
278
+ if (!this.buffer.length && !this[EOF])
279
+ this.emit('drain')
280
+
281
+ return chunk
282
+ }
283
+
284
+ end (chunk, encoding, cb) {
285
+ if (typeof chunk === 'function')
286
+ cb = chunk, chunk = null
287
+ if (typeof encoding === 'function')
288
+ cb = encoding, encoding = 'utf8'
289
+ if (chunk)
290
+ this.write(chunk, encoding)
291
+ if (cb)
292
+ this.once('end', cb)
293
+ this[EOF] = true
294
+ this.writable = false
295
+
296
+ // if we haven't written anything, then go ahead and emit,
297
+ // even if we're not reading.
298
+ // we'll re-emit if a new 'end' listener is added anyway.
299
+ // This makes MP more suitable to write-only use cases.
300
+ if (this.flowing || !this[PAUSED])
301
+ this[MAYBE_EMIT_END]()
302
+ return this
303
+ }
304
+
305
+ // don't let the internal resume be overwritten
306
+ [RESUME] () {
307
+ if (this[DESTROYED])
308
+ return
309
+
310
+ this[PAUSED] = false
311
+ this[FLOWING] = true
312
+ this.emit('resume')
313
+ if (this.buffer.length)
314
+ this[FLUSH]()
315
+ else if (this[EOF])
316
+ this[MAYBE_EMIT_END]()
317
+ else
318
+ this.emit('drain')
319
+ }
320
+
321
+ resume () {
322
+ return this[RESUME]()
323
+ }
324
+
325
+ pause () {
326
+ this[FLOWING] = false
327
+ this[PAUSED] = true
328
+ }
329
+
330
+ get destroyed () {
331
+ return this[DESTROYED]
332
+ }
333
+
334
+ get flowing () {
335
+ return this[FLOWING]
336
+ }
337
+
338
+ get paused () {
339
+ return this[PAUSED]
340
+ }
341
+
342
+ [BUFFERPUSH] (chunk) {
343
+ if (this[OBJECTMODE])
344
+ this[BUFFERLENGTH] += 1
345
+ else
346
+ this[BUFFERLENGTH] += chunk.length
347
+ this.buffer.push(chunk)
348
+ }
349
+
350
+ [BUFFERSHIFT] () {
351
+ if (this.buffer.length) {
352
+ if (this[OBJECTMODE])
353
+ this[BUFFERLENGTH] -= 1
354
+ else
355
+ this[BUFFERLENGTH] -= this.buffer[0].length
356
+ }
357
+ return this.buffer.shift()
358
+ }
359
+
360
+ [FLUSH] (noDrain) {
361
+ do {} while (this[FLUSHCHUNK](this[BUFFERSHIFT]()))
362
+
363
+ if (!noDrain && !this.buffer.length && !this[EOF])
364
+ this.emit('drain')
365
+ }
366
+
367
+ [FLUSHCHUNK] (chunk) {
368
+ return chunk ? (this.emit('data', chunk), this.flowing) : false
369
+ }
370
+
371
+ pipe (dest, opts) {
372
+ if (this[DESTROYED])
373
+ return
374
+
375
+ const ended = this[EMITTED_END]
376
+ opts = opts || {}
377
+ if (dest === proc.stdout || dest === proc.stderr)
378
+ opts.end = false
379
+ else
380
+ opts.end = opts.end !== false
381
+ opts.proxyErrors = !!opts.proxyErrors
382
+
383
+ // piping an ended stream ends immediately
384
+ if (ended) {
385
+ if (opts.end)
386
+ dest.end()
387
+ } else {
388
+ this.pipes.push(!opts.proxyErrors ? new Pipe(this, dest, opts)
389
+ : new PipeProxyErrors(this, dest, opts))
390
+ if (this[ASYNC])
391
+ defer(() => this[RESUME]())
392
+ else
393
+ this[RESUME]()
394
+ }
395
+
396
+ return dest
397
+ }
398
+
399
+ unpipe (dest) {
400
+ const p = this.pipes.find(p => p.dest === dest)
401
+ if (p) {
402
+ this.pipes.splice(this.pipes.indexOf(p), 1)
403
+ p.unpipe()
404
+ }
405
+ }
406
+
407
+ addListener (ev, fn) {
408
+ return this.on(ev, fn)
409
+ }
410
+
411
+ on (ev, fn) {
412
+ const ret = super.on(ev, fn)
413
+ if (ev === 'data' && !this.pipes.length && !this.flowing)
414
+ this[RESUME]()
415
+ else if (ev === 'readable' && this[BUFFERLENGTH] !== 0)
416
+ super.emit('readable')
417
+ else if (isEndish(ev) && this[EMITTED_END]) {
418
+ super.emit(ev)
419
+ this.removeAllListeners(ev)
420
+ } else if (ev === 'error' && this[EMITTED_ERROR]) {
421
+ if (this[ASYNC])
422
+ defer(() => fn.call(this, this[EMITTED_ERROR]))
423
+ else
424
+ fn.call(this, this[EMITTED_ERROR])
425
+ }
426
+ return ret
427
+ }
428
+
429
+ get emittedEnd () {
430
+ return this[EMITTED_END]
431
+ }
432
+
433
+ [MAYBE_EMIT_END] () {
434
+ if (!this[EMITTING_END] &&
435
+ !this[EMITTED_END] &&
436
+ !this[DESTROYED] &&
437
+ this.buffer.length === 0 &&
438
+ this[EOF]) {
439
+ this[EMITTING_END] = true
440
+ this.emit('end')
441
+ this.emit('prefinish')
442
+ this.emit('finish')
443
+ if (this[CLOSED])
444
+ this.emit('close')
445
+ this[EMITTING_END] = false
446
+ }
447
+ }
448
+
449
+ emit (ev, data, ...extra) {
450
+ // error and close are only events allowed after calling destroy()
451
+ if (ev !== 'error' && ev !== 'close' && ev !== DESTROYED && this[DESTROYED])
452
+ return
453
+ else if (ev === 'data') {
454
+ return !data ? false
455
+ : this[ASYNC] ? defer(() => this[EMITDATA](data))
456
+ : this[EMITDATA](data)
457
+ } else if (ev === 'end') {
458
+ return this[EMITEND]()
459
+ } else if (ev === 'close') {
460
+ this[CLOSED] = true
461
+ // don't emit close before 'end' and 'finish'
462
+ if (!this[EMITTED_END] && !this[DESTROYED])
463
+ return
464
+ const ret = super.emit('close')
465
+ this.removeAllListeners('close')
466
+ return ret
467
+ } else if (ev === 'error') {
468
+ this[EMITTED_ERROR] = data
469
+ const ret = super.emit('error', data)
470
+ this[MAYBE_EMIT_END]()
471
+ return ret
472
+ } else if (ev === 'resume') {
473
+ const ret = super.emit('resume')
474
+ this[MAYBE_EMIT_END]()
475
+ return ret
476
+ } else if (ev === 'finish' || ev === 'prefinish') {
477
+ const ret = super.emit(ev)
478
+ this.removeAllListeners(ev)
479
+ return ret
480
+ }
481
+
482
+ // Some other unknown event
483
+ const ret = super.emit(ev, data, ...extra)
484
+ this[MAYBE_EMIT_END]()
485
+ return ret
486
+ }
487
+
488
+ [EMITDATA] (data) {
489
+ for (const p of this.pipes) {
490
+ if (p.dest.write(data) === false)
491
+ this.pause()
492
+ }
493
+ const ret = super.emit('data', data)
494
+ this[MAYBE_EMIT_END]()
495
+ return ret
496
+ }
497
+
498
+ [EMITEND] () {
499
+ if (this[EMITTED_END])
500
+ return
501
+
502
+ this[EMITTED_END] = true
503
+ this.readable = false
504
+ if (this[ASYNC])
505
+ defer(() => this[EMITEND2]())
506
+ else
507
+ this[EMITEND2]()
508
+ }
509
+
510
+ [EMITEND2] () {
511
+ if (this[DECODER]) {
512
+ const data = this[DECODER].end()
513
+ if (data) {
514
+ for (const p of this.pipes) {
515
+ p.dest.write(data)
516
+ }
517
+ super.emit('data', data)
518
+ }
519
+ }
520
+
521
+ for (const p of this.pipes) {
522
+ p.end()
523
+ }
524
+ const ret = super.emit('end')
525
+ this.removeAllListeners('end')
526
+ return ret
527
+ }
528
+
529
+ // const all = await stream.collect()
530
+ collect () {
531
+ const buf = []
532
+ if (!this[OBJECTMODE])
533
+ buf.dataLength = 0
534
+ // set the promise first, in case an error is raised
535
+ // by triggering the flow here.
536
+ const p = this.promise()
537
+ this.on('data', c => {
538
+ buf.push(c)
539
+ if (!this[OBJECTMODE])
540
+ buf.dataLength += c.length
541
+ })
542
+ return p.then(() => buf)
543
+ }
544
+
545
+ // const data = await stream.concat()
546
+ concat () {
547
+ return this[OBJECTMODE]
548
+ ? Promise.reject(new Error('cannot concat in objectMode'))
549
+ : this.collect().then(buf =>
550
+ this[OBJECTMODE]
551
+ ? Promise.reject(new Error('cannot concat in objectMode'))
552
+ : this[ENCODING] ? buf.join('') : Buffer.concat(buf, buf.dataLength))
553
+ }
554
+
555
+ // stream.promise().then(() => done, er => emitted error)
556
+ promise () {
557
+ return new Promise((resolve, reject) => {
558
+ this.on(DESTROYED, () => reject(new Error('stream destroyed')))
559
+ this.on('error', er => reject(er))
560
+ this.on('end', () => resolve())
561
+ })
562
+ }
563
+
564
+ // for await (let chunk of stream)
565
+ [ASYNCITERATOR] () {
566
+ const next = () => {
567
+ const res = this.read()
568
+ if (res !== null)
569
+ return Promise.resolve({ done: false, value: res })
570
+
571
+ if (this[EOF])
572
+ return Promise.resolve({ done: true })
573
+
574
+ let resolve = null
575
+ let reject = null
576
+ const onerr = er => {
577
+ this.removeListener('data', ondata)
578
+ this.removeListener('end', onend)
579
+ reject(er)
580
+ }
581
+ const ondata = value => {
582
+ this.removeListener('error', onerr)
583
+ this.removeListener('end', onend)
584
+ this.pause()
585
+ resolve({ value: value, done: !!this[EOF] })
586
+ }
587
+ const onend = () => {
588
+ this.removeListener('error', onerr)
589
+ this.removeListener('data', ondata)
590
+ resolve({ done: true })
591
+ }
592
+ const ondestroy = () => onerr(new Error('stream destroyed'))
593
+ return new Promise((res, rej) => {
594
+ reject = rej
595
+ resolve = res
596
+ this.once(DESTROYED, ondestroy)
597
+ this.once('error', onerr)
598
+ this.once('end', onend)
599
+ this.once('data', ondata)
600
+ })
601
+ }
602
+
603
+ return { next }
604
+ }
605
+
606
+ // for (let chunk of stream)
607
+ [ITERATOR] () {
608
+ const next = () => {
609
+ const value = this.read()
610
+ const done = value === null
611
+ return { value, done }
612
+ }
613
+ return { next }
614
+ }
615
+
616
+ destroy (er) {
617
+ if (this[DESTROYED]) {
618
+ if (er)
619
+ this.emit('error', er)
620
+ else
621
+ this.emit(DESTROYED)
622
+ return this
623
+ }
624
+
625
+ this[DESTROYED] = true
626
+
627
+ // throw away all buffered data, it's never coming out
628
+ this.buffer.length = 0
629
+ this[BUFFERLENGTH] = 0
630
+
631
+ if (typeof this.close === 'function' && !this[CLOSED])
632
+ this.close()
633
+
634
+ if (er)
635
+ this.emit('error', er)
636
+ else // if no error to emit, still reject pending promises
637
+ this.emit(DESTROYED)
638
+
639
+ return this
640
+ }
641
+
642
+ static isStream (s) {
643
+ return !!s && (s instanceof Minipass || s instanceof Stream ||
644
+ s instanceof EE && (
645
+ typeof s.pipe === 'function' || // readable
646
+ (typeof s.write === 'function' && typeof s.end === 'function') // writable
647
+ ))
648
+ }
649
+ }