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,48 +0,0 @@
1
- import {finished} from 'node:stream/promises';
2
- import {isStandardStream} from '../utils/standard-stream.js';
3
-
4
- // Similar to `Stream.pipeline(source, destination)`, but does not destroy standard streams
5
- export const pipeStreams = (source, destination) => {
6
- source.pipe(destination);
7
- onSourceFinish(source, destination);
8
- onDestinationFinish(source, destination);
9
- };
10
-
11
- // `source.pipe(destination)` makes `destination` end when `source` ends.
12
- // But it does not propagate aborts or errors. This function does it.
13
- const onSourceFinish = async (source, destination) => {
14
- if (isStandardStream(source) || isStandardStream(destination)) {
15
- return;
16
- }
17
-
18
- try {
19
- await finished(source, {cleanup: true, readable: true, writable: false});
20
- } catch {}
21
-
22
- endDestinationStream(destination);
23
- };
24
-
25
- export const endDestinationStream = destination => {
26
- if (destination.writable) {
27
- destination.end();
28
- }
29
- };
30
-
31
- // We do the same thing in the other direction as well.
32
- const onDestinationFinish = async (source, destination) => {
33
- if (isStandardStream(source) || isStandardStream(destination)) {
34
- return;
35
- }
36
-
37
- try {
38
- await finished(destination, {cleanup: true, readable: false, writable: true});
39
- } catch {}
40
-
41
- abortSourceStream(source);
42
- };
43
-
44
- export const abortSourceStream = source => {
45
- if (source.readable) {
46
- source.destroy();
47
- }
48
- };
@@ -1,12 +0,0 @@
1
- import stripFinalNewlineFunction from 'strip-final-newline';
2
-
3
- // Apply `stripFinalNewline` option, which applies to `result.stdout|stderr|all|stdio[*]`.
4
- // If the `lines` option is used, it is applied on each line, but using a different function.
5
- export const stripNewline = (value, {stripFinalNewline}, fdNumber) => getStripFinalNewline(stripFinalNewline, fdNumber) && value !== undefined && !Array.isArray(value)
6
- ? stripFinalNewlineFunction(value)
7
- : value;
8
-
9
- // Retrieve `stripFinalNewline` option value, including with `subprocess.all`
10
- export const getStripFinalNewline = (stripFinalNewline, fdNumber) => fdNumber === 'all'
11
- ? stripFinalNewline[1] || stripFinalNewline[2]
12
- : stripFinalNewline[fdNumber];
@@ -1,4 +0,0 @@
1
- // The `ipc` option adds an `ipc` item to the `stdio` option
2
- export const normalizeIpcStdioArray = (stdioArray, ipc) => ipc && !stdioArray.includes('ipc')
3
- ? [...stdioArray, 'ipc']
4
- : stdioArray;
@@ -1,47 +0,0 @@
1
- import {checkIpcMaxBuffer} from '../io/max-buffer.js';
2
- import {shouldLogIpc, logIpcOutput} from '../verbose/ipc.js';
3
- import {getFdSpecificValue} from '../arguments/specific.js';
4
- import {loopOnMessages} from './get-each.js';
5
-
6
- // Iterate through IPC messages sent by the subprocess
7
- export const waitForIpcOutput = async ({
8
- subprocess,
9
- buffer: bufferArray,
10
- maxBuffer: maxBufferArray,
11
- ipc,
12
- ipcOutput,
13
- verboseInfo,
14
- }) => {
15
- if (!ipc) {
16
- return ipcOutput;
17
- }
18
-
19
- const isVerbose = shouldLogIpc(verboseInfo);
20
- const buffer = getFdSpecificValue(bufferArray, 'ipc');
21
- const maxBuffer = getFdSpecificValue(maxBufferArray, 'ipc');
22
-
23
- for await (const message of loopOnMessages({
24
- anyProcess: subprocess,
25
- channel: subprocess.channel,
26
- isSubprocess: false,
27
- ipc,
28
- shouldAwait: false,
29
- reference: true,
30
- })) {
31
- if (buffer) {
32
- checkIpcMaxBuffer(subprocess, ipcOutput, maxBuffer);
33
- ipcOutput.push(message);
34
- }
35
-
36
- if (isVerbose) {
37
- logIpcOutput(message, verboseInfo);
38
- }
39
- }
40
-
41
- return ipcOutput;
42
- };
43
-
44
- export const getBufferedIpcOutput = async (ipcOutputPromise, ipcOutput) => {
45
- await Promise.allSettled([ipcOutputPromise]);
46
- return ipcOutput;
47
- };
@@ -1,56 +0,0 @@
1
- import {EventEmitter} from 'node:events';
2
- import {onMessage, onDisconnect} from './incoming.js';
3
- import {undoAddedReferences} from './reference.js';
4
-
5
- // Forward the `message` and `disconnect` events from the process and subprocess to a proxy emitter.
6
- // This prevents the `error` event from stopping IPC.
7
- // This also allows debouncing the `message` event.
8
- export const getIpcEmitter = (anyProcess, channel, isSubprocess) => {
9
- if (IPC_EMITTERS.has(anyProcess)) {
10
- return IPC_EMITTERS.get(anyProcess);
11
- }
12
-
13
- // Use an `EventEmitter`, like the `process` that is being proxied
14
- // eslint-disable-next-line unicorn/prefer-event-target
15
- const ipcEmitter = new EventEmitter();
16
- ipcEmitter.connected = true;
17
- IPC_EMITTERS.set(anyProcess, ipcEmitter);
18
- forwardEvents({
19
- ipcEmitter,
20
- anyProcess,
21
- channel,
22
- isSubprocess,
23
- });
24
- return ipcEmitter;
25
- };
26
-
27
- const IPC_EMITTERS = new WeakMap();
28
-
29
- // The `message` and `disconnect` events are buffered in the subprocess until the first listener is setup.
30
- // However, unbuffering happens after one tick, so this give enough time for the caller to setup the listener on the proxy emitter first.
31
- // See https://github.com/nodejs/node/blob/2aaeaa863c35befa2ebaa98fb7737ec84df4d8e9/lib/internal/child_process.js#L721
32
- const forwardEvents = ({ipcEmitter, anyProcess, channel, isSubprocess}) => {
33
- const boundOnMessage = onMessage.bind(undefined, {
34
- anyProcess,
35
- channel,
36
- isSubprocess,
37
- ipcEmitter,
38
- });
39
- anyProcess.on('message', boundOnMessage);
40
- anyProcess.once('disconnect', onDisconnect.bind(undefined, {
41
- anyProcess,
42
- channel,
43
- isSubprocess,
44
- ipcEmitter,
45
- boundOnMessage,
46
- }));
47
- undoAddedReferences(channel, isSubprocess);
48
- };
49
-
50
- // Check whether there might still be some `message` events to receive
51
- export const isConnected = anyProcess => {
52
- const ipcEmitter = IPC_EMITTERS.get(anyProcess);
53
- return ipcEmitter === undefined
54
- ? anyProcess.channel !== null
55
- : ipcEmitter.connected;
56
- };
@@ -1,89 +0,0 @@
1
- import {once, on} from 'node:events';
2
- import {validateIpcMethod, disconnect, getStrictResponseError} from './validation.js';
3
- import {getIpcEmitter, isConnected} from './forward.js';
4
- import {addReference, removeReference} from './reference.js';
5
-
6
- // Like `[sub]process.on('message')` but promise-based
7
- export const getEachMessage = ({anyProcess, channel, isSubprocess, ipc}, {reference = true} = {}) => loopOnMessages({
8
- anyProcess,
9
- channel,
10
- isSubprocess,
11
- ipc,
12
- shouldAwait: !isSubprocess,
13
- reference,
14
- });
15
-
16
- // Same but used internally
17
- export const loopOnMessages = ({anyProcess, channel, isSubprocess, ipc, shouldAwait, reference}) => {
18
- validateIpcMethod({
19
- methodName: 'getEachMessage',
20
- isSubprocess,
21
- ipc,
22
- isConnected: isConnected(anyProcess),
23
- });
24
-
25
- addReference(channel, reference);
26
- const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
27
- const controller = new AbortController();
28
- const state = {};
29
- stopOnDisconnect(anyProcess, ipcEmitter, controller);
30
- abortOnStrictError({
31
- ipcEmitter,
32
- isSubprocess,
33
- controller,
34
- state,
35
- });
36
- return iterateOnMessages({
37
- anyProcess,
38
- channel,
39
- ipcEmitter,
40
- isSubprocess,
41
- shouldAwait,
42
- controller,
43
- state,
44
- reference,
45
- });
46
- };
47
-
48
- const stopOnDisconnect = async (anyProcess, ipcEmitter, controller) => {
49
- try {
50
- await once(ipcEmitter, 'disconnect', {signal: controller.signal});
51
- controller.abort();
52
- } catch {}
53
- };
54
-
55
- const abortOnStrictError = async ({ipcEmitter, isSubprocess, controller, state}) => {
56
- try {
57
- const [error] = await once(ipcEmitter, 'strict:error', {signal: controller.signal});
58
- state.error = getStrictResponseError(error, isSubprocess);
59
- controller.abort();
60
- } catch {}
61
- };
62
-
63
- const iterateOnMessages = async function * ({anyProcess, channel, ipcEmitter, isSubprocess, shouldAwait, controller, state, reference}) {
64
- try {
65
- for await (const [message] of on(ipcEmitter, 'message', {signal: controller.signal})) {
66
- throwIfStrictError(state);
67
- yield message;
68
- }
69
- } catch {
70
- throwIfStrictError(state);
71
- } finally {
72
- controller.abort();
73
- removeReference(channel, reference);
74
-
75
- if (!isSubprocess) {
76
- disconnect(anyProcess);
77
- }
78
-
79
- if (shouldAwait) {
80
- await anyProcess;
81
- }
82
- }
83
- };
84
-
85
- const throwIfStrictError = ({error}) => {
86
- if (error) {
87
- throw error;
88
- }
89
- };
@@ -1,69 +0,0 @@
1
- import {once, on} from 'node:events';
2
- import {
3
- validateIpcMethod,
4
- throwOnEarlyDisconnect,
5
- disconnect,
6
- getStrictResponseError,
7
- } from './validation.js';
8
- import {getIpcEmitter, isConnected} from './forward.js';
9
- import {addReference, removeReference} from './reference.js';
10
-
11
- // Like `[sub]process.once('message')` but promise-based
12
- export const getOneMessage = ({anyProcess, channel, isSubprocess, ipc}, {reference = true, filter} = {}) => {
13
- validateIpcMethod({
14
- methodName: 'getOneMessage',
15
- isSubprocess,
16
- ipc,
17
- isConnected: isConnected(anyProcess),
18
- });
19
-
20
- return getOneMessageAsync({
21
- anyProcess,
22
- channel,
23
- isSubprocess,
24
- filter,
25
- reference,
26
- });
27
- };
28
-
29
- const getOneMessageAsync = async ({anyProcess, channel, isSubprocess, filter, reference}) => {
30
- addReference(channel, reference);
31
- const ipcEmitter = getIpcEmitter(anyProcess, channel, isSubprocess);
32
- const controller = new AbortController();
33
- try {
34
- return await Promise.race([
35
- getMessage(ipcEmitter, filter, controller),
36
- throwOnDisconnect(ipcEmitter, isSubprocess, controller),
37
- throwOnStrictError(ipcEmitter, isSubprocess, controller),
38
- ]);
39
- } catch (error) {
40
- disconnect(anyProcess);
41
- throw error;
42
- } finally {
43
- controller.abort();
44
- removeReference(channel, reference);
45
- }
46
- };
47
-
48
- const getMessage = async (ipcEmitter, filter, {signal}) => {
49
- if (filter === undefined) {
50
- const [message] = await once(ipcEmitter, 'message', {signal});
51
- return message;
52
- }
53
-
54
- for await (const [message] of on(ipcEmitter, 'message', {signal})) {
55
- if (filter(message)) {
56
- return message;
57
- }
58
- }
59
- };
60
-
61
- const throwOnDisconnect = async (ipcEmitter, isSubprocess, {signal}) => {
62
- await once(ipcEmitter, 'disconnect', {signal});
63
- throwOnEarlyDisconnect(isSubprocess);
64
- };
65
-
66
- const throwOnStrictError = async (ipcEmitter, isSubprocess, {signal}) => {
67
- const [error] = await once(ipcEmitter, 'strict:error', {signal});
68
- throw getStrictResponseError(error, isSubprocess);
69
- };
@@ -1,72 +0,0 @@
1
- import {scheduler} from 'node:timers/promises';
2
- import {sendOneMessage} from './send.js';
3
- import {getIpcEmitter} from './forward.js';
4
- import {validateConnection, getAbortDisconnectError, throwOnMissingParent} from './validation.js';
5
-
6
- // Send an IPC message so the subprocess performs a graceful termination
7
- export const sendAbort = (subprocess, message) => {
8
- const methodName = 'cancelSignal';
9
- validateConnection(methodName, false, subprocess.connected);
10
- return sendOneMessage({
11
- anyProcess: subprocess,
12
- methodName,
13
- isSubprocess: false,
14
- wrappedMessage: {type: GRACEFUL_CANCEL_TYPE, message},
15
- message,
16
- });
17
- };
18
-
19
- // When the signal is being used, start listening for incoming messages.
20
- // Unbuffering messages takes one microtask to complete, so this must be async.
21
- export const getCancelSignal = async ({anyProcess, channel, isSubprocess, ipc}) => {
22
- await startIpc({
23
- anyProcess,
24
- channel,
25
- isSubprocess,
26
- ipc,
27
- });
28
- return cancelController.signal;
29
- };
30
-
31
- const startIpc = async ({anyProcess, channel, isSubprocess, ipc}) => {
32
- if (cancelListening) {
33
- return;
34
- }
35
-
36
- cancelListening = true;
37
-
38
- if (!ipc) {
39
- throwOnMissingParent();
40
- return;
41
- }
42
-
43
- if (channel === null) {
44
- abortOnDisconnect();
45
- return;
46
- }
47
-
48
- getIpcEmitter(anyProcess, channel, isSubprocess);
49
- await scheduler.yield();
50
- };
51
-
52
- let cancelListening = false;
53
-
54
- // Reception of IPC message to perform a graceful termination
55
- export const handleAbort = wrappedMessage => {
56
- if (wrappedMessage?.type !== GRACEFUL_CANCEL_TYPE) {
57
- return false;
58
- }
59
-
60
- cancelController.abort(wrappedMessage.message);
61
- return true;
62
- };
63
-
64
- const GRACEFUL_CANCEL_TYPE = 'execa:ipc:cancel';
65
-
66
- // When the current process disconnects early, the subprocess `cancelSignal` is aborted.
67
- // Otherwise, the signal would never be able to be aborted later on.
68
- export const abortOnDisconnect = () => {
69
- cancelController.abort(getAbortDisconnectError());
70
- };
71
-
72
- const cancelController = new AbortController();
@@ -1,79 +0,0 @@
1
- import {once} from 'node:events';
2
- import {scheduler} from 'node:timers/promises';
3
- import {waitForOutgoingMessages} from './outgoing.js';
4
- import {redoAddedReferences} from './reference.js';
5
- import {handleStrictRequest, handleStrictResponse} from './strict.js';
6
- import {handleAbort, abortOnDisconnect} from './graceful.js';
7
-
8
- // By default, Node.js buffers `message` events.
9
- // - Buffering happens when there is a `message` event is emitted but there is no handler.
10
- // - As soon as a `message` event handler is set, all buffered `message` events are emitted, emptying the buffer.
11
- // - This happens both in the current process and the subprocess.
12
- // - See https://github.com/nodejs/node/blob/501546e8f37059cd577041e23941b640d0d4d406/lib/internal/child_process.js#L719
13
- // This is helpful. Notably, this allows sending messages to a subprocess that's still initializing.
14
- // However, it has several problems.
15
- // - This works with `events.on()` but not `events.once()` since all buffered messages are emitted at once.
16
- // For example, users cannot call `await getOneMessage()`/`getEachMessage()` multiple times in a row.
17
- // - When a user intentionally starts listening to `message` at a specific point in time, past `message` events are replayed, which might be unexpected.
18
- // - Buffering is unlimited, which might lead to an out-of-memory crash.
19
- // - This does not work well with multiple consumers.
20
- // For example, Execa consumes events with both `result.ipcOutput` and manual IPC calls like `getOneMessage()`.
21
- // Since `result.ipcOutput` reads all incoming messages, no buffering happens for manual IPC calls.
22
- // - Forgetting to setup a `message` listener, or setting it up too late, is a programming mistake.
23
- // The default behavior does not allow users to realize they made that mistake.
24
- // To solve those problems, instead of buffering messages, we debounce them.
25
- // The `message` event so it is emitted at most once per macrotask.
26
- export const onMessage = async ({anyProcess, channel, isSubprocess, ipcEmitter}, wrappedMessage) => {
27
- if (handleStrictResponse(wrappedMessage) || handleAbort(wrappedMessage)) {
28
- return;
29
- }
30
-
31
- if (!INCOMING_MESSAGES.has(anyProcess)) {
32
- INCOMING_MESSAGES.set(anyProcess, []);
33
- }
34
-
35
- const incomingMessages = INCOMING_MESSAGES.get(anyProcess);
36
- incomingMessages.push(wrappedMessage);
37
-
38
- if (incomingMessages.length > 1) {
39
- return;
40
- }
41
-
42
- while (incomingMessages.length > 0) {
43
- // eslint-disable-next-line no-await-in-loop
44
- await waitForOutgoingMessages(anyProcess, ipcEmitter, wrappedMessage);
45
- // eslint-disable-next-line no-await-in-loop
46
- await scheduler.yield();
47
-
48
- // eslint-disable-next-line no-await-in-loop
49
- const message = await handleStrictRequest({
50
- wrappedMessage: incomingMessages[0],
51
- anyProcess,
52
- channel,
53
- isSubprocess,
54
- ipcEmitter,
55
- });
56
-
57
- incomingMessages.shift();
58
- ipcEmitter.emit('message', message);
59
- ipcEmitter.emit('message:done');
60
- }
61
- };
62
-
63
- // If the `message` event is currently debounced, the `disconnect` event must wait for it
64
- export const onDisconnect = async ({anyProcess, channel, isSubprocess, ipcEmitter, boundOnMessage}) => {
65
- abortOnDisconnect();
66
-
67
- const incomingMessages = INCOMING_MESSAGES.get(anyProcess);
68
- while (incomingMessages?.length > 0) {
69
- // eslint-disable-next-line no-await-in-loop
70
- await once(ipcEmitter, 'message:done');
71
- }
72
-
73
- anyProcess.removeListener('message', boundOnMessage);
74
- redoAddedReferences(channel, isSubprocess);
75
- ipcEmitter.connected = false;
76
- ipcEmitter.emit('disconnect');
77
- };
78
-
79
- const INCOMING_MESSAGES = new WeakMap();
@@ -1,44 +0,0 @@
1
- import {serialize} from 'node:v8';
2
-
3
- // Validate the `ipcInput` option
4
- export const validateIpcInputOption = ({ipcInput, ipc, serialization}) => {
5
- if (ipcInput === undefined) {
6
- return;
7
- }
8
-
9
- if (!ipc) {
10
- throw new Error('The `ipcInput` option cannot be set unless the `ipc` option is `true`.');
11
- }
12
-
13
- validateIpcInput[serialization](ipcInput);
14
- };
15
-
16
- const validateAdvancedInput = ipcInput => {
17
- try {
18
- serialize(ipcInput);
19
- } catch (error) {
20
- throw new Error('The `ipcInput` option is not serializable with a structured clone.', {cause: error});
21
- }
22
- };
23
-
24
- const validateJsonInput = ipcInput => {
25
- try {
26
- JSON.stringify(ipcInput);
27
- } catch (error) {
28
- throw new Error('The `ipcInput` option is not serializable with JSON.', {cause: error});
29
- }
30
- };
31
-
32
- const validateIpcInput = {
33
- advanced: validateAdvancedInput,
34
- json: validateJsonInput,
35
- };
36
-
37
- // When the `ipcInput` option is set, it is sent as an initial IPC message to the subprocess
38
- export const sendIpcInput = async (subprocess, ipcInput) => {
39
- if (ipcInput === undefined) {
40
- return;
41
- }
42
-
43
- await subprocess.sendMessage(ipcInput);
44
- };
@@ -1,49 +0,0 @@
1
- import process from 'node:process';
2
- import {sendMessage} from './send.js';
3
- import {getOneMessage} from './get-one.js';
4
- import {getEachMessage} from './get-each.js';
5
- import {getCancelSignal} from './graceful.js';
6
-
7
- // Add promise-based IPC methods in current process
8
- export const addIpcMethods = (subprocess, {ipc}) => {
9
- Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
10
- };
11
-
12
- // Get promise-based IPC in the subprocess
13
- export const getIpcExport = () => {
14
- const anyProcess = process;
15
- const isSubprocess = true;
16
- const ipc = process.channel !== undefined;
17
-
18
- return {
19
- ...getIpcMethods(anyProcess, isSubprocess, ipc),
20
- getCancelSignal: getCancelSignal.bind(undefined, {
21
- anyProcess,
22
- channel: anyProcess.channel,
23
- isSubprocess,
24
- ipc,
25
- }),
26
- };
27
- };
28
-
29
- // Retrieve the `ipc` shared by both the current process and the subprocess
30
- const getIpcMethods = (anyProcess, isSubprocess, ipc) => ({
31
- sendMessage: sendMessage.bind(undefined, {
32
- anyProcess,
33
- channel: anyProcess.channel,
34
- isSubprocess,
35
- ipc,
36
- }),
37
- getOneMessage: getOneMessage.bind(undefined, {
38
- anyProcess,
39
- channel: anyProcess.channel,
40
- isSubprocess,
41
- ipc,
42
- }),
43
- getEachMessage: getEachMessage.bind(undefined, {
44
- anyProcess,
45
- channel: anyProcess.channel,
46
- isSubprocess,
47
- ipc,
48
- }),
49
- });
@@ -1,47 +0,0 @@
1
- import {createDeferred} from '../utils/deferred.js';
2
- import {getFdSpecificValue} from '../arguments/specific.js';
3
- import {SUBPROCESS_OPTIONS} from '../arguments/fd-options.js';
4
- import {validateStrictDeadlock} from './strict.js';
5
-
6
- // When `sendMessage()` is ongoing, any `message` being received waits before being emitted.
7
- // This allows calling one or multiple `await sendMessage()` followed by `await getOneMessage()`/`await getEachMessage()`.
8
- // Without running into a race condition when the other process sends a response too fast, before the current process set up a listener.
9
- export const startSendMessage = (anyProcess, wrappedMessage, strict) => {
10
- if (!OUTGOING_MESSAGES.has(anyProcess)) {
11
- OUTGOING_MESSAGES.set(anyProcess, new Set());
12
- }
13
-
14
- const outgoingMessages = OUTGOING_MESSAGES.get(anyProcess);
15
- const onMessageSent = createDeferred();
16
- const id = strict ? wrappedMessage.id : undefined;
17
- const outgoingMessage = {onMessageSent, id};
18
- outgoingMessages.add(outgoingMessage);
19
- return {outgoingMessages, outgoingMessage};
20
- };
21
-
22
- export const endSendMessage = ({outgoingMessages, outgoingMessage}) => {
23
- outgoingMessages.delete(outgoingMessage);
24
- outgoingMessage.onMessageSent.resolve();
25
- };
26
-
27
- // Await while `sendMessage()` is ongoing, unless there is already a `message` listener
28
- export const waitForOutgoingMessages = async (anyProcess, ipcEmitter, wrappedMessage) => {
29
- while (!hasMessageListeners(anyProcess, ipcEmitter) && OUTGOING_MESSAGES.get(anyProcess)?.size > 0) {
30
- const outgoingMessages = [...OUTGOING_MESSAGES.get(anyProcess)];
31
- validateStrictDeadlock(outgoingMessages, wrappedMessage);
32
- // eslint-disable-next-line no-await-in-loop
33
- await Promise.all(outgoingMessages.map(({onMessageSent}) => onMessageSent));
34
- }
35
- };
36
-
37
- const OUTGOING_MESSAGES = new WeakMap();
38
-
39
- // Whether any `message` listener is setup
40
- export const hasMessageListeners = (anyProcess, ipcEmitter) => ipcEmitter.listenerCount('message') > getMinListenerCount(anyProcess);
41
-
42
- // When `buffer` is `false`, we set up a `message` listener that should be ignored.
43
- // That listener is only meant to intercept `strict` acknowledgement responses.
44
- const getMinListenerCount = anyProcess => SUBPROCESS_OPTIONS.has(anyProcess)
45
- && !getFdSpecificValue(SUBPROCESS_OPTIONS.get(anyProcess).options.buffer, 'ipc')
46
- ? 1
47
- : 0;
@@ -1,44 +0,0 @@
1
- // By default, Node.js keeps the subprocess alive while it has a `message` or `disconnect` listener.
2
- // We replicate the same logic for the events that we proxy.
3
- // This ensures the subprocess is kept alive while `getOneMessage()` and `getEachMessage()` are ongoing.
4
- // This is not a problem with `sendMessage()` since Node.js handles that method automatically.
5
- // We do not use `anyProcess.channel.ref()` since this would prevent the automatic `.channel.refCounted()` Node.js is doing.
6
- // We keep a reference to `anyProcess.channel` since it might be `null` while `getOneMessage()` or `getEachMessage()` is still processing debounced messages.
7
- // See https://github.com/nodejs/node/blob/2aaeaa863c35befa2ebaa98fb7737ec84df4d8e9/lib/internal/child_process.js#L547
8
- export const addReference = (channel, reference) => {
9
- if (reference) {
10
- addReferenceCount(channel);
11
- }
12
- };
13
-
14
- const addReferenceCount = channel => {
15
- channel.refCounted();
16
- };
17
-
18
- export const removeReference = (channel, reference) => {
19
- if (reference) {
20
- removeReferenceCount(channel);
21
- }
22
- };
23
-
24
- const removeReferenceCount = channel => {
25
- channel.unrefCounted();
26
- };
27
-
28
- // To proxy events, we setup some global listeners on the `message` and `disconnect` events.
29
- // Those should not keep the subprocess alive, so we remove the automatic counting that Node.js is doing.
30
- // See https://github.com/nodejs/node/blob/1b965270a9c273d4cf70e8808e9d28b9ada7844f/lib/child_process.js#L180
31
- export const undoAddedReferences = (channel, isSubprocess) => {
32
- if (isSubprocess) {
33
- removeReferenceCount(channel);
34
- removeReferenceCount(channel);
35
- }
36
- };
37
-
38
- // Reverse it during `disconnect`
39
- export const redoAddedReferences = (channel, isSubprocess) => {
40
- if (isSubprocess) {
41
- addReferenceCount(channel);
42
- addReferenceCount(channel);
43
- }
44
- };