karajan-code 3.4.1 → 3.4.2

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 (699) hide show
  1. package/README.md +1 -1
  2. package/node_modules/@karajan/core/package.json +12 -1
  3. package/package.json +4 -2
  4. package/scripts/verify-pack.mjs +108 -0
  5. package/node_modules/@sec-ant/readable-stream/LICENSE +0 -21
  6. package/node_modules/@sec-ant/readable-stream/README.md +0 -230
  7. package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterablePrototype.d.ts +0 -1
  8. package/node_modules/@sec-ant/readable-stream/dist/core/asyncIterator.d.ts +0 -27
  9. package/node_modules/@sec-ant/readable-stream/dist/core/fromAnyIterable.d.ts +0 -6
  10. package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.d.ts +0 -2
  11. package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.js +0 -5
  12. package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.d.ts +0 -2
  13. package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.js +0 -5
  14. package/node_modules/@sec-ant/readable-stream/dist/index/index.d.ts +0 -2
  15. package/node_modules/@sec-ant/readable-stream/dist/index/index.js +0 -8
  16. package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.d.ts +0 -1
  17. package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.js +0 -3
  18. package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.d.ts +0 -1
  19. package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.js +0 -2
  20. package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.d.ts +0 -2
  21. package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.js +0 -4
  22. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.d.ts +0 -1
  23. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.js +0 -89
  24. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.d.ts +0 -1
  25. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.js +0 -34
  26. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.d.ts +0 -2
  27. package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.js +0 -6
  28. package/node_modules/@sec-ant/readable-stream/dist/types/async-iterator.d.ts +0 -11
  29. package/node_modules/@sec-ant/readable-stream/package.json +0 -96
  30. package/node_modules/@sindresorhus/merge-streams/index.d.ts +0 -44
  31. package/node_modules/@sindresorhus/merge-streams/index.js +0 -265
  32. package/node_modules/@sindresorhus/merge-streams/license +0 -9
  33. package/node_modules/@sindresorhus/merge-streams/package.json +0 -49
  34. package/node_modules/@sindresorhus/merge-streams/readme.md +0 -53
  35. package/node_modules/base64-js/LICENSE +0 -21
  36. package/node_modules/base64-js/README.md +0 -34
  37. package/node_modules/base64-js/base64js.min.js +0 -1
  38. package/node_modules/base64-js/index.d.ts +0 -3
  39. package/node_modules/base64-js/index.js +0 -150
  40. package/node_modules/base64-js/package.json +0 -47
  41. package/node_modules/better-sqlite3/LICENSE +0 -21
  42. package/node_modules/better-sqlite3/README.md +0 -99
  43. package/node_modules/better-sqlite3/binding.gyp +0 -38
  44. package/node_modules/better-sqlite3/deps/common.gypi +0 -68
  45. package/node_modules/better-sqlite3/deps/copy.js +0 -31
  46. package/node_modules/better-sqlite3/deps/defines.gypi +0 -42
  47. package/node_modules/better-sqlite3/deps/download.sh +0 -123
  48. package/node_modules/better-sqlite3/deps/patches/1208.patch +0 -15
  49. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +0 -268879
  50. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +0 -14335
  51. package/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +0 -739
  52. package/node_modules/better-sqlite3/deps/sqlite3.gyp +0 -80
  53. package/node_modules/better-sqlite3/deps/test_extension.c +0 -21
  54. package/node_modules/better-sqlite3/lib/database.js +0 -90
  55. package/node_modules/better-sqlite3/lib/index.js +0 -3
  56. package/node_modules/better-sqlite3/lib/methods/aggregate.js +0 -43
  57. package/node_modules/better-sqlite3/lib/methods/backup.js +0 -67
  58. package/node_modules/better-sqlite3/lib/methods/function.js +0 -31
  59. package/node_modules/better-sqlite3/lib/methods/inspect.js +0 -7
  60. package/node_modules/better-sqlite3/lib/methods/pragma.js +0 -12
  61. package/node_modules/better-sqlite3/lib/methods/serialize.js +0 -16
  62. package/node_modules/better-sqlite3/lib/methods/table.js +0 -189
  63. package/node_modules/better-sqlite3/lib/methods/transaction.js +0 -78
  64. package/node_modules/better-sqlite3/lib/methods/wrappers.js +0 -54
  65. package/node_modules/better-sqlite3/lib/sqlite-error.js +0 -20
  66. package/node_modules/better-sqlite3/lib/util.js +0 -12
  67. package/node_modules/better-sqlite3/package.json +0 -59
  68. package/node_modules/better-sqlite3/src/addon.cpp +0 -47
  69. package/node_modules/better-sqlite3/src/better_sqlite3.cpp +0 -74
  70. package/node_modules/better-sqlite3/src/objects/backup.cpp +0 -120
  71. package/node_modules/better-sqlite3/src/objects/backup.hpp +0 -36
  72. package/node_modules/better-sqlite3/src/objects/database.cpp +0 -417
  73. package/node_modules/better-sqlite3/src/objects/database.hpp +0 -103
  74. package/node_modules/better-sqlite3/src/objects/statement-iterator.cpp +0 -113
  75. package/node_modules/better-sqlite3/src/objects/statement-iterator.hpp +0 -50
  76. package/node_modules/better-sqlite3/src/objects/statement.cpp +0 -383
  77. package/node_modules/better-sqlite3/src/objects/statement.hpp +0 -58
  78. package/node_modules/better-sqlite3/src/util/bind-map.cpp +0 -73
  79. package/node_modules/better-sqlite3/src/util/binder.cpp +0 -193
  80. package/node_modules/better-sqlite3/src/util/constants.cpp +0 -172
  81. package/node_modules/better-sqlite3/src/util/custom-aggregate.cpp +0 -121
  82. package/node_modules/better-sqlite3/src/util/custom-function.cpp +0 -59
  83. package/node_modules/better-sqlite3/src/util/custom-table.cpp +0 -409
  84. package/node_modules/better-sqlite3/src/util/data-converter.cpp +0 -17
  85. package/node_modules/better-sqlite3/src/util/data.cpp +0 -194
  86. package/node_modules/better-sqlite3/src/util/helpers.cpp +0 -109
  87. package/node_modules/better-sqlite3/src/util/macros.cpp +0 -83
  88. package/node_modules/better-sqlite3/src/util/query-macros.cpp +0 -71
  89. package/node_modules/better-sqlite3/src/util/row-builder.cpp +0 -49
  90. package/node_modules/bindings/LICENSE.md +0 -22
  91. package/node_modules/bindings/README.md +0 -98
  92. package/node_modules/bindings/bindings.js +0 -221
  93. package/node_modules/bindings/package.json +0 -28
  94. package/node_modules/bl/.travis.yml +0 -17
  95. package/node_modules/bl/BufferList.js +0 -396
  96. package/node_modules/bl/LICENSE.md +0 -13
  97. package/node_modules/bl/README.md +0 -247
  98. package/node_modules/bl/bl.js +0 -84
  99. package/node_modules/bl/package.json +0 -37
  100. package/node_modules/bl/test/convert.js +0 -21
  101. package/node_modules/bl/test/indexOf.js +0 -492
  102. package/node_modules/bl/test/isBufferList.js +0 -32
  103. package/node_modules/bl/test/test.js +0 -869
  104. package/node_modules/buffer/AUTHORS.md +0 -70
  105. package/node_modules/buffer/LICENSE +0 -21
  106. package/node_modules/buffer/README.md +0 -410
  107. package/node_modules/buffer/index.d.ts +0 -186
  108. package/node_modules/buffer/index.js +0 -1817
  109. package/node_modules/buffer/package.json +0 -96
  110. package/node_modules/chownr/LICENSE +0 -15
  111. package/node_modules/chownr/README.md +0 -3
  112. package/node_modules/chownr/chownr.js +0 -167
  113. package/node_modules/chownr/package.json +0 -29
  114. package/node_modules/cross-spawn/LICENSE +0 -21
  115. package/node_modules/cross-spawn/README.md +0 -89
  116. package/node_modules/cross-spawn/index.js +0 -39
  117. package/node_modules/cross-spawn/lib/enoent.js +0 -59
  118. package/node_modules/cross-spawn/lib/parse.js +0 -91
  119. package/node_modules/cross-spawn/lib/util/escape.js +0 -47
  120. package/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  121. package/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  122. package/node_modules/cross-spawn/package.json +0 -73
  123. package/node_modules/decompress-response/index.d.ts +0 -22
  124. package/node_modules/decompress-response/index.js +0 -58
  125. package/node_modules/decompress-response/license +0 -9
  126. package/node_modules/decompress-response/package.json +0 -56
  127. package/node_modules/decompress-response/readme.md +0 -48
  128. package/node_modules/deep-extend/LICENSE +0 -20
  129. package/node_modules/deep-extend/README.md +0 -91
  130. package/node_modules/deep-extend/index.js +0 -1
  131. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  132. package/node_modules/deep-extend/package.json +0 -62
  133. package/node_modules/detect-libc/LICENSE +0 -201
  134. package/node_modules/detect-libc/README.md +0 -163
  135. package/node_modules/detect-libc/index.d.ts +0 -14
  136. package/node_modules/detect-libc/lib/detect-libc.js +0 -313
  137. package/node_modules/detect-libc/lib/elf.js +0 -39
  138. package/node_modules/detect-libc/lib/filesystem.js +0 -51
  139. package/node_modules/detect-libc/lib/process.js +0 -24
  140. package/node_modules/detect-libc/package.json +0 -44
  141. package/node_modules/end-of-stream/LICENSE +0 -21
  142. package/node_modules/end-of-stream/README.md +0 -54
  143. package/node_modules/end-of-stream/index.js +0 -96
  144. package/node_modules/end-of-stream/package.json +0 -37
  145. package/node_modules/execa/index.d.ts +0 -27
  146. package/node_modules/execa/index.js +0 -28
  147. package/node_modules/execa/lib/arguments/command.js +0 -20
  148. package/node_modules/execa/lib/arguments/cwd.js +0 -39
  149. package/node_modules/execa/lib/arguments/encoding-option.js +0 -50
  150. package/node_modules/execa/lib/arguments/escape.js +0 -88
  151. package/node_modules/execa/lib/arguments/fd-options.js +0 -108
  152. package/node_modules/execa/lib/arguments/file-url.js +0 -25
  153. package/node_modules/execa/lib/arguments/options.js +0 -96
  154. package/node_modules/execa/lib/arguments/shell.js +0 -11
  155. package/node_modules/execa/lib/arguments/specific.js +0 -111
  156. package/node_modules/execa/lib/convert/add.js +0 -15
  157. package/node_modules/execa/lib/convert/concurrent.js +0 -33
  158. package/node_modules/execa/lib/convert/duplex.js +0 -69
  159. package/node_modules/execa/lib/convert/iterable.js +0 -34
  160. package/node_modules/execa/lib/convert/readable.js +0 -113
  161. package/node_modules/execa/lib/convert/shared.js +0 -46
  162. package/node_modules/execa/lib/convert/writable.js +0 -90
  163. package/node_modules/execa/lib/io/contents.js +0 -116
  164. package/node_modules/execa/lib/io/input-sync.js +0 -44
  165. package/node_modules/execa/lib/io/iterate.js +0 -110
  166. package/node_modules/execa/lib/io/max-buffer.js +0 -89
  167. package/node_modules/execa/lib/io/output-async.js +0 -80
  168. package/node_modules/execa/lib/io/output-sync.js +0 -135
  169. package/node_modules/execa/lib/io/pipeline.js +0 -48
  170. package/node_modules/execa/lib/io/strip-newline.js +0 -12
  171. package/node_modules/execa/lib/ipc/array.js +0 -4
  172. package/node_modules/execa/lib/ipc/buffer-messages.js +0 -47
  173. package/node_modules/execa/lib/ipc/forward.js +0 -56
  174. package/node_modules/execa/lib/ipc/get-each.js +0 -89
  175. package/node_modules/execa/lib/ipc/get-one.js +0 -69
  176. package/node_modules/execa/lib/ipc/graceful.js +0 -72
  177. package/node_modules/execa/lib/ipc/incoming.js +0 -79
  178. package/node_modules/execa/lib/ipc/ipc-input.js +0 -44
  179. package/node_modules/execa/lib/ipc/methods.js +0 -49
  180. package/node_modules/execa/lib/ipc/outgoing.js +0 -47
  181. package/node_modules/execa/lib/ipc/reference.js +0 -44
  182. package/node_modules/execa/lib/ipc/send.js +0 -91
  183. package/node_modules/execa/lib/ipc/strict.js +0 -113
  184. package/node_modules/execa/lib/ipc/validation.js +0 -111
  185. package/node_modules/execa/lib/methods/bind.js +0 -23
  186. package/node_modules/execa/lib/methods/command.js +0 -43
  187. package/node_modules/execa/lib/methods/create.js +0 -65
  188. package/node_modules/execa/lib/methods/main-async.js +0 -194
  189. package/node_modules/execa/lib/methods/main-sync.js +0 -163
  190. package/node_modules/execa/lib/methods/node.js +0 -51
  191. package/node_modules/execa/lib/methods/parameters.js +0 -31
  192. package/node_modules/execa/lib/methods/promise.js +0 -15
  193. package/node_modules/execa/lib/methods/script.js +0 -22
  194. package/node_modules/execa/lib/methods/template.js +0 -153
  195. package/node_modules/execa/lib/pipe/abort.js +0 -20
  196. package/node_modules/execa/lib/pipe/pipe-arguments.js +0 -91
  197. package/node_modules/execa/lib/pipe/sequence.js +0 -24
  198. package/node_modules/execa/lib/pipe/setup.js +0 -72
  199. package/node_modules/execa/lib/pipe/streaming.js +0 -51
  200. package/node_modules/execa/lib/pipe/throw.js +0 -58
  201. package/node_modules/execa/lib/resolve/all-async.js +0 -46
  202. package/node_modules/execa/lib/resolve/all-sync.js +0 -33
  203. package/node_modules/execa/lib/resolve/exit-async.js +0 -54
  204. package/node_modules/execa/lib/resolve/exit-sync.js +0 -25
  205. package/node_modules/execa/lib/resolve/stdio.js +0 -47
  206. package/node_modules/execa/lib/resolve/wait-stream.js +0 -96
  207. package/node_modules/execa/lib/resolve/wait-subprocess.js +0 -146
  208. package/node_modules/execa/lib/return/duration.js +0 -8
  209. package/node_modules/execa/lib/return/early-error.js +0 -60
  210. package/node_modules/execa/lib/return/final-error.js +0 -40
  211. package/node_modules/execa/lib/return/message.js +0 -157
  212. package/node_modules/execa/lib/return/reject.js +0 -13
  213. package/node_modules/execa/lib/return/result.js +0 -186
  214. package/node_modules/execa/lib/stdio/direction.js +0 -76
  215. package/node_modules/execa/lib/stdio/duplicate.js +0 -116
  216. package/node_modules/execa/lib/stdio/handle-async.js +0 -52
  217. package/node_modules/execa/lib/stdio/handle-sync.js +0 -57
  218. package/node_modules/execa/lib/stdio/handle.js +0 -214
  219. package/node_modules/execa/lib/stdio/input-option.js +0 -50
  220. package/node_modules/execa/lib/stdio/native.js +0 -106
  221. package/node_modules/execa/lib/stdio/stdio-option.js +0 -60
  222. package/node_modules/execa/lib/stdio/type.js +0 -173
  223. package/node_modules/execa/lib/terminate/cancel.js +0 -20
  224. package/node_modules/execa/lib/terminate/cleanup.js +0 -16
  225. package/node_modules/execa/lib/terminate/graceful.js +0 -71
  226. package/node_modules/execa/lib/terminate/kill.js +0 -93
  227. package/node_modules/execa/lib/terminate/signal.js +0 -70
  228. package/node_modules/execa/lib/terminate/timeout.js +0 -21
  229. package/node_modules/execa/lib/transform/encoding-transform.js +0 -51
  230. package/node_modules/execa/lib/transform/generator.js +0 -107
  231. package/node_modules/execa/lib/transform/normalize.js +0 -111
  232. package/node_modules/execa/lib/transform/object-mode.js +0 -41
  233. package/node_modules/execa/lib/transform/run-async.js +0 -60
  234. package/node_modules/execa/lib/transform/run-sync.js +0 -50
  235. package/node_modules/execa/lib/transform/split.js +0 -110
  236. package/node_modules/execa/lib/transform/validate.js +0 -43
  237. package/node_modules/execa/lib/utils/abort-signal.js +0 -8
  238. package/node_modules/execa/lib/utils/deferred.js +0 -7
  239. package/node_modules/execa/lib/utils/max-listeners.js +0 -14
  240. package/node_modules/execa/lib/utils/standard-stream.js +0 -6
  241. package/node_modules/execa/lib/utils/uint-array.js +0 -69
  242. package/node_modules/execa/lib/verbose/complete.js +0 -24
  243. package/node_modules/execa/lib/verbose/custom.js +0 -26
  244. package/node_modules/execa/lib/verbose/default.js +0 -54
  245. package/node_modules/execa/lib/verbose/error.js +0 -13
  246. package/node_modules/execa/lib/verbose/info.js +0 -39
  247. package/node_modules/execa/lib/verbose/ipc.js +0 -15
  248. package/node_modules/execa/lib/verbose/log.js +0 -54
  249. package/node_modules/execa/lib/verbose/output.js +0 -60
  250. package/node_modules/execa/lib/verbose/start.js +0 -15
  251. package/node_modules/execa/lib/verbose/values.js +0 -33
  252. package/node_modules/execa/license +0 -9
  253. package/node_modules/execa/package.json +0 -105
  254. package/node_modules/execa/readme.md +0 -461
  255. package/node_modules/execa/types/arguments/encoding-option.d.ts +0 -19
  256. package/node_modules/execa/types/arguments/fd-options.d.ts +0 -8
  257. package/node_modules/execa/types/arguments/options.d.ts +0 -400
  258. package/node_modules/execa/types/arguments/specific.d.ts +0 -52
  259. package/node_modules/execa/types/convert.d.ts +0 -58
  260. package/node_modules/execa/types/ipc.d.ts +0 -156
  261. package/node_modules/execa/types/methods/command.d.ts +0 -114
  262. package/node_modules/execa/types/methods/main-async.d.ts +0 -379
  263. package/node_modules/execa/types/methods/main-sync.d.ts +0 -59
  264. package/node_modules/execa/types/methods/node.d.ts +0 -62
  265. package/node_modules/execa/types/methods/script.d.ts +0 -115
  266. package/node_modules/execa/types/methods/template.d.ts +0 -18
  267. package/node_modules/execa/types/pipe.d.ts +0 -58
  268. package/node_modules/execa/types/return/final-error.d.ts +0 -51
  269. package/node_modules/execa/types/return/ignore.d.ts +0 -26
  270. package/node_modules/execa/types/return/result-all.d.ts +0 -30
  271. package/node_modules/execa/types/return/result-ipc.d.ts +0 -27
  272. package/node_modules/execa/types/return/result-stdio.d.ts +0 -17
  273. package/node_modules/execa/types/return/result-stdout.d.ts +0 -50
  274. package/node_modules/execa/types/return/result.d.ts +0 -203
  275. package/node_modules/execa/types/stdio/array.d.ts +0 -16
  276. package/node_modules/execa/types/stdio/direction.d.ts +0 -12
  277. package/node_modules/execa/types/stdio/option.d.ts +0 -40
  278. package/node_modules/execa/types/stdio/type.d.ts +0 -170
  279. package/node_modules/execa/types/subprocess/all.d.ts +0 -17
  280. package/node_modules/execa/types/subprocess/stdio.d.ts +0 -18
  281. package/node_modules/execa/types/subprocess/stdout.d.ts +0 -22
  282. package/node_modules/execa/types/subprocess/subprocess.d.ts +0 -117
  283. package/node_modules/execa/types/transform/normalize.d.ts +0 -57
  284. package/node_modules/execa/types/transform/object-mode.d.ts +0 -21
  285. package/node_modules/execa/types/utils.d.ts +0 -13
  286. package/node_modules/execa/types/verbose.d.ts +0 -98
  287. package/node_modules/expand-template/.travis.yml +0 -6
  288. package/node_modules/expand-template/LICENSE +0 -21
  289. package/node_modules/expand-template/README.md +0 -43
  290. package/node_modules/expand-template/index.js +0 -26
  291. package/node_modules/expand-template/package.json +0 -29
  292. package/node_modules/expand-template/test.js +0 -67
  293. package/node_modules/figures/index.d.ts +0 -279
  294. package/node_modules/figures/index.js +0 -292
  295. package/node_modules/figures/license +0 -9
  296. package/node_modules/figures/package.json +0 -49
  297. package/node_modules/figures/readme.md +0 -337
  298. package/node_modules/file-uri-to-path/.npmignore +0 -1
  299. package/node_modules/file-uri-to-path/.travis.yml +0 -30
  300. package/node_modules/file-uri-to-path/History.md +0 -21
  301. package/node_modules/file-uri-to-path/LICENSE +0 -20
  302. package/node_modules/file-uri-to-path/README.md +0 -74
  303. package/node_modules/file-uri-to-path/index.d.ts +0 -2
  304. package/node_modules/file-uri-to-path/index.js +0 -66
  305. package/node_modules/file-uri-to-path/package.json +0 -32
  306. package/node_modules/file-uri-to-path/test/test.js +0 -24
  307. package/node_modules/file-uri-to-path/test/tests.json +0 -13
  308. package/node_modules/fs-constants/LICENSE +0 -21
  309. package/node_modules/fs-constants/README.md +0 -26
  310. package/node_modules/fs-constants/browser.js +0 -1
  311. package/node_modules/fs-constants/index.js +0 -1
  312. package/node_modules/fs-constants/package.json +0 -19
  313. package/node_modules/get-stream/license +0 -9
  314. package/node_modules/get-stream/package.json +0 -60
  315. package/node_modules/get-stream/readme.md +0 -303
  316. package/node_modules/get-stream/source/array-buffer.js +0 -84
  317. package/node_modules/get-stream/source/array.js +0 -32
  318. package/node_modules/get-stream/source/buffer.js +0 -19
  319. package/node_modules/get-stream/source/contents.js +0 -121
  320. package/node_modules/get-stream/source/exports.js +0 -5
  321. package/node_modules/get-stream/source/index.d.ts +0 -121
  322. package/node_modules/get-stream/source/index.js +0 -13
  323. package/node_modules/get-stream/source/stream.js +0 -65
  324. package/node_modules/get-stream/source/string.js +0 -41
  325. package/node_modules/get-stream/source/utils.js +0 -11
  326. package/node_modules/github-from-package/.travis.yml +0 -4
  327. package/node_modules/github-from-package/LICENSE +0 -18
  328. package/node_modules/github-from-package/example/package.json +0 -8
  329. package/node_modules/github-from-package/example/url.js +0 -3
  330. package/node_modules/github-from-package/index.js +0 -17
  331. package/node_modules/github-from-package/package.json +0 -30
  332. package/node_modules/github-from-package/readme.markdown +0 -53
  333. package/node_modules/github-from-package/test/a.json +0 -8
  334. package/node_modules/github-from-package/test/b.json +0 -5
  335. package/node_modules/github-from-package/test/c.json +0 -5
  336. package/node_modules/github-from-package/test/d.json +0 -7
  337. package/node_modules/github-from-package/test/e.json +0 -5
  338. package/node_modules/github-from-package/test/url.js +0 -19
  339. package/node_modules/human-signals/LICENSE +0 -201
  340. package/node_modules/human-signals/README.md +0 -171
  341. package/node_modules/human-signals/build/src/core.js +0 -273
  342. package/node_modules/human-signals/build/src/main.d.ts +0 -206
  343. package/node_modules/human-signals/build/src/main.js +0 -70
  344. package/node_modules/human-signals/build/src/realtime.js +0 -16
  345. package/node_modules/human-signals/build/src/signals.js +0 -34
  346. package/node_modules/human-signals/package.json +0 -66
  347. package/node_modules/ieee754/LICENSE +0 -11
  348. package/node_modules/ieee754/README.md +0 -51
  349. package/node_modules/ieee754/index.d.ts +0 -10
  350. package/node_modules/ieee754/index.js +0 -85
  351. package/node_modules/ieee754/package.json +0 -52
  352. package/node_modules/inherits/LICENSE +0 -16
  353. package/node_modules/inherits/README.md +0 -42
  354. package/node_modules/inherits/inherits.js +0 -9
  355. package/node_modules/inherits/inherits_browser.js +0 -27
  356. package/node_modules/inherits/package.json +0 -29
  357. package/node_modules/ini/LICENSE +0 -15
  358. package/node_modules/ini/README.md +0 -102
  359. package/node_modules/ini/ini.js +0 -206
  360. package/node_modules/ini/package.json +0 -33
  361. package/node_modules/is-plain-obj/index.d.ts +0 -35
  362. package/node_modules/is-plain-obj/index.js +0 -8
  363. package/node_modules/is-plain-obj/license +0 -9
  364. package/node_modules/is-plain-obj/package.json +0 -41
  365. package/node_modules/is-plain-obj/readme.md +0 -58
  366. package/node_modules/is-stream/index.d.ts +0 -90
  367. package/node_modules/is-stream/index.js +0 -37
  368. package/node_modules/is-stream/license +0 -9
  369. package/node_modules/is-stream/package.json +0 -48
  370. package/node_modules/is-stream/readme.md +0 -57
  371. package/node_modules/is-unicode-supported/index.d.ts +0 -12
  372. package/node_modules/is-unicode-supported/index.js +0 -21
  373. package/node_modules/is-unicode-supported/license +0 -9
  374. package/node_modules/is-unicode-supported/package.json +0 -47
  375. package/node_modules/is-unicode-supported/readme.md +0 -35
  376. package/node_modules/isexe/.npmignore +0 -2
  377. package/node_modules/isexe/LICENSE +0 -15
  378. package/node_modules/isexe/README.md +0 -51
  379. package/node_modules/isexe/index.js +0 -57
  380. package/node_modules/isexe/mode.js +0 -41
  381. package/node_modules/isexe/package.json +0 -31
  382. package/node_modules/isexe/test/basic.js +0 -221
  383. package/node_modules/isexe/windows.js +0 -42
  384. package/node_modules/mimic-response/index.d.ts +0 -17
  385. package/node_modules/mimic-response/index.js +0 -77
  386. package/node_modules/mimic-response/license +0 -9
  387. package/node_modules/mimic-response/package.json +0 -42
  388. package/node_modules/mimic-response/readme.md +0 -78
  389. package/node_modules/minimist/.eslintrc +0 -29
  390. package/node_modules/minimist/.github/FUNDING.yml +0 -12
  391. package/node_modules/minimist/.nycrc +0 -14
  392. package/node_modules/minimist/CHANGELOG.md +0 -298
  393. package/node_modules/minimist/LICENSE +0 -18
  394. package/node_modules/minimist/README.md +0 -121
  395. package/node_modules/minimist/example/parse.js +0 -4
  396. package/node_modules/minimist/index.js +0 -263
  397. package/node_modules/minimist/package.json +0 -75
  398. package/node_modules/minimist/test/all_bool.js +0 -34
  399. package/node_modules/minimist/test/bool.js +0 -177
  400. package/node_modules/minimist/test/dash.js +0 -43
  401. package/node_modules/minimist/test/default_bool.js +0 -37
  402. package/node_modules/minimist/test/dotted.js +0 -24
  403. package/node_modules/minimist/test/kv_short.js +0 -32
  404. package/node_modules/minimist/test/long.js +0 -33
  405. package/node_modules/minimist/test/num.js +0 -38
  406. package/node_modules/minimist/test/parse.js +0 -209
  407. package/node_modules/minimist/test/parse_modified.js +0 -11
  408. package/node_modules/minimist/test/proto.js +0 -64
  409. package/node_modules/minimist/test/short.js +0 -69
  410. package/node_modules/minimist/test/stop_early.js +0 -17
  411. package/node_modules/minimist/test/unknown.js +0 -104
  412. package/node_modules/minimist/test/whitespace.js +0 -10
  413. package/node_modules/mkdirp-classic/LICENSE +0 -21
  414. package/node_modules/mkdirp-classic/README.md +0 -18
  415. package/node_modules/mkdirp-classic/index.js +0 -98
  416. package/node_modules/mkdirp-classic/package.json +0 -18
  417. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +0 -31
  418. package/node_modules/napi-build-utils/LICENSE +0 -21
  419. package/node_modules/napi-build-utils/README.md +0 -52
  420. package/node_modules/napi-build-utils/index.js +0 -214
  421. package/node_modules/napi-build-utils/index.md +0 -0
  422. package/node_modules/napi-build-utils/package.json +0 -42
  423. package/node_modules/node-abi/LICENSE +0 -21
  424. package/node_modules/node-abi/README.md +0 -54
  425. package/node_modules/node-abi/abi_registry.json +0 -446
  426. package/node_modules/node-abi/index.js +0 -179
  427. package/node_modules/node-abi/package.json +0 -45
  428. package/node_modules/npm-run-path/index.d.ts +0 -90
  429. package/node_modules/npm-run-path/index.js +0 -55
  430. package/node_modules/npm-run-path/license +0 -9
  431. package/node_modules/npm-run-path/node_modules/path-key/index.d.ts +0 -31
  432. package/node_modules/npm-run-path/node_modules/path-key/index.js +0 -12
  433. package/node_modules/npm-run-path/node_modules/path-key/license +0 -9
  434. package/node_modules/npm-run-path/node_modules/path-key/package.json +0 -41
  435. package/node_modules/npm-run-path/node_modules/path-key/readme.md +0 -57
  436. package/node_modules/npm-run-path/package.json +0 -52
  437. package/node_modules/npm-run-path/readme.md +0 -104
  438. package/node_modules/once/LICENSE +0 -15
  439. package/node_modules/once/README.md +0 -79
  440. package/node_modules/once/once.js +0 -42
  441. package/node_modules/once/package.json +0 -33
  442. package/node_modules/parse-ms/index.d.ts +0 -30
  443. package/node_modules/parse-ms/index.js +0 -45
  444. package/node_modules/parse-ms/license +0 -9
  445. package/node_modules/parse-ms/package.json +0 -47
  446. package/node_modules/parse-ms/readme.md +0 -46
  447. package/node_modules/path-key/index.d.ts +0 -40
  448. package/node_modules/path-key/index.js +0 -16
  449. package/node_modules/path-key/license +0 -9
  450. package/node_modules/path-key/package.json +0 -39
  451. package/node_modules/path-key/readme.md +0 -61
  452. package/node_modules/prebuild-install/CHANGELOG.md +0 -131
  453. package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  454. package/node_modules/prebuild-install/LICENSE +0 -21
  455. package/node_modules/prebuild-install/README.md +0 -163
  456. package/node_modules/prebuild-install/asset.js +0 -44
  457. package/node_modules/prebuild-install/bin.js +0 -78
  458. package/node_modules/prebuild-install/download.js +0 -142
  459. package/node_modules/prebuild-install/error.js +0 -14
  460. package/node_modules/prebuild-install/help.txt +0 -16
  461. package/node_modules/prebuild-install/index.js +0 -1
  462. package/node_modules/prebuild-install/log.js +0 -33
  463. package/node_modules/prebuild-install/package.json +0 -67
  464. package/node_modules/prebuild-install/proxy.js +0 -35
  465. package/node_modules/prebuild-install/rc.js +0 -64
  466. package/node_modules/prebuild-install/util.js +0 -143
  467. package/node_modules/pretty-ms/index.d.ts +0 -157
  468. package/node_modules/pretty-ms/index.js +0 -149
  469. package/node_modules/pretty-ms/license +0 -9
  470. package/node_modules/pretty-ms/package.json +0 -55
  471. package/node_modules/pretty-ms/readme.md +0 -179
  472. package/node_modules/pump/.github/FUNDING.yml +0 -2
  473. package/node_modules/pump/.travis.yml +0 -5
  474. package/node_modules/pump/LICENSE +0 -21
  475. package/node_modules/pump/README.md +0 -74
  476. package/node_modules/pump/SECURITY.md +0 -5
  477. package/node_modules/pump/empty.js +0 -1
  478. package/node_modules/pump/index.js +0 -86
  479. package/node_modules/pump/package.json +0 -30
  480. package/node_modules/pump/test-browser.js +0 -66
  481. package/node_modules/pump/test-node.js +0 -53
  482. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  483. package/node_modules/rc/LICENSE.BSD +0 -26
  484. package/node_modules/rc/LICENSE.MIT +0 -24
  485. package/node_modules/rc/README.md +0 -227
  486. package/node_modules/rc/browser.js +0 -7
  487. package/node_modules/rc/cli.js +0 -4
  488. package/node_modules/rc/index.js +0 -53
  489. package/node_modules/rc/lib/utils.js +0 -104
  490. package/node_modules/rc/package.json +0 -29
  491. package/node_modules/rc/test/ini.js +0 -16
  492. package/node_modules/rc/test/nested-env-vars.js +0 -50
  493. package/node_modules/rc/test/test.js +0 -59
  494. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  495. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  496. package/node_modules/readable-stream/LICENSE +0 -47
  497. package/node_modules/readable-stream/README.md +0 -106
  498. package/node_modules/readable-stream/errors-browser.js +0 -127
  499. package/node_modules/readable-stream/errors.js +0 -116
  500. package/node_modules/readable-stream/experimentalWarning.js +0 -17
  501. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  502. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  503. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  504. package/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  505. package/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  506. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  507. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  508. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  509. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  510. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  511. package/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  512. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  513. package/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  514. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  515. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  516. package/node_modules/readable-stream/package.json +0 -68
  517. package/node_modules/readable-stream/readable-browser.js +0 -9
  518. package/node_modules/readable-stream/readable.js +0 -16
  519. package/node_modules/safe-buffer/LICENSE +0 -21
  520. package/node_modules/safe-buffer/README.md +0 -584
  521. package/node_modules/safe-buffer/index.d.ts +0 -187
  522. package/node_modules/safe-buffer/index.js +0 -65
  523. package/node_modules/safe-buffer/package.json +0 -51
  524. package/node_modules/semver/LICENSE +0 -15
  525. package/node_modules/semver/README.md +0 -665
  526. package/node_modules/semver/bin/semver.js +0 -191
  527. package/node_modules/semver/classes/comparator.js +0 -143
  528. package/node_modules/semver/classes/index.js +0 -7
  529. package/node_modules/semver/classes/range.js +0 -557
  530. package/node_modules/semver/classes/semver.js +0 -333
  531. package/node_modules/semver/functions/clean.js +0 -8
  532. package/node_modules/semver/functions/cmp.js +0 -54
  533. package/node_modules/semver/functions/coerce.js +0 -62
  534. package/node_modules/semver/functions/compare-build.js +0 -9
  535. package/node_modules/semver/functions/compare-loose.js +0 -5
  536. package/node_modules/semver/functions/compare.js +0 -7
  537. package/node_modules/semver/functions/diff.js +0 -60
  538. package/node_modules/semver/functions/eq.js +0 -5
  539. package/node_modules/semver/functions/gt.js +0 -5
  540. package/node_modules/semver/functions/gte.js +0 -5
  541. package/node_modules/semver/functions/inc.js +0 -21
  542. package/node_modules/semver/functions/lt.js +0 -5
  543. package/node_modules/semver/functions/lte.js +0 -5
  544. package/node_modules/semver/functions/major.js +0 -5
  545. package/node_modules/semver/functions/minor.js +0 -5
  546. package/node_modules/semver/functions/neq.js +0 -5
  547. package/node_modules/semver/functions/parse.js +0 -18
  548. package/node_modules/semver/functions/patch.js +0 -5
  549. package/node_modules/semver/functions/prerelease.js +0 -8
  550. package/node_modules/semver/functions/rcompare.js +0 -5
  551. package/node_modules/semver/functions/rsort.js +0 -5
  552. package/node_modules/semver/functions/satisfies.js +0 -12
  553. package/node_modules/semver/functions/sort.js +0 -5
  554. package/node_modules/semver/functions/valid.js +0 -8
  555. package/node_modules/semver/index.js +0 -91
  556. package/node_modules/semver/internal/constants.js +0 -37
  557. package/node_modules/semver/internal/debug.js +0 -11
  558. package/node_modules/semver/internal/identifiers.js +0 -29
  559. package/node_modules/semver/internal/lrucache.js +0 -42
  560. package/node_modules/semver/internal/parse-options.js +0 -17
  561. package/node_modules/semver/internal/re.js +0 -223
  562. package/node_modules/semver/package.json +0 -78
  563. package/node_modules/semver/preload.js +0 -4
  564. package/node_modules/semver/range.bnf +0 -16
  565. package/node_modules/semver/ranges/gtr.js +0 -6
  566. package/node_modules/semver/ranges/intersects.js +0 -9
  567. package/node_modules/semver/ranges/ltr.js +0 -6
  568. package/node_modules/semver/ranges/max-satisfying.js +0 -27
  569. package/node_modules/semver/ranges/min-satisfying.js +0 -26
  570. package/node_modules/semver/ranges/min-version.js +0 -63
  571. package/node_modules/semver/ranges/outside.js +0 -82
  572. package/node_modules/semver/ranges/simplify.js +0 -49
  573. package/node_modules/semver/ranges/subset.js +0 -249
  574. package/node_modules/semver/ranges/to-comparators.js +0 -10
  575. package/node_modules/semver/ranges/valid.js +0 -13
  576. package/node_modules/shebang-command/index.js +0 -19
  577. package/node_modules/shebang-command/license +0 -9
  578. package/node_modules/shebang-command/package.json +0 -34
  579. package/node_modules/shebang-command/readme.md +0 -34
  580. package/node_modules/shebang-regex/index.d.ts +0 -22
  581. package/node_modules/shebang-regex/index.js +0 -2
  582. package/node_modules/shebang-regex/license +0 -9
  583. package/node_modules/shebang-regex/package.json +0 -35
  584. package/node_modules/shebang-regex/readme.md +0 -33
  585. package/node_modules/signal-exit/LICENSE.txt +0 -16
  586. package/node_modules/signal-exit/README.md +0 -74
  587. package/node_modules/signal-exit/dist/cjs/browser.d.ts +0 -12
  588. package/node_modules/signal-exit/dist/cjs/browser.d.ts.map +0 -1
  589. package/node_modules/signal-exit/dist/cjs/browser.js +0 -10
  590. package/node_modules/signal-exit/dist/cjs/browser.js.map +0 -1
  591. package/node_modules/signal-exit/dist/cjs/index.d.ts +0 -48
  592. package/node_modules/signal-exit/dist/cjs/index.d.ts.map +0 -1
  593. package/node_modules/signal-exit/dist/cjs/index.js +0 -279
  594. package/node_modules/signal-exit/dist/cjs/index.js.map +0 -1
  595. package/node_modules/signal-exit/dist/cjs/package.json +0 -3
  596. package/node_modules/signal-exit/dist/cjs/signals.d.ts +0 -29
  597. package/node_modules/signal-exit/dist/cjs/signals.d.ts.map +0 -1
  598. package/node_modules/signal-exit/dist/cjs/signals.js +0 -42
  599. package/node_modules/signal-exit/dist/cjs/signals.js.map +0 -1
  600. package/node_modules/signal-exit/dist/mjs/browser.d.ts +0 -12
  601. package/node_modules/signal-exit/dist/mjs/browser.d.ts.map +0 -1
  602. package/node_modules/signal-exit/dist/mjs/browser.js +0 -4
  603. package/node_modules/signal-exit/dist/mjs/browser.js.map +0 -1
  604. package/node_modules/signal-exit/dist/mjs/index.d.ts +0 -48
  605. package/node_modules/signal-exit/dist/mjs/index.d.ts.map +0 -1
  606. package/node_modules/signal-exit/dist/mjs/index.js +0 -275
  607. package/node_modules/signal-exit/dist/mjs/index.js.map +0 -1
  608. package/node_modules/signal-exit/dist/mjs/package.json +0 -3
  609. package/node_modules/signal-exit/dist/mjs/signals.d.ts +0 -29
  610. package/node_modules/signal-exit/dist/mjs/signals.d.ts.map +0 -1
  611. package/node_modules/signal-exit/dist/mjs/signals.js +0 -39
  612. package/node_modules/signal-exit/dist/mjs/signals.js.map +0 -1
  613. package/node_modules/signal-exit/package.json +0 -106
  614. package/node_modules/simple-concat/.travis.yml +0 -3
  615. package/node_modules/simple-concat/LICENSE +0 -20
  616. package/node_modules/simple-concat/README.md +0 -44
  617. package/node_modules/simple-concat/index.js +0 -15
  618. package/node_modules/simple-concat/package.json +0 -47
  619. package/node_modules/simple-concat/test/basic.js +0 -41
  620. package/node_modules/simple-get/.github/dependabot.yml +0 -15
  621. package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  622. package/node_modules/simple-get/LICENSE +0 -20
  623. package/node_modules/simple-get/README.md +0 -333
  624. package/node_modules/simple-get/index.js +0 -108
  625. package/node_modules/simple-get/package.json +0 -67
  626. package/node_modules/sqlite-vec/README.md +0 -1
  627. package/node_modules/sqlite-vec/package.json +0 -1
  628. package/node_modules/sqlite-vec-linux-x64/README.md +0 -1
  629. package/node_modules/sqlite-vec-linux-x64/package.json +0 -1
  630. package/node_modules/string_decoder/LICENSE +0 -48
  631. package/node_modules/string_decoder/README.md +0 -47
  632. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  633. package/node_modules/string_decoder/package.json +0 -34
  634. package/node_modules/strip-final-newline/index.d.ts +0 -18
  635. package/node_modules/strip-final-newline/index.js +0 -26
  636. package/node_modules/strip-final-newline/license +0 -9
  637. package/node_modules/strip-final-newline/package.json +0 -49
  638. package/node_modules/strip-final-newline/readme.md +0 -34
  639. package/node_modules/strip-json-comments/index.js +0 -70
  640. package/node_modules/strip-json-comments/license +0 -21
  641. package/node_modules/strip-json-comments/package.json +0 -42
  642. package/node_modules/strip-json-comments/readme.md +0 -64
  643. package/node_modules/tar-fs/.travis.yml +0 -6
  644. package/node_modules/tar-fs/LICENSE +0 -21
  645. package/node_modules/tar-fs/README.md +0 -165
  646. package/node_modules/tar-fs/index.js +0 -363
  647. package/node_modules/tar-fs/package.json +0 -41
  648. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  649. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  650. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  651. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  652. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  653. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  654. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  655. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  656. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  657. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  658. package/node_modules/tar-fs/test/index.js +0 -346
  659. package/node_modules/tar-stream/LICENSE +0 -21
  660. package/node_modules/tar-stream/README.md +0 -168
  661. package/node_modules/tar-stream/extract.js +0 -257
  662. package/node_modules/tar-stream/headers.js +0 -295
  663. package/node_modules/tar-stream/index.js +0 -2
  664. package/node_modules/tar-stream/pack.js +0 -255
  665. package/node_modules/tar-stream/package.json +0 -58
  666. package/node_modules/tar-stream/sandbox.js +0 -11
  667. package/node_modules/tunnel-agent/LICENSE +0 -55
  668. package/node_modules/tunnel-agent/README.md +0 -4
  669. package/node_modules/tunnel-agent/index.js +0 -244
  670. package/node_modules/tunnel-agent/package.json +0 -22
  671. package/node_modules/unicorn-magic/default.d.ts +0 -13
  672. package/node_modules/unicorn-magic/default.js +0 -14
  673. package/node_modules/unicorn-magic/license +0 -9
  674. package/node_modules/unicorn-magic/node.d.ts +0 -125
  675. package/node_modules/unicorn-magic/node.js +0 -49
  676. package/node_modules/unicorn-magic/package.json +0 -62
  677. package/node_modules/unicorn-magic/readme.md +0 -25
  678. package/node_modules/util-deprecate/History.md +0 -16
  679. package/node_modules/util-deprecate/LICENSE +0 -24
  680. package/node_modules/util-deprecate/README.md +0 -53
  681. package/node_modules/util-deprecate/browser.js +0 -67
  682. package/node_modules/util-deprecate/node.js +0 -6
  683. package/node_modules/util-deprecate/package.json +0 -27
  684. package/node_modules/which/LICENSE +0 -15
  685. package/node_modules/which/README.md +0 -54
  686. package/node_modules/which/bin/node-which +0 -52
  687. package/node_modules/which/package.json +0 -43
  688. package/node_modules/which/which.js +0 -125
  689. package/node_modules/wrappy/LICENSE +0 -15
  690. package/node_modules/wrappy/README.md +0 -36
  691. package/node_modules/wrappy/package.json +0 -29
  692. package/node_modules/wrappy/wrappy.js +0 -33
  693. package/node_modules/yoctocolors/base.d.ts +0 -47
  694. package/node_modules/yoctocolors/base.js +0 -94
  695. package/node_modules/yoctocolors/index.d.ts +0 -2
  696. package/node_modules/yoctocolors/index.js +0 -2
  697. package/node_modules/yoctocolors/license +0 -9
  698. package/node_modules/yoctocolors/package.json +0 -69
  699. package/node_modules/yoctocolors/readme.md +0 -138
@@ -1,51 +0,0 @@
1
- import {finished} from 'node:stream/promises';
2
- import mergeStreams from '@sindresorhus/merge-streams';
3
- import {incrementMaxListeners} from '../utils/max-listeners.js';
4
- import {pipeStreams} from '../io/pipeline.js';
5
-
6
- // The piping behavior is like Bash.
7
- // In particular, when one subprocess exits, the other is not terminated by a signal.
8
- // Instead, its stdout (for the source) or stdin (for the destination) closes.
9
- // If the subprocess uses it, it will make it error with SIGPIPE or EPIPE (for the source) or end (for the destination).
10
- // If it does not use it, it will continue running.
11
- // This allows for subprocesses to gracefully exit and lower the coupling between subprocesses.
12
- export const pipeSubprocessStream = (sourceStream, destinationStream, maxListenersController) => {
13
- const mergedStream = MERGED_STREAMS.has(destinationStream)
14
- ? pipeMoreSubprocessStream(sourceStream, destinationStream)
15
- : pipeFirstSubprocessStream(sourceStream, destinationStream);
16
- incrementMaxListeners(sourceStream, SOURCE_LISTENERS_PER_PIPE, maxListenersController.signal);
17
- incrementMaxListeners(destinationStream, DESTINATION_LISTENERS_PER_PIPE, maxListenersController.signal);
18
- cleanupMergedStreamsMap(destinationStream);
19
- return mergedStream;
20
- };
21
-
22
- // We use `merge-streams` to allow for multiple sources to pipe to the same destination.
23
- const pipeFirstSubprocessStream = (sourceStream, destinationStream) => {
24
- const mergedStream = mergeStreams([sourceStream]);
25
- pipeStreams(mergedStream, destinationStream);
26
- MERGED_STREAMS.set(destinationStream, mergedStream);
27
- return mergedStream;
28
- };
29
-
30
- const pipeMoreSubprocessStream = (sourceStream, destinationStream) => {
31
- const mergedStream = MERGED_STREAMS.get(destinationStream);
32
- mergedStream.add(sourceStream);
33
- return mergedStream;
34
- };
35
-
36
- const cleanupMergedStreamsMap = async destinationStream => {
37
- try {
38
- await finished(destinationStream, {cleanup: true, readable: false, writable: true});
39
- } catch {}
40
-
41
- MERGED_STREAMS.delete(destinationStream);
42
- };
43
-
44
- const MERGED_STREAMS = new WeakMap();
45
-
46
- // Number of listeners set up on `sourceStream` by each `sourceStream.pipe(destinationStream)`
47
- // Those are added by `merge-streams`
48
- const SOURCE_LISTENERS_PER_PIPE = 2;
49
- // Number of listeners set up on `destinationStream` by each `sourceStream.pipe(destinationStream)`
50
- // Those are added by `finished()` in `cleanupMergedStreamsMap()`
51
- const DESTINATION_LISTENERS_PER_PIPE = 1;
@@ -1,58 +0,0 @@
1
- import {makeEarlyError} from '../return/result.js';
2
- import {abortSourceStream, endDestinationStream} from '../io/pipeline.js';
3
-
4
- // When passing invalid arguments to `source.pipe()`, throw asynchronously.
5
- // We also abort both subprocesses.
6
- export const handlePipeArgumentsError = ({
7
- sourceStream,
8
- sourceError,
9
- destinationStream,
10
- destinationError,
11
- fileDescriptors,
12
- sourceOptions,
13
- startTime,
14
- }) => {
15
- const error = getPipeArgumentsError({
16
- sourceStream,
17
- sourceError,
18
- destinationStream,
19
- destinationError,
20
- });
21
- if (error !== undefined) {
22
- throw createNonCommandError({
23
- error,
24
- fileDescriptors,
25
- sourceOptions,
26
- startTime,
27
- });
28
- }
29
- };
30
-
31
- const getPipeArgumentsError = ({sourceStream, sourceError, destinationStream, destinationError}) => {
32
- if (sourceError !== undefined && destinationError !== undefined) {
33
- return destinationError;
34
- }
35
-
36
- if (destinationError !== undefined) {
37
- abortSourceStream(sourceStream);
38
- return destinationError;
39
- }
40
-
41
- if (sourceError !== undefined) {
42
- endDestinationStream(destinationStream);
43
- return sourceError;
44
- }
45
- };
46
-
47
- // Specific error return value when passing invalid arguments to `subprocess.pipe()` or when using `unpipeSignal`
48
- export const createNonCommandError = ({error, fileDescriptors, sourceOptions, startTime}) => makeEarlyError({
49
- error,
50
- command: PIPE_COMMAND_MESSAGE,
51
- escapedCommand: PIPE_COMMAND_MESSAGE,
52
- fileDescriptors,
53
- options: sourceOptions,
54
- startTime,
55
- isSync: false,
56
- });
57
-
58
- const PIPE_COMMAND_MESSAGE = 'source.pipe(destination)';
@@ -1,46 +0,0 @@
1
- import mergeStreams from '@sindresorhus/merge-streams';
2
- import {waitForSubprocessStream} from './stdio.js';
3
-
4
- // `all` interleaves `stdout` and `stderr`
5
- export const makeAllStream = ({stdout, stderr}, {all}) => all && (stdout || stderr)
6
- ? mergeStreams([stdout, stderr].filter(Boolean))
7
- : undefined;
8
-
9
- // Read the contents of `subprocess.all` and|or wait for its completion
10
- export const waitForAllStream = ({subprocess, encoding, buffer, maxBuffer, lines, stripFinalNewline, verboseInfo, streamInfo}) => waitForSubprocessStream({
11
- ...getAllStream(subprocess, buffer),
12
- fdNumber: 'all',
13
- encoding,
14
- maxBuffer: maxBuffer[1] + maxBuffer[2],
15
- lines: lines[1] || lines[2],
16
- allMixed: getAllMixed(subprocess),
17
- stripFinalNewline,
18
- verboseInfo,
19
- streamInfo,
20
- });
21
-
22
- const getAllStream = ({stdout, stderr, all}, [, bufferStdout, bufferStderr]) => {
23
- const buffer = bufferStdout || bufferStderr;
24
- if (!buffer) {
25
- return {stream: all, buffer};
26
- }
27
-
28
- if (!bufferStdout) {
29
- return {stream: stderr, buffer};
30
- }
31
-
32
- if (!bufferStderr) {
33
- return {stream: stdout, buffer};
34
- }
35
-
36
- return {stream: all, buffer};
37
- };
38
-
39
- // When `subprocess.stdout` is in objectMode but not `subprocess.stderr` (or the opposite), we need to use both:
40
- // - `getStreamAsArray()` for the chunks in objectMode, to return as an array without changing each chunk
41
- // - `getStreamAsArrayBuffer()` or `getStream()` for the chunks not in objectMode, to convert them from Buffers to string or Uint8Array
42
- // We do this by emulating the Buffer -> string|Uint8Array conversion performed by `get-stream` with our own, which is identical.
43
- const getAllMixed = ({all, stdout, stderr}) => all
44
- && stdout
45
- && stderr
46
- && stdout.readableObjectMode !== stderr.readableObjectMode;
@@ -1,33 +0,0 @@
1
- import {isUint8Array, concatUint8Arrays} from '../utils/uint-array.js';
2
- import {stripNewline} from '../io/strip-newline.js';
3
-
4
- // Retrieve `result.all` with synchronous methods
5
- export const getAllSync = ([, stdout, stderr], options) => {
6
- if (!options.all) {
7
- return;
8
- }
9
-
10
- if (stdout === undefined) {
11
- return stderr;
12
- }
13
-
14
- if (stderr === undefined) {
15
- return stdout;
16
- }
17
-
18
- if (Array.isArray(stdout)) {
19
- return Array.isArray(stderr)
20
- ? [...stdout, ...stderr]
21
- : [...stdout, stripNewline(stderr, options, 'all')];
22
- }
23
-
24
- if (Array.isArray(stderr)) {
25
- return [stripNewline(stdout, options, 'all'), ...stderr];
26
- }
27
-
28
- if (isUint8Array(stdout) && isUint8Array(stderr)) {
29
- return concatUint8Arrays([stdout, stderr]);
30
- }
31
-
32
- return `${stdout}${stderr}`;
33
- };
@@ -1,54 +0,0 @@
1
- import {once} from 'node:events';
2
- import {DiscardedError} from '../return/final-error.js';
3
-
4
- // If `error` is emitted before `spawn`, `exit` will never be emitted.
5
- // However, `error` might be emitted after `spawn`.
6
- // In that case, `exit` will still be emitted.
7
- // Since the `exit` event contains the signal name, we want to make sure we are listening for it.
8
- // This function also takes into account the following unlikely cases:
9
- // - `exit` being emitted in the same microtask as `spawn`
10
- // - `error` being emitted multiple times
11
- export const waitForExit = async (subprocess, context) => {
12
- const [exitCode, signal] = await waitForExitOrError(subprocess);
13
- context.isForcefullyTerminated ??= false;
14
- return [exitCode, signal];
15
- };
16
-
17
- const waitForExitOrError = async subprocess => {
18
- const [spawnPayload, exitPayload] = await Promise.allSettled([
19
- once(subprocess, 'spawn'),
20
- once(subprocess, 'exit'),
21
- ]);
22
-
23
- if (spawnPayload.status === 'rejected') {
24
- return [];
25
- }
26
-
27
- return exitPayload.status === 'rejected'
28
- ? waitForSubprocessExit(subprocess)
29
- : exitPayload.value;
30
- };
31
-
32
- const waitForSubprocessExit = async subprocess => {
33
- try {
34
- return await once(subprocess, 'exit');
35
- } catch {
36
- return waitForSubprocessExit(subprocess);
37
- }
38
- };
39
-
40
- // Retrieve the final exit code and|or signal name
41
- export const waitForSuccessfulExit = async exitPromise => {
42
- const [exitCode, signal] = await exitPromise;
43
-
44
- if (!isSubprocessErrorExit(exitCode, signal) && isFailedExit(exitCode, signal)) {
45
- throw new DiscardedError();
46
- }
47
-
48
- return [exitCode, signal];
49
- };
50
-
51
- // When the subprocess fails due to an `error` event
52
- const isSubprocessErrorExit = (exitCode, signal) => exitCode === undefined && signal === undefined;
53
- // When the subprocess fails due to a non-0 exit code or to a signal termination
54
- export const isFailedExit = (exitCode, signal) => exitCode !== 0 || signal !== null;
@@ -1,25 +0,0 @@
1
- import {DiscardedError} from '../return/final-error.js';
2
- import {isMaxBufferSync} from '../io/max-buffer.js';
3
- import {isFailedExit} from './exit-async.js';
4
-
5
- // Retrieve exit code, signal name and error information, with synchronous methods
6
- export const getExitResultSync = ({error, status: exitCode, signal, output}, {maxBuffer}) => {
7
- const resultError = getResultError(error, exitCode, signal);
8
- const timedOut = resultError?.code === 'ETIMEDOUT';
9
- const isMaxBuffer = isMaxBufferSync(resultError, output, maxBuffer);
10
- return {
11
- resultError,
12
- exitCode,
13
- signal,
14
- timedOut,
15
- isMaxBuffer,
16
- };
17
- };
18
-
19
- const getResultError = (error, exitCode, signal) => {
20
- if (error !== undefined) {
21
- return error;
22
- }
23
-
24
- return isFailedExit(exitCode, signal) ? new DiscardedError() : undefined;
25
- };
@@ -1,47 +0,0 @@
1
- import {getStreamOutput} from '../io/contents.js';
2
- import {waitForStream, isInputFileDescriptor} from './wait-stream.js';
3
-
4
- // Read the contents of `subprocess.std*` and|or wait for its completion
5
- export const waitForStdioStreams = ({subprocess, encoding, buffer, maxBuffer, lines, stripFinalNewline, verboseInfo, streamInfo}) => subprocess.stdio.map((stream, fdNumber) => waitForSubprocessStream({
6
- stream,
7
- fdNumber,
8
- encoding,
9
- buffer: buffer[fdNumber],
10
- maxBuffer: maxBuffer[fdNumber],
11
- lines: lines[fdNumber],
12
- allMixed: false,
13
- stripFinalNewline,
14
- verboseInfo,
15
- streamInfo,
16
- }));
17
-
18
- // Read the contents of `subprocess.std*` or `subprocess.all` and|or wait for its completion
19
- export const waitForSubprocessStream = async ({stream, fdNumber, encoding, buffer, maxBuffer, lines, allMixed, stripFinalNewline, verboseInfo, streamInfo}) => {
20
- if (!stream) {
21
- return;
22
- }
23
-
24
- const onStreamEnd = waitForStream(stream, fdNumber, streamInfo);
25
- if (isInputFileDescriptor(streamInfo, fdNumber)) {
26
- await onStreamEnd;
27
- return;
28
- }
29
-
30
- const [output] = await Promise.all([
31
- getStreamOutput({
32
- stream,
33
- onStreamEnd,
34
- fdNumber,
35
- encoding,
36
- buffer,
37
- maxBuffer,
38
- lines,
39
- allMixed,
40
- stripFinalNewline,
41
- verboseInfo,
42
- streamInfo,
43
- }),
44
- onStreamEnd,
45
- ]);
46
- return output;
47
- };
@@ -1,96 +0,0 @@
1
- import {finished} from 'node:stream/promises';
2
-
3
- // Wraps `finished(stream)` to handle the following case:
4
- // - When the subprocess exits, Node.js automatically calls `subprocess.stdin.destroy()`, which we need to ignore.
5
- // - However, we still need to throw if `subprocess.stdin.destroy()` is called before subprocess exit.
6
- export const waitForStream = async (stream, fdNumber, streamInfo, {isSameDirection, stopOnExit = false} = {}) => {
7
- const state = handleStdinDestroy(stream, streamInfo);
8
- const abortController = new AbortController();
9
- try {
10
- await Promise.race([
11
- ...(stopOnExit ? [streamInfo.exitPromise] : []),
12
- finished(stream, {cleanup: true, signal: abortController.signal}),
13
- ]);
14
- } catch (error) {
15
- if (!state.stdinCleanedUp) {
16
- handleStreamError(error, fdNumber, streamInfo, isSameDirection);
17
- }
18
- } finally {
19
- abortController.abort();
20
- }
21
- };
22
-
23
- // If `subprocess.stdin` is destroyed before being fully written to, it is considered aborted and should throw an error.
24
- // This can happen for example when user called `subprocess.stdin.destroy()` before `subprocess.stdin.end()`.
25
- // However, Node.js calls `subprocess.stdin.destroy()` on exit for cleanup purposes.
26
- // https://github.com/nodejs/node/blob/0b4cdb4b42956cbd7019058e409e06700a199e11/lib/internal/child_process.js#L278
27
- // This is normal and should not throw an error.
28
- // Therefore, we need to differentiate between both situations to know whether to throw an error.
29
- // Unfortunately, events (`close`, `error`, `end`, `exit`) cannot be used because `.destroy()` can take an arbitrary amount of time.
30
- // For example, `stdin: 'pipe'` is implemented as a TCP socket, and its `.destroy()` method waits for TCP disconnection.
31
- // Therefore `.destroy()` might end before or after subprocess exit, based on OS speed and load.
32
- // The only way to detect this is to spy on `subprocess.stdin._destroy()` by wrapping it.
33
- // If `subprocess.exitCode` or `subprocess.signalCode` is set, it means `.destroy()` is being called by Node.js itself.
34
- const handleStdinDestroy = (stream, {originalStreams: [originalStdin], subprocess}) => {
35
- const state = {stdinCleanedUp: false};
36
- if (stream === originalStdin) {
37
- spyOnStdinDestroy(stream, subprocess, state);
38
- }
39
-
40
- return state;
41
- };
42
-
43
- const spyOnStdinDestroy = (subprocessStdin, subprocess, state) => {
44
- const {_destroy} = subprocessStdin;
45
- subprocessStdin._destroy = (...destroyArguments) => {
46
- setStdinCleanedUp(subprocess, state);
47
- _destroy.call(subprocessStdin, ...destroyArguments);
48
- };
49
- };
50
-
51
- const setStdinCleanedUp = ({exitCode, signalCode}, state) => {
52
- if (exitCode !== null || signalCode !== null) {
53
- state.stdinCleanedUp = true;
54
- }
55
- };
56
-
57
- // We ignore EPIPEs on writable streams and aborts on readable streams since those can happen normally.
58
- // When one stream errors, the error is propagated to the other streams on the same file descriptor.
59
- // Those other streams might have a different direction due to the above.
60
- // When this happens, the direction of both the initial stream and the others should then be taken into account.
61
- // Therefore, we keep track of whether a stream error is currently propagating.
62
- const handleStreamError = (error, fdNumber, streamInfo, isSameDirection) => {
63
- if (!shouldIgnoreStreamError(error, fdNumber, streamInfo, isSameDirection)) {
64
- throw error;
65
- }
66
- };
67
-
68
- const shouldIgnoreStreamError = (error, fdNumber, streamInfo, isSameDirection = true) => {
69
- if (streamInfo.propagating) {
70
- return isStreamEpipe(error) || isStreamAbort(error);
71
- }
72
-
73
- streamInfo.propagating = true;
74
- return isInputFileDescriptor(streamInfo, fdNumber) === isSameDirection
75
- ? isStreamEpipe(error)
76
- : isStreamAbort(error);
77
- };
78
-
79
- // Unfortunately, we cannot use the stream's class or properties to know whether it is readable or writable.
80
- // For example, `subprocess.stdin` is technically a Duplex, but can only be used as a writable.
81
- // Therefore, we need to use the file descriptor's direction (`stdin` is input, `stdout` is output, etc.).
82
- // However, while `subprocess.std*` and transforms follow that direction, any stream passed the `std*` option has the opposite direction.
83
- // For example, `subprocess.stdin` is a writable, but the `stdin` option is a readable.
84
- export const isInputFileDescriptor = ({fileDescriptors}, fdNumber) => fdNumber !== 'all' && fileDescriptors[fdNumber].direction === 'input';
85
-
86
- // When `stream.destroy()` is called without an `error` argument, stream is aborted.
87
- // This is the only way to abort a readable stream, which can be useful in some instances.
88
- // Therefore, we ignore this error on readable streams.
89
- export const isStreamAbort = error => error?.code === 'ERR_STREAM_PREMATURE_CLOSE';
90
-
91
- // When `stream.write()` is called but the underlying source has been closed, `EPIPE` is emitted.
92
- // When piping subprocesses, the source subprocess usually decides when to stop piping.
93
- // However, there are some instances when the destination does instead, such as `... | head -n1`.
94
- // It notifies the source by using `EPIPE`.
95
- // Therefore, we ignore this error on writable streams.
96
- const isStreamEpipe = error => error?.code === 'EPIPE';
@@ -1,146 +0,0 @@
1
- import {once} from 'node:events';
2
- import {isStream as isNodeStream} from 'is-stream';
3
- import {throwOnTimeout} from '../terminate/timeout.js';
4
- import {throwOnCancel} from '../terminate/cancel.js';
5
- import {throwOnGracefulCancel} from '../terminate/graceful.js';
6
- import {isStandardStream} from '../utils/standard-stream.js';
7
- import {TRANSFORM_TYPES} from '../stdio/type.js';
8
- import {getBufferedData} from '../io/contents.js';
9
- import {waitForIpcOutput, getBufferedIpcOutput} from '../ipc/buffer-messages.js';
10
- import {sendIpcInput} from '../ipc/ipc-input.js';
11
- import {waitForAllStream} from './all-async.js';
12
- import {waitForStdioStreams} from './stdio.js';
13
- import {waitForExit, waitForSuccessfulExit} from './exit-async.js';
14
- import {waitForStream} from './wait-stream.js';
15
-
16
- // Retrieve result of subprocess: exit code, signal, error, streams (stdout/stderr/all)
17
- export const waitForSubprocessResult = async ({
18
- subprocess,
19
- options: {
20
- encoding,
21
- buffer,
22
- maxBuffer,
23
- lines,
24
- timeoutDuration: timeout,
25
- cancelSignal,
26
- gracefulCancel,
27
- forceKillAfterDelay,
28
- stripFinalNewline,
29
- ipc,
30
- ipcInput,
31
- },
32
- context,
33
- verboseInfo,
34
- fileDescriptors,
35
- originalStreams,
36
- onInternalError,
37
- controller,
38
- }) => {
39
- const exitPromise = waitForExit(subprocess, context);
40
- const streamInfo = {
41
- originalStreams,
42
- fileDescriptors,
43
- subprocess,
44
- exitPromise,
45
- propagating: false,
46
- };
47
-
48
- const stdioPromises = waitForStdioStreams({
49
- subprocess,
50
- encoding,
51
- buffer,
52
- maxBuffer,
53
- lines,
54
- stripFinalNewline,
55
- verboseInfo,
56
- streamInfo,
57
- });
58
- const allPromise = waitForAllStream({
59
- subprocess,
60
- encoding,
61
- buffer,
62
- maxBuffer,
63
- lines,
64
- stripFinalNewline,
65
- verboseInfo,
66
- streamInfo,
67
- });
68
- const ipcOutput = [];
69
- const ipcOutputPromise = waitForIpcOutput({
70
- subprocess,
71
- buffer,
72
- maxBuffer,
73
- ipc,
74
- ipcOutput,
75
- verboseInfo,
76
- });
77
- const originalPromises = waitForOriginalStreams(originalStreams, subprocess, streamInfo);
78
- const customStreamsEndPromises = waitForCustomStreamsEnd(fileDescriptors, streamInfo);
79
-
80
- try {
81
- return await Promise.race([
82
- Promise.all([
83
- {},
84
- waitForSuccessfulExit(exitPromise),
85
- Promise.all(stdioPromises),
86
- allPromise,
87
- ipcOutputPromise,
88
- sendIpcInput(subprocess, ipcInput),
89
- ...originalPromises,
90
- ...customStreamsEndPromises,
91
- ]),
92
- onInternalError,
93
- throwOnSubprocessError(subprocess, controller),
94
- ...throwOnTimeout(subprocess, timeout, context, controller),
95
- ...throwOnCancel({
96
- subprocess,
97
- cancelSignal,
98
- gracefulCancel,
99
- context,
100
- controller,
101
- }),
102
- ...throwOnGracefulCancel({
103
- subprocess,
104
- cancelSignal,
105
- gracefulCancel,
106
- forceKillAfterDelay,
107
- context,
108
- controller,
109
- }),
110
- ]);
111
- } catch (error) {
112
- context.terminationReason ??= 'other';
113
- return Promise.all([
114
- {error},
115
- exitPromise,
116
- Promise.all(stdioPromises.map(stdioPromise => getBufferedData(stdioPromise))),
117
- getBufferedData(allPromise),
118
- getBufferedIpcOutput(ipcOutputPromise, ipcOutput),
119
- Promise.allSettled(originalPromises),
120
- Promise.allSettled(customStreamsEndPromises),
121
- ]);
122
- }
123
- };
124
-
125
- // Transforms replace `subprocess.std*`, which means they are not exposed to users.
126
- // However, we still want to wait for their completion.
127
- const waitForOriginalStreams = (originalStreams, subprocess, streamInfo) =>
128
- originalStreams.map((stream, fdNumber) => stream === subprocess.stdio[fdNumber]
129
- ? undefined
130
- : waitForStream(stream, fdNumber, streamInfo));
131
-
132
- // Some `stdin`/`stdout`/`stderr` options create a stream, e.g. when passing a file path.
133
- // The `.pipe()` method automatically ends that stream when `subprocess` ends.
134
- // This makes sure we wait for the completion of those streams, in order to catch any error.
135
- const waitForCustomStreamsEnd = (fileDescriptors, streamInfo) => fileDescriptors.flatMap(({stdioItems}, fdNumber) => stdioItems
136
- .filter(({value, stream = value}) => isNodeStream(stream, {checkOpen: false}) && !isStandardStream(stream))
137
- .map(({type, value, stream = value}) => waitForStream(stream, fdNumber, streamInfo, {
138
- isSameDirection: TRANSFORM_TYPES.has(type),
139
- stopOnExit: type === 'native',
140
- })));
141
-
142
- // Fails when the subprocess emits an `error` event
143
- const throwOnSubprocessError = async (subprocess, {signal}) => {
144
- const [error] = await once(subprocess, 'error', {signal});
145
- throw error;
146
- };
@@ -1,8 +0,0 @@
1
- import {hrtime} from 'node:process';
2
-
3
- // Start counting time before spawning the subprocess
4
- export const getStartTime = () => hrtime.bigint();
5
-
6
- // Compute duration after the subprocess ended.
7
- // Printed by the `verbose` option.
8
- export const getDurationMs = startTime => Number(hrtime.bigint() - startTime) / 1e6;
@@ -1,60 +0,0 @@
1
- import {ChildProcess} from 'node:child_process';
2
- import {
3
- PassThrough,
4
- Readable,
5
- Writable,
6
- Duplex,
7
- } from 'node:stream';
8
- import {cleanupCustomStreams} from '../stdio/handle.js';
9
- import {makeEarlyError} from './result.js';
10
- import {handleResult} from './reject.js';
11
-
12
- // When the subprocess fails to spawn.
13
- // We ensure the returned error is always both a promise and a subprocess.
14
- export const handleEarlyError = ({error, command, escapedCommand, fileDescriptors, options, startTime, verboseInfo}) => {
15
- cleanupCustomStreams(fileDescriptors);
16
-
17
- const subprocess = new ChildProcess();
18
- createDummyStreams(subprocess, fileDescriptors);
19
- Object.assign(subprocess, {readable, writable, duplex});
20
-
21
- const earlyError = makeEarlyError({
22
- error,
23
- command,
24
- escapedCommand,
25
- fileDescriptors,
26
- options,
27
- startTime,
28
- isSync: false,
29
- });
30
- const promise = handleDummyPromise(earlyError, verboseInfo, options);
31
- return {subprocess, promise};
32
- };
33
-
34
- const createDummyStreams = (subprocess, fileDescriptors) => {
35
- const stdin = createDummyStream();
36
- const stdout = createDummyStream();
37
- const stderr = createDummyStream();
38
- const extraStdio = Array.from({length: fileDescriptors.length - 3}, createDummyStream);
39
- const all = createDummyStream();
40
- const stdio = [stdin, stdout, stderr, ...extraStdio];
41
- Object.assign(subprocess, {
42
- stdin,
43
- stdout,
44
- stderr,
45
- all,
46
- stdio,
47
- });
48
- };
49
-
50
- const createDummyStream = () => {
51
- const stream = new PassThrough();
52
- stream.end();
53
- return stream;
54
- };
55
-
56
- const readable = () => new Readable({read() {}});
57
- const writable = () => new Writable({write() {}});
58
- const duplex = () => new Duplex({read() {}, write() {}});
59
-
60
- const handleDummyPromise = async (error, verboseInfo, options) => handleResult(error, verboseInfo, options);
@@ -1,40 +0,0 @@
1
- // When the subprocess fails, this is the error instance being returned.
2
- // If another error instance is being thrown, it is kept as `error.cause`.
3
- export const getFinalError = (originalError, message, isSync) => {
4
- const ErrorClass = isSync ? ExecaSyncError : ExecaError;
5
- const options = originalError instanceof DiscardedError ? {} : {cause: originalError};
6
- return new ErrorClass(message, options);
7
- };
8
-
9
- // Indicates that the error is used only to interrupt control flow, but not in the return value
10
- export class DiscardedError extends Error {}
11
-
12
- // Proper way to set `error.name`: it should be inherited and non-enumerable
13
- const setErrorName = (ErrorClass, value) => {
14
- Object.defineProperty(ErrorClass.prototype, 'name', {
15
- value,
16
- writable: true,
17
- enumerable: false,
18
- configurable: true,
19
- });
20
- Object.defineProperty(ErrorClass.prototype, execaErrorSymbol, {
21
- value: true,
22
- writable: false,
23
- enumerable: false,
24
- configurable: false,
25
- });
26
- };
27
-
28
- // Unlike `instanceof`, this works across realms
29
- export const isExecaError = error => isErrorInstance(error) && execaErrorSymbol in error;
30
-
31
- const execaErrorSymbol = Symbol('isExecaError');
32
-
33
- export const isErrorInstance = value => Object.prototype.toString.call(value) === '[object Error]';
34
-
35
- // We use two different Error classes for async/sync methods since they have slightly different shape and types
36
- export class ExecaError extends Error {}
37
- setErrorName(ExecaError, ExecaError.name);
38
-
39
- export class ExecaSyncError extends Error {}
40
- setErrorName(ExecaSyncError, ExecaSyncError.name);