@bleedingdev/modern-js-utils 3.9.0-ultramodern.9 → 3.9.3-ultramodern.10

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 (1396) hide show
  1. package/dist/cjs/cli/applyOptionsChain.js +1 -1
  2. package/dist/cjs/cli/get/config.js +1 -1
  3. package/dist/cjs/cli/is/config.js +1 -1
  4. package/dist/cjs/cli/require.js +3 -7
  5. package/dist/cjs/compiled.js +28 -34
  6. package/dist/cjs/fast-glob.js +50 -0
  7. package/dist/cjs/watch-options.js +18 -0
  8. package/dist/compiled/address/LICENSE.txt +22 -0
  9. package/dist/compiled/address/declaration-licenses/address/LICENSE.txt +22 -0
  10. package/dist/compiled/address/index.d.mts +50 -0
  11. package/dist/compiled/address/index.d.ts +50 -0
  12. package/dist/compiled/address/index.js +189 -136
  13. package/dist/compiled/address/index.mjs +187 -0
  14. package/dist/compiled/address/licenses-cjs.txt +24 -0
  15. package/dist/compiled/address/licenses-esm.txt +24 -0
  16. package/dist/compiled/address/package.json +1 -1
  17. package/dist/compiled/address/provenance.json +22 -0
  18. package/dist/compiled/browserslist/LICENSE +20 -0
  19. package/dist/compiled/browserslist/declaration-licenses/browserslist/LICENSE +20 -0
  20. package/dist/compiled/browserslist/index.d.ts +51 -5
  21. package/dist/compiled/browserslist/index.js +1763 -820
  22. package/dist/compiled/browserslist/licenses-cjs.txt +286 -0
  23. package/dist/compiled/browserslist/package.json +1 -1
  24. package/dist/compiled/browserslist/provenance.json +19 -0
  25. package/dist/compiled/chalk/declaration-licenses/chalk/license +9 -0
  26. package/dist/compiled/chalk/index.d.mts +677 -0
  27. package/dist/compiled/chalk/index.d.ts +619 -357
  28. package/dist/compiled/chalk/index.js +734 -2343
  29. package/dist/compiled/chalk/index.mjs +761 -0
  30. package/dist/compiled/chalk/license +1 -1
  31. package/dist/compiled/chalk/licenses-cjs.txt +11 -0
  32. package/dist/compiled/chalk/licenses-esm.txt +11 -0
  33. package/dist/compiled/chalk/package.json +1 -1
  34. package/dist/compiled/chalk/provenance.json +19 -0
  35. package/dist/compiled/chokidar/LICENSE +21 -0
  36. package/dist/compiled/chokidar/declaration-licenses/chokidar/LICENSE +21 -0
  37. package/dist/compiled/chokidar/declaration-licenses/readdirp/LICENSE +21 -0
  38. package/dist/compiled/chokidar/index.d.mts +394 -0
  39. package/dist/compiled/chokidar/index.d.ts +394 -0
  40. package/dist/compiled/chokidar/index.js +1463 -4102
  41. package/dist/compiled/chokidar/index.js.LICENSE.txt +1 -41
  42. package/dist/compiled/chokidar/index.mjs +1515 -0
  43. package/dist/compiled/chokidar/index.mjs.LICENSE.txt +1 -0
  44. package/dist/compiled/chokidar/licenses-cjs.txt +48 -0
  45. package/dist/compiled/chokidar/licenses-esm.txt +48 -0
  46. package/dist/compiled/chokidar/package.json +1 -1
  47. package/dist/compiled/chokidar/provenance.json +27 -0
  48. package/dist/compiled/commander/declaration-licenses/commander/LICENSE +22 -0
  49. package/dist/compiled/commander/index.d.mts +1116 -0
  50. package/dist/compiled/commander/index.d.ts +1116 -0
  51. package/dist/compiled/commander/index.js +1738 -1499
  52. package/dist/compiled/commander/index.mjs +1778 -2
  53. package/dist/compiled/commander/licenses-cjs.txt +24 -0
  54. package/dist/compiled/commander/licenses-esm.txt +24 -0
  55. package/dist/compiled/commander/package.json +1 -1
  56. package/dist/compiled/commander/provenance.json +22 -0
  57. package/dist/compiled/debug/declaration-licenses/@types_ms/LICENSE +21 -0
  58. package/dist/compiled/debug/index.d.ts +79 -16
  59. package/dist/compiled/debug/index.js +172 -106
  60. package/dist/compiled/debug/licenses-cjs.txt +60 -0
  61. package/dist/compiled/debug/package.json +1 -1
  62. package/dist/compiled/debug/provenance.json +27 -0
  63. package/dist/compiled/dotenv-expand/LICENSE +28 -0
  64. package/dist/compiled/dotenv-expand/declaration-licenses/dotenv-expand/LICENSE +28 -0
  65. package/dist/compiled/dotenv-expand/index.d.ts +48 -10
  66. package/dist/compiled/dotenv-expand/index.js +5548 -40
  67. package/dist/compiled/dotenv-expand/licenses-cjs.txt +30 -0
  68. package/dist/compiled/dotenv-expand/package.json +1 -1
  69. package/dist/compiled/dotenv-expand/provenance.json +22 -0
  70. package/dist/compiled/execa/declaration-licenses/execa/license +9 -0
  71. package/dist/compiled/execa/index.d.mts +2485 -0
  72. package/dist/compiled/execa/index.d.ts +2335 -414
  73. package/dist/compiled/execa/index.js +6965 -1682
  74. package/dist/compiled/execa/index.mjs +7020 -0
  75. package/dist/compiled/execa/licenses-cjs.txt +443 -0
  76. package/dist/compiled/execa/licenses-esm.txt +443 -0
  77. package/dist/compiled/execa/package.json +1 -1
  78. package/dist/compiled/execa/provenance.json +19 -0
  79. package/dist/compiled/filesize/LICENSE +28 -0
  80. package/dist/compiled/filesize/declaration-licenses/filesize/LICENSE +28 -0
  81. package/dist/compiled/filesize/index.d.mts +98 -0
  82. package/dist/compiled/filesize/index.d.ts +98 -0
  83. package/dist/compiled/filesize/index.js +426 -185
  84. package/dist/compiled/filesize/index.js.LICENSE.txt +2 -2
  85. package/dist/compiled/filesize/index.mjs +451 -0
  86. package/dist/compiled/filesize/index.mjs.LICENSE.txt +7 -0
  87. package/dist/compiled/filesize/licenses-cjs.txt +29 -0
  88. package/dist/compiled/filesize/licenses-esm.txt +29 -0
  89. package/dist/compiled/filesize/package.json +1 -1
  90. package/dist/compiled/filesize/provenance.json +22 -0
  91. package/dist/compiled/fs-extra/LICENSE +15 -0
  92. package/dist/compiled/fs-extra/declaration-licenses/@types_fs-extra/LICENSE +21 -0
  93. package/dist/compiled/fs-extra/declaration-licenses/@types_jsonfile/LICENSE +21 -0
  94. package/dist/compiled/fs-extra/index.d.ts +997 -496
  95. package/dist/compiled/fs-extra/index.js +1142 -1355
  96. package/dist/compiled/fs-extra/licenses-cjs.txt +79 -0
  97. package/dist/compiled/fs-extra/package.json +1 -1
  98. package/dist/compiled/fs-extra/provenance.json +27 -0
  99. package/dist/compiled/glob/LICENSE.md +63 -0
  100. package/dist/compiled/glob/declaration-licenses/glob/LICENSE.md +63 -0
  101. package/dist/compiled/glob/declaration-licenses/lru-cache/LICENSE.md +55 -0
  102. package/dist/compiled/glob/declaration-licenses/minimatch/LICENSE.md +55 -0
  103. package/dist/compiled/glob/declaration-licenses/minipass/LICENSE.md +55 -0
  104. package/dist/compiled/glob/declaration-licenses/path-scurry/LICENSE.md +55 -0
  105. package/dist/compiled/glob/index.d.mts +3823 -0
  106. package/dist/compiled/glob/index.d.ts +3823 -91
  107. package/dist/compiled/glob/index.js +3612 -1937
  108. package/dist/compiled/glob/index.mjs +3467 -0
  109. package/dist/compiled/glob/licenses-cjs.txt +65 -0
  110. package/dist/compiled/glob/licenses-esm.txt +65 -0
  111. package/dist/compiled/glob/package.json +1 -1
  112. package/dist/compiled/glob/provenance.json +42 -0
  113. package/dist/compiled/globby/declaration-licenses/globby/license +9 -0
  114. package/dist/compiled/globby/index.d.mts +422 -0
  115. package/dist/compiled/globby/index.d.ts +364 -128
  116. package/dist/compiled/globby/index.js +4712 -524
  117. package/dist/compiled/globby/index.js.LICENSE.txt +20 -0
  118. package/dist/compiled/globby/index.mjs +4864 -0
  119. package/dist/compiled/globby/index.mjs.LICENSE.txt +20 -0
  120. package/dist/compiled/globby/license +1 -1
  121. package/dist/compiled/globby/licenses-cjs.txt +237 -0
  122. package/dist/compiled/globby/licenses-esm.txt +237 -0
  123. package/dist/compiled/globby/package.json +1 -1
  124. package/dist/compiled/globby/provenance.json +19 -0
  125. package/dist/compiled/gzip-size/declaration-licenses/gzip-size/license +9 -0
  126. package/dist/compiled/gzip-size/index.d.mts +106 -0
  127. package/dist/compiled/gzip-size/index.d.ts +91 -81
  128. package/dist/compiled/gzip-size/index.js +117 -94
  129. package/dist/compiled/gzip-size/index.mjs +170 -0
  130. package/dist/compiled/gzip-size/licenses-cjs.txt +33 -0
  131. package/dist/compiled/gzip-size/licenses-esm.txt +33 -0
  132. package/dist/compiled/gzip-size/package.json +1 -1
  133. package/dist/compiled/gzip-size/provenance.json +19 -0
  134. package/dist/compiled/import-lazy/declaration-licenses/import-lazy/license +9 -0
  135. package/dist/compiled/import-lazy/index.d.ts +2 -2
  136. package/dist/compiled/import-lazy/index.js +18 -19
  137. package/dist/compiled/import-lazy/licenses-cjs.txt +11 -0
  138. package/dist/compiled/import-lazy/package.json +1 -1
  139. package/dist/compiled/import-lazy/provenance.json +19 -0
  140. package/dist/compiled/inquirer/LICENSE +22 -0
  141. package/dist/compiled/inquirer/declaration-licenses/@inquirer_checkbox/LICENSE +22 -0
  142. package/dist/compiled/inquirer/declaration-licenses/@inquirer_confirm/LICENSE +22 -0
  143. package/dist/compiled/inquirer/declaration-licenses/@inquirer_core/LICENSE +22 -0
  144. package/dist/compiled/inquirer/declaration-licenses/@inquirer_editor/LICENSE +22 -0
  145. package/dist/compiled/inquirer/declaration-licenses/@inquirer_expand/LICENSE +22 -0
  146. package/dist/compiled/inquirer/declaration-licenses/@inquirer_external-editor/LICENSE +22 -0
  147. package/dist/compiled/inquirer/declaration-licenses/@inquirer_input/LICENSE +22 -0
  148. package/dist/compiled/inquirer/declaration-licenses/@inquirer_number/LICENSE +22 -0
  149. package/dist/compiled/inquirer/declaration-licenses/@inquirer_password/LICENSE +22 -0
  150. package/dist/compiled/inquirer/declaration-licenses/@inquirer_prompts/LICENSE +22 -0
  151. package/dist/compiled/inquirer/declaration-licenses/@inquirer_rawlist/LICENSE +22 -0
  152. package/dist/compiled/inquirer/declaration-licenses/@inquirer_search/LICENSE +22 -0
  153. package/dist/compiled/inquirer/declaration-licenses/@inquirer_select/LICENSE +22 -0
  154. package/dist/compiled/inquirer/declaration-licenses/@inquirer_type/LICENSE +22 -0
  155. package/dist/compiled/inquirer/declaration-licenses/inquirer/LICENSE +22 -0
  156. package/dist/compiled/inquirer/index.d.mts +800 -0
  157. package/dist/compiled/inquirer/index.d.ts +737 -934
  158. package/dist/compiled/inquirer/index.js +5980 -14456
  159. package/dist/compiled/inquirer/index.mjs +11640 -0
  160. package/dist/compiled/inquirer/licenses-cjs.txt +645 -0
  161. package/dist/compiled/inquirer/licenses-esm.txt +645 -0
  162. package/dist/compiled/inquirer/package.json +1 -1
  163. package/dist/compiled/inquirer/provenance.json +92 -0
  164. package/dist/compiled/js-yaml/declaration-licenses/js-yaml/LICENSE +21 -0
  165. package/dist/compiled/js-yaml/index.d.mts +1126 -0
  166. package/dist/compiled/js-yaml/index.d.ts +1114 -142
  167. package/dist/compiled/js-yaml/index.js +252 -203
  168. package/dist/compiled/js-yaml/index.js.LICENSE.txt +1 -1
  169. package/dist/compiled/js-yaml/index.mjs +332 -281
  170. package/dist/compiled/js-yaml/index.mjs.LICENSE.txt +1 -1
  171. package/dist/compiled/js-yaml/licenses-cjs.txt +23 -0
  172. package/dist/compiled/js-yaml/licenses-esm.txt +23 -0
  173. package/dist/compiled/js-yaml/package.json +1 -1
  174. package/dist/compiled/js-yaml/provenance.json +19 -0
  175. package/dist/compiled/json5/LICENSE.md +23 -0
  176. package/dist/compiled/json5/declaration-licenses/json5/LICENSE.md +23 -0
  177. package/dist/compiled/json5/index.d.ts +103 -0
  178. package/dist/compiled/json5/index.js +11 -11
  179. package/dist/compiled/json5/licenses-cjs.txt +25 -0
  180. package/dist/compiled/json5/package.json +1 -1
  181. package/dist/compiled/json5/provenance.json +22 -0
  182. package/dist/compiled/lodash/add.d.ts +2 -0
  183. package/dist/compiled/lodash/after.d.ts +2 -0
  184. package/dist/compiled/lodash/ary.d.ts +2 -0
  185. package/dist/compiled/lodash/assign.d.ts +2 -0
  186. package/dist/compiled/lodash/assignIn.d.ts +2 -0
  187. package/dist/compiled/lodash/assignInWith.d.ts +2 -0
  188. package/dist/compiled/lodash/assignWith.d.ts +2 -0
  189. package/dist/compiled/lodash/at.d.ts +2 -0
  190. package/dist/compiled/lodash/attempt.d.ts +2 -0
  191. package/dist/compiled/lodash/before.d.ts +2 -0
  192. package/dist/compiled/lodash/bind.d.ts +2 -0
  193. package/dist/compiled/lodash/bindAll.d.ts +2 -0
  194. package/dist/compiled/lodash/bindKey.d.ts +2 -0
  195. package/dist/compiled/lodash/camelCase.d.ts +2 -0
  196. package/dist/compiled/lodash/capitalize.d.ts +2 -0
  197. package/dist/compiled/lodash/castArray.d.ts +2 -0
  198. package/dist/compiled/lodash/ceil.d.ts +2 -0
  199. package/dist/compiled/lodash/chain.d.ts +2 -0
  200. package/dist/compiled/lodash/chunk.d.ts +2 -0
  201. package/dist/compiled/lodash/clamp.d.ts +2 -0
  202. package/dist/compiled/lodash/clone.d.ts +2 -0
  203. package/dist/compiled/lodash/cloneDeep.d.ts +2 -0
  204. package/dist/compiled/lodash/cloneDeepWith.d.ts +2 -0
  205. package/dist/compiled/lodash/cloneWith.d.ts +2 -0
  206. package/dist/compiled/lodash/common/array.d.ts +56 -22
  207. package/dist/compiled/lodash/common/collection.d.ts +9 -1
  208. package/dist/compiled/lodash/common/common.d.ts +17 -10
  209. package/dist/compiled/lodash/common/function.d.ts +12 -3
  210. package/dist/compiled/lodash/common/lang.d.ts +8 -5
  211. package/dist/compiled/lodash/common/math.d.ts +3 -1
  212. package/dist/compiled/lodash/common/object.d.ts +141 -17
  213. package/dist/compiled/lodash/common/seq.d.ts +2 -2
  214. package/dist/compiled/lodash/common/string.d.ts +17 -17
  215. package/dist/compiled/lodash/compact.d.ts +2 -0
  216. package/dist/compiled/lodash/concat.d.ts +2 -0
  217. package/dist/compiled/lodash/cond.d.ts +2 -0
  218. package/dist/compiled/lodash/conforms.d.ts +2 -0
  219. package/dist/compiled/lodash/conformsTo.d.ts +2 -0
  220. package/dist/compiled/lodash/constant.d.ts +2 -0
  221. package/dist/compiled/lodash/countBy.d.ts +2 -0
  222. package/dist/compiled/lodash/create.d.ts +2 -0
  223. package/dist/compiled/lodash/curry.d.ts +2 -0
  224. package/dist/compiled/lodash/curryRight.d.ts +2 -0
  225. package/dist/compiled/lodash/debounce.d.ts +2 -0
  226. package/dist/compiled/lodash/deburr.d.ts +2 -0
  227. package/dist/compiled/lodash/declaration-licenses/@types_lodash/LICENSE +21 -0
  228. package/dist/compiled/lodash/defaultTo.d.ts +2 -0
  229. package/dist/compiled/lodash/defaults.d.ts +2 -0
  230. package/dist/compiled/lodash/defaultsDeep.d.ts +2 -0
  231. package/dist/compiled/lodash/defer.d.ts +2 -0
  232. package/dist/compiled/lodash/delay.d.ts +2 -0
  233. package/dist/compiled/lodash/difference.d.ts +2 -0
  234. package/dist/compiled/lodash/differenceBy.d.ts +2 -0
  235. package/dist/compiled/lodash/differenceWith.d.ts +2 -0
  236. package/dist/compiled/lodash/divide.d.ts +2 -0
  237. package/dist/compiled/lodash/drop.d.ts +2 -0
  238. package/dist/compiled/lodash/dropRight.d.ts +2 -0
  239. package/dist/compiled/lodash/dropRightWhile.d.ts +2 -0
  240. package/dist/compiled/lodash/dropWhile.d.ts +2 -0
  241. package/dist/compiled/lodash/each.d.ts +2 -0
  242. package/dist/compiled/lodash/eachRight.d.ts +2 -0
  243. package/dist/compiled/lodash/endsWith.d.ts +2 -0
  244. package/dist/compiled/lodash/entries.d.ts +2 -0
  245. package/dist/compiled/lodash/entriesIn.d.ts +2 -0
  246. package/dist/compiled/lodash/eq.d.ts +2 -0
  247. package/dist/compiled/lodash/escape.d.ts +2 -0
  248. package/dist/compiled/lodash/escapeRegExp.d.ts +2 -0
  249. package/dist/compiled/lodash/every.d.ts +2 -0
  250. package/dist/compiled/lodash/extend.d.ts +2 -0
  251. package/dist/compiled/lodash/extendWith.d.ts +2 -0
  252. package/dist/compiled/lodash/fill.d.ts +2 -0
  253. package/dist/compiled/lodash/filter.d.ts +2 -0
  254. package/dist/compiled/lodash/find.d.ts +2 -0
  255. package/dist/compiled/lodash/findIndex.d.ts +2 -0
  256. package/dist/compiled/lodash/findKey.d.ts +2 -0
  257. package/dist/compiled/lodash/findLast.d.ts +2 -0
  258. package/dist/compiled/lodash/findLastIndex.d.ts +2 -0
  259. package/dist/compiled/lodash/findLastKey.d.ts +2 -0
  260. package/dist/compiled/lodash/first.d.ts +2 -0
  261. package/dist/compiled/lodash/flatMap.d.ts +2 -0
  262. package/dist/compiled/lodash/flatMapDeep.d.ts +2 -0
  263. package/dist/compiled/lodash/flatMapDepth.d.ts +2 -0
  264. package/dist/compiled/lodash/flatten.d.ts +2 -0
  265. package/dist/compiled/lodash/flattenDeep.d.ts +2 -0
  266. package/dist/compiled/lodash/flattenDepth.d.ts +2 -0
  267. package/dist/compiled/lodash/flip.d.ts +2 -0
  268. package/dist/compiled/lodash/floor.d.ts +2 -0
  269. package/dist/compiled/lodash/flow.d.ts +2 -0
  270. package/dist/compiled/lodash/flowRight.d.ts +2 -0
  271. package/dist/compiled/lodash/forEach.d.ts +2 -0
  272. package/dist/compiled/lodash/forEachRight.d.ts +2 -0
  273. package/dist/compiled/lodash/forIn.d.ts +2 -0
  274. package/dist/compiled/lodash/forInRight.d.ts +2 -0
  275. package/dist/compiled/lodash/forOwn.d.ts +2 -0
  276. package/dist/compiled/lodash/forOwnRight.d.ts +2 -0
  277. package/dist/compiled/lodash/fp/F.d.ts +2 -0
  278. package/dist/compiled/lodash/fp/T.d.ts +2 -0
  279. package/dist/compiled/lodash/fp/__.d.ts +3 -0
  280. package/dist/compiled/lodash/fp/add.d.ts +2 -0
  281. package/dist/compiled/lodash/fp/after.d.ts +2 -0
  282. package/dist/compiled/lodash/fp/all.d.ts +2 -0
  283. package/dist/compiled/lodash/fp/allPass.d.ts +2 -0
  284. package/dist/compiled/lodash/fp/always.d.ts +2 -0
  285. package/dist/compiled/lodash/fp/any.d.ts +2 -0
  286. package/dist/compiled/lodash/fp/anyPass.d.ts +2 -0
  287. package/dist/compiled/lodash/fp/apply.d.ts +2 -0
  288. package/dist/compiled/lodash/fp/ary.d.ts +2 -0
  289. package/dist/compiled/lodash/fp/assign.d.ts +2 -0
  290. package/dist/compiled/lodash/fp/assignAll.d.ts +2 -0
  291. package/dist/compiled/lodash/fp/assignAllWith.d.ts +2 -0
  292. package/dist/compiled/lodash/fp/assignIn.d.ts +2 -0
  293. package/dist/compiled/lodash/fp/assignInAll.d.ts +2 -0
  294. package/dist/compiled/lodash/fp/assignInAllWith.d.ts +2 -0
  295. package/dist/compiled/lodash/fp/assignInWith.d.ts +2 -0
  296. package/dist/compiled/lodash/fp/assignWith.d.ts +2 -0
  297. package/dist/compiled/lodash/fp/assoc.d.ts +2 -0
  298. package/dist/compiled/lodash/fp/assocPath.d.ts +2 -0
  299. package/dist/compiled/lodash/fp/at.d.ts +2 -0
  300. package/dist/compiled/lodash/fp/attempt.d.ts +2 -0
  301. package/dist/compiled/lodash/fp/before.d.ts +2 -0
  302. package/dist/compiled/lodash/fp/bind.d.ts +2 -0
  303. package/dist/compiled/lodash/fp/bindAll.d.ts +2 -0
  304. package/dist/compiled/lodash/fp/bindKey.d.ts +2 -0
  305. package/dist/compiled/lodash/fp/camelCase.d.ts +2 -0
  306. package/dist/compiled/lodash/fp/capitalize.d.ts +2 -0
  307. package/dist/compiled/lodash/fp/castArray.d.ts +2 -0
  308. package/dist/compiled/lodash/fp/ceil.d.ts +2 -0
  309. package/dist/compiled/lodash/fp/chunk.d.ts +2 -0
  310. package/dist/compiled/lodash/fp/clamp.d.ts +2 -0
  311. package/dist/compiled/lodash/fp/clone.d.ts +2 -0
  312. package/dist/compiled/lodash/fp/cloneDeep.d.ts +2 -0
  313. package/dist/compiled/lodash/fp/cloneDeepWith.d.ts +2 -0
  314. package/dist/compiled/lodash/fp/cloneWith.d.ts +2 -0
  315. package/dist/compiled/lodash/fp/compact.d.ts +2 -0
  316. package/dist/compiled/lodash/fp/complement.d.ts +2 -0
  317. package/dist/compiled/lodash/fp/compose.d.ts +2 -0
  318. package/dist/compiled/lodash/fp/concat.d.ts +2 -0
  319. package/dist/compiled/lodash/fp/cond.d.ts +2 -0
  320. package/dist/compiled/lodash/fp/conforms.d.ts +2 -0
  321. package/dist/compiled/lodash/fp/conformsTo.d.ts +2 -0
  322. package/dist/compiled/lodash/fp/constant.d.ts +2 -0
  323. package/dist/compiled/lodash/fp/contains.d.ts +2 -0
  324. package/dist/compiled/lodash/fp/convert.d.ts +15 -0
  325. package/dist/compiled/lodash/fp/countBy.d.ts +2 -0
  326. package/dist/compiled/lodash/fp/create.d.ts +2 -0
  327. package/dist/compiled/lodash/fp/curry.d.ts +2 -0
  328. package/dist/compiled/lodash/fp/curryN.d.ts +2 -0
  329. package/dist/compiled/lodash/fp/curryRight.d.ts +2 -0
  330. package/dist/compiled/lodash/fp/curryRightN.d.ts +2 -0
  331. package/dist/compiled/lodash/fp/debounce.d.ts +2 -0
  332. package/dist/compiled/lodash/fp/deburr.d.ts +2 -0
  333. package/dist/compiled/lodash/fp/defaultTo.d.ts +2 -0
  334. package/dist/compiled/lodash/fp/defaults.d.ts +2 -0
  335. package/dist/compiled/lodash/fp/defaultsAll.d.ts +2 -0
  336. package/dist/compiled/lodash/fp/defaultsDeep.d.ts +2 -0
  337. package/dist/compiled/lodash/fp/defaultsDeepAll.d.ts +2 -0
  338. package/dist/compiled/lodash/fp/defer.d.ts +2 -0
  339. package/dist/compiled/lodash/fp/delay.d.ts +2 -0
  340. package/dist/compiled/lodash/fp/difference.d.ts +2 -0
  341. package/dist/compiled/lodash/fp/differenceBy.d.ts +2 -0
  342. package/dist/compiled/lodash/fp/differenceWith.d.ts +2 -0
  343. package/dist/compiled/lodash/fp/dissoc.d.ts +2 -0
  344. package/dist/compiled/lodash/fp/dissocPath.d.ts +2 -0
  345. package/dist/compiled/lodash/fp/divide.d.ts +2 -0
  346. package/dist/compiled/lodash/fp/drop.d.ts +2 -0
  347. package/dist/compiled/lodash/fp/dropLast.d.ts +2 -0
  348. package/dist/compiled/lodash/fp/dropLastWhile.d.ts +2 -0
  349. package/dist/compiled/lodash/fp/dropRight.d.ts +2 -0
  350. package/dist/compiled/lodash/fp/dropRightWhile.d.ts +2 -0
  351. package/dist/compiled/lodash/fp/dropWhile.d.ts +2 -0
  352. package/dist/compiled/lodash/fp/each.d.ts +2 -0
  353. package/dist/compiled/lodash/fp/eachRight.d.ts +2 -0
  354. package/dist/compiled/lodash/fp/endsWith.d.ts +2 -0
  355. package/dist/compiled/lodash/fp/entries.d.ts +2 -0
  356. package/dist/compiled/lodash/fp/entriesIn.d.ts +2 -0
  357. package/dist/compiled/lodash/fp/eq.d.ts +2 -0
  358. package/dist/compiled/lodash/fp/equals.d.ts +2 -0
  359. package/dist/compiled/lodash/fp/escape.d.ts +2 -0
  360. package/dist/compiled/lodash/fp/escapeRegExp.d.ts +2 -0
  361. package/dist/compiled/lodash/fp/every.d.ts +2 -0
  362. package/dist/compiled/lodash/fp/extend.d.ts +2 -0
  363. package/dist/compiled/lodash/fp/extendAll.d.ts +2 -0
  364. package/dist/compiled/lodash/fp/extendAllWith.d.ts +2 -0
  365. package/dist/compiled/lodash/fp/extendWith.d.ts +2 -0
  366. package/dist/compiled/lodash/fp/fill.d.ts +2 -0
  367. package/dist/compiled/lodash/fp/filter.d.ts +2 -0
  368. package/dist/compiled/lodash/fp/find.d.ts +2 -0
  369. package/dist/compiled/lodash/fp/findFrom.d.ts +2 -0
  370. package/dist/compiled/lodash/fp/findIndex.d.ts +2 -0
  371. package/dist/compiled/lodash/fp/findIndexFrom.d.ts +2 -0
  372. package/dist/compiled/lodash/fp/findKey.d.ts +2 -0
  373. package/dist/compiled/lodash/fp/findLast.d.ts +2 -0
  374. package/dist/compiled/lodash/fp/findLastFrom.d.ts +2 -0
  375. package/dist/compiled/lodash/fp/findLastIndex.d.ts +2 -0
  376. package/dist/compiled/lodash/fp/findLastIndexFrom.d.ts +2 -0
  377. package/dist/compiled/lodash/fp/findLastKey.d.ts +2 -0
  378. package/dist/compiled/lodash/fp/first.d.ts +2 -0
  379. package/dist/compiled/lodash/fp/flatMap.d.ts +2 -0
  380. package/dist/compiled/lodash/fp/flatMapDeep.d.ts +2 -0
  381. package/dist/compiled/lodash/fp/flatMapDepth.d.ts +2 -0
  382. package/dist/compiled/lodash/fp/flatten.d.ts +2 -0
  383. package/dist/compiled/lodash/fp/flattenDeep.d.ts +2 -0
  384. package/dist/compiled/lodash/fp/flattenDepth.d.ts +2 -0
  385. package/dist/compiled/lodash/fp/flip.d.ts +2 -0
  386. package/dist/compiled/lodash/fp/floor.d.ts +2 -0
  387. package/dist/compiled/lodash/fp/flow.d.ts +2 -0
  388. package/dist/compiled/lodash/fp/flowRight.d.ts +2 -0
  389. package/dist/compiled/lodash/fp/forEach.d.ts +2 -0
  390. package/dist/compiled/lodash/fp/forEachRight.d.ts +2 -0
  391. package/dist/compiled/lodash/fp/forIn.d.ts +2 -0
  392. package/dist/compiled/lodash/fp/forInRight.d.ts +2 -0
  393. package/dist/compiled/lodash/fp/forOwn.d.ts +2 -0
  394. package/dist/compiled/lodash/fp/forOwnRight.d.ts +2 -0
  395. package/dist/compiled/lodash/fp/fromPairs.d.ts +2 -0
  396. package/dist/compiled/lodash/fp/functions.d.ts +2 -0
  397. package/dist/compiled/lodash/fp/functionsIn.d.ts +2 -0
  398. package/dist/compiled/lodash/fp/get.d.ts +2 -0
  399. package/dist/compiled/lodash/fp/getOr.d.ts +2 -0
  400. package/dist/compiled/lodash/fp/groupBy.d.ts +2 -0
  401. package/dist/compiled/lodash/fp/gt.d.ts +2 -0
  402. package/dist/compiled/lodash/fp/gte.d.ts +2 -0
  403. package/dist/compiled/lodash/fp/has.d.ts +2 -0
  404. package/dist/compiled/lodash/fp/hasIn.d.ts +2 -0
  405. package/dist/compiled/lodash/fp/head.d.ts +2 -0
  406. package/dist/compiled/lodash/fp/identical.d.ts +2 -0
  407. package/dist/compiled/lodash/fp/identity.d.ts +2 -0
  408. package/dist/compiled/lodash/fp/inRange.d.ts +2 -0
  409. package/dist/compiled/lodash/fp/includes.d.ts +2 -0
  410. package/dist/compiled/lodash/fp/includesFrom.d.ts +2 -0
  411. package/dist/compiled/lodash/fp/indexBy.d.ts +2 -0
  412. package/dist/compiled/lodash/fp/indexOf.d.ts +2 -0
  413. package/dist/compiled/lodash/fp/indexOfFrom.d.ts +2 -0
  414. package/dist/compiled/lodash/fp/init.d.ts +2 -0
  415. package/dist/compiled/lodash/fp/initial.d.ts +2 -0
  416. package/dist/compiled/lodash/fp/intersection.d.ts +2 -0
  417. package/dist/compiled/lodash/fp/intersectionBy.d.ts +2 -0
  418. package/dist/compiled/lodash/fp/intersectionWith.d.ts +2 -0
  419. package/dist/compiled/lodash/fp/invert.d.ts +2 -0
  420. package/dist/compiled/lodash/fp/invertBy.d.ts +2 -0
  421. package/dist/compiled/lodash/fp/invertObj.d.ts +2 -0
  422. package/dist/compiled/lodash/fp/invoke.d.ts +2 -0
  423. package/dist/compiled/lodash/fp/invokeArgs.d.ts +2 -0
  424. package/dist/compiled/lodash/fp/invokeArgsMap.d.ts +2 -0
  425. package/dist/compiled/lodash/fp/invokeMap.d.ts +2 -0
  426. package/dist/compiled/lodash/fp/isArguments.d.ts +2 -0
  427. package/dist/compiled/lodash/fp/isArray.d.ts +2 -0
  428. package/dist/compiled/lodash/fp/isArrayBuffer.d.ts +2 -0
  429. package/dist/compiled/lodash/fp/isArrayLike.d.ts +2 -0
  430. package/dist/compiled/lodash/fp/isArrayLikeObject.d.ts +2 -0
  431. package/dist/compiled/lodash/fp/isBoolean.d.ts +2 -0
  432. package/dist/compiled/lodash/fp/isBuffer.d.ts +2 -0
  433. package/dist/compiled/lodash/fp/isDate.d.ts +2 -0
  434. package/dist/compiled/lodash/fp/isElement.d.ts +2 -0
  435. package/dist/compiled/lodash/fp/isEmpty.d.ts +2 -0
  436. package/dist/compiled/lodash/fp/isEqual.d.ts +2 -0
  437. package/dist/compiled/lodash/fp/isEqualWith.d.ts +2 -0
  438. package/dist/compiled/lodash/fp/isError.d.ts +2 -0
  439. package/dist/compiled/lodash/fp/isFinite.d.ts +2 -0
  440. package/dist/compiled/lodash/fp/isFunction.d.ts +2 -0
  441. package/dist/compiled/lodash/fp/isInteger.d.ts +2 -0
  442. package/dist/compiled/lodash/fp/isLength.d.ts +2 -0
  443. package/dist/compiled/lodash/fp/isMap.d.ts +2 -0
  444. package/dist/compiled/lodash/fp/isMatch.d.ts +2 -0
  445. package/dist/compiled/lodash/fp/isMatchWith.d.ts +2 -0
  446. package/dist/compiled/lodash/fp/isNaN.d.ts +2 -0
  447. package/dist/compiled/lodash/fp/isNative.d.ts +2 -0
  448. package/dist/compiled/lodash/fp/isNil.d.ts +2 -0
  449. package/dist/compiled/lodash/fp/isNull.d.ts +2 -0
  450. package/dist/compiled/lodash/fp/isNumber.d.ts +2 -0
  451. package/dist/compiled/lodash/fp/isObject.d.ts +2 -0
  452. package/dist/compiled/lodash/fp/isObjectLike.d.ts +2 -0
  453. package/dist/compiled/lodash/fp/isPlainObject.d.ts +2 -0
  454. package/dist/compiled/lodash/fp/isRegExp.d.ts +2 -0
  455. package/dist/compiled/lodash/fp/isSafeInteger.d.ts +2 -0
  456. package/dist/compiled/lodash/fp/isSet.d.ts +2 -0
  457. package/dist/compiled/lodash/fp/isString.d.ts +2 -0
  458. package/dist/compiled/lodash/fp/isSymbol.d.ts +2 -0
  459. package/dist/compiled/lodash/fp/isTypedArray.d.ts +2 -0
  460. package/dist/compiled/lodash/fp/isUndefined.d.ts +2 -0
  461. package/dist/compiled/lodash/fp/isWeakMap.d.ts +2 -0
  462. package/dist/compiled/lodash/fp/isWeakSet.d.ts +2 -0
  463. package/dist/compiled/lodash/fp/iteratee.d.ts +2 -0
  464. package/dist/compiled/lodash/fp/join.d.ts +2 -0
  465. package/dist/compiled/lodash/fp/juxt.d.ts +2 -0
  466. package/dist/compiled/lodash/fp/kebabCase.d.ts +2 -0
  467. package/dist/compiled/lodash/fp/keyBy.d.ts +2 -0
  468. package/dist/compiled/lodash/fp/keys.d.ts +2 -0
  469. package/dist/compiled/lodash/fp/keysIn.d.ts +2 -0
  470. package/dist/compiled/lodash/fp/last.d.ts +2 -0
  471. package/dist/compiled/lodash/fp/lastIndexOf.d.ts +2 -0
  472. package/dist/compiled/lodash/fp/lastIndexOfFrom.d.ts +2 -0
  473. package/dist/compiled/lodash/fp/lowerCase.d.ts +2 -0
  474. package/dist/compiled/lodash/fp/lowerFirst.d.ts +2 -0
  475. package/dist/compiled/lodash/fp/lt.d.ts +2 -0
  476. package/dist/compiled/lodash/fp/lte.d.ts +2 -0
  477. package/dist/compiled/lodash/fp/map.d.ts +2 -0
  478. package/dist/compiled/lodash/fp/mapKeys.d.ts +2 -0
  479. package/dist/compiled/lodash/fp/mapValues.d.ts +2 -0
  480. package/dist/compiled/lodash/fp/matches.d.ts +2 -0
  481. package/dist/compiled/lodash/fp/matchesProperty.d.ts +2 -0
  482. package/dist/compiled/lodash/fp/max.d.ts +2 -0
  483. package/dist/compiled/lodash/fp/maxBy.d.ts +2 -0
  484. package/dist/compiled/lodash/fp/mean.d.ts +2 -0
  485. package/dist/compiled/lodash/fp/meanBy.d.ts +2 -0
  486. package/dist/compiled/lodash/fp/memoize.d.ts +2 -0
  487. package/dist/compiled/lodash/fp/merge.d.ts +2 -0
  488. package/dist/compiled/lodash/fp/mergeAll.d.ts +2 -0
  489. package/dist/compiled/lodash/fp/mergeAllWith.d.ts +2 -0
  490. package/dist/compiled/lodash/fp/mergeWith.d.ts +2 -0
  491. package/dist/compiled/lodash/fp/method.d.ts +2 -0
  492. package/dist/compiled/lodash/fp/methodOf.d.ts +2 -0
  493. package/dist/compiled/lodash/fp/min.d.ts +2 -0
  494. package/dist/compiled/lodash/fp/minBy.d.ts +2 -0
  495. package/dist/compiled/lodash/fp/multiply.d.ts +2 -0
  496. package/dist/compiled/lodash/fp/nAry.d.ts +2 -0
  497. package/dist/compiled/lodash/fp/negate.d.ts +2 -0
  498. package/dist/compiled/lodash/fp/noConflict.d.ts +2 -0
  499. package/dist/compiled/lodash/fp/noop.d.ts +2 -0
  500. package/dist/compiled/lodash/fp/now.d.ts +2 -0
  501. package/dist/compiled/lodash/fp/nth.d.ts +2 -0
  502. package/dist/compiled/lodash/fp/nthArg.d.ts +2 -0
  503. package/dist/compiled/lodash/fp/omit.d.ts +2 -0
  504. package/dist/compiled/lodash/fp/omitAll.d.ts +2 -0
  505. package/dist/compiled/lodash/fp/omitBy.d.ts +2 -0
  506. package/dist/compiled/lodash/fp/once.d.ts +2 -0
  507. package/dist/compiled/lodash/fp/orderBy.d.ts +2 -0
  508. package/dist/compiled/lodash/fp/over.d.ts +2 -0
  509. package/dist/compiled/lodash/fp/overArgs.d.ts +2 -0
  510. package/dist/compiled/lodash/fp/overEvery.d.ts +2 -0
  511. package/dist/compiled/lodash/fp/overSome.d.ts +2 -0
  512. package/dist/compiled/lodash/fp/pad.d.ts +2 -0
  513. package/dist/compiled/lodash/fp/padChars.d.ts +2 -0
  514. package/dist/compiled/lodash/fp/padCharsEnd.d.ts +2 -0
  515. package/dist/compiled/lodash/fp/padCharsStart.d.ts +2 -0
  516. package/dist/compiled/lodash/fp/padEnd.d.ts +2 -0
  517. package/dist/compiled/lodash/fp/padStart.d.ts +2 -0
  518. package/dist/compiled/lodash/fp/parseInt.d.ts +2 -0
  519. package/dist/compiled/lodash/fp/partial.d.ts +2 -0
  520. package/dist/compiled/lodash/fp/partialRight.d.ts +2 -0
  521. package/dist/compiled/lodash/fp/partition.d.ts +2 -0
  522. package/dist/compiled/lodash/fp/path.d.ts +2 -0
  523. package/dist/compiled/lodash/fp/pathEq.d.ts +2 -0
  524. package/dist/compiled/lodash/fp/pathOr.d.ts +2 -0
  525. package/dist/compiled/lodash/fp/paths.d.ts +2 -0
  526. package/dist/compiled/lodash/fp/pick.d.ts +2 -0
  527. package/dist/compiled/lodash/fp/pickAll.d.ts +2 -0
  528. package/dist/compiled/lodash/fp/pickBy.d.ts +2 -0
  529. package/dist/compiled/lodash/fp/pipe.d.ts +2 -0
  530. package/dist/compiled/lodash/fp/placeholder.d.ts +3 -0
  531. package/dist/compiled/lodash/fp/pluck.d.ts +2 -0
  532. package/dist/compiled/lodash/fp/prop.d.ts +2 -0
  533. package/dist/compiled/lodash/fp/propEq.d.ts +2 -0
  534. package/dist/compiled/lodash/fp/propOr.d.ts +2 -0
  535. package/dist/compiled/lodash/fp/property.d.ts +2 -0
  536. package/dist/compiled/lodash/fp/propertyOf.d.ts +2 -0
  537. package/dist/compiled/lodash/fp/props.d.ts +2 -0
  538. package/dist/compiled/lodash/fp/pull.d.ts +2 -0
  539. package/dist/compiled/lodash/fp/pullAll.d.ts +2 -0
  540. package/dist/compiled/lodash/fp/pullAllBy.d.ts +2 -0
  541. package/dist/compiled/lodash/fp/pullAllWith.d.ts +2 -0
  542. package/dist/compiled/lodash/fp/pullAt.d.ts +2 -0
  543. package/dist/compiled/lodash/fp/random.d.ts +2 -0
  544. package/dist/compiled/lodash/fp/range.d.ts +2 -0
  545. package/dist/compiled/lodash/fp/rangeRight.d.ts +2 -0
  546. package/dist/compiled/lodash/fp/rangeStep.d.ts +2 -0
  547. package/dist/compiled/lodash/fp/rangeStepRight.d.ts +2 -0
  548. package/dist/compiled/lodash/fp/rearg.d.ts +2 -0
  549. package/dist/compiled/lodash/fp/reduce.d.ts +2 -0
  550. package/dist/compiled/lodash/fp/reduceRight.d.ts +2 -0
  551. package/dist/compiled/lodash/fp/reject.d.ts +2 -0
  552. package/dist/compiled/lodash/fp/remove.d.ts +2 -0
  553. package/dist/compiled/lodash/fp/repeat.d.ts +2 -0
  554. package/dist/compiled/lodash/fp/replace.d.ts +2 -0
  555. package/dist/compiled/lodash/fp/rest.d.ts +2 -0
  556. package/dist/compiled/lodash/fp/restFrom.d.ts +2 -0
  557. package/dist/compiled/lodash/fp/result.d.ts +2 -0
  558. package/dist/compiled/lodash/fp/reverse.d.ts +2 -0
  559. package/dist/compiled/lodash/fp/round.d.ts +2 -0
  560. package/dist/compiled/lodash/fp/runInContext.d.ts +2 -0
  561. package/dist/compiled/lodash/fp/sample.d.ts +2 -0
  562. package/dist/compiled/lodash/fp/sampleSize.d.ts +2 -0
  563. package/dist/compiled/lodash/fp/set.d.ts +2 -0
  564. package/dist/compiled/lodash/fp/setWith.d.ts +2 -0
  565. package/dist/compiled/lodash/fp/shuffle.d.ts +2 -0
  566. package/dist/compiled/lodash/fp/size.d.ts +2 -0
  567. package/dist/compiled/lodash/fp/slice.d.ts +2 -0
  568. package/dist/compiled/lodash/fp/snakeCase.d.ts +2 -0
  569. package/dist/compiled/lodash/fp/some.d.ts +2 -0
  570. package/dist/compiled/lodash/fp/sortBy.d.ts +2 -0
  571. package/dist/compiled/lodash/fp/sortedIndex.d.ts +2 -0
  572. package/dist/compiled/lodash/fp/sortedIndexBy.d.ts +2 -0
  573. package/dist/compiled/lodash/fp/sortedIndexOf.d.ts +2 -0
  574. package/dist/compiled/lodash/fp/sortedLastIndex.d.ts +2 -0
  575. package/dist/compiled/lodash/fp/sortedLastIndexBy.d.ts +2 -0
  576. package/dist/compiled/lodash/fp/sortedLastIndexOf.d.ts +2 -0
  577. package/dist/compiled/lodash/fp/sortedUniq.d.ts +2 -0
  578. package/dist/compiled/lodash/fp/sortedUniqBy.d.ts +2 -0
  579. package/dist/compiled/lodash/fp/split.d.ts +2 -0
  580. package/dist/compiled/lodash/fp/spread.d.ts +2 -0
  581. package/dist/compiled/lodash/fp/spreadFrom.d.ts +2 -0
  582. package/dist/compiled/lodash/fp/startCase.d.ts +2 -0
  583. package/dist/compiled/lodash/fp/startsWith.d.ts +2 -0
  584. package/dist/compiled/lodash/fp/stubArray.d.ts +2 -0
  585. package/dist/compiled/lodash/fp/stubFalse.d.ts +2 -0
  586. package/dist/compiled/lodash/fp/stubObject.d.ts +2 -0
  587. package/dist/compiled/lodash/fp/stubString.d.ts +2 -0
  588. package/dist/compiled/lodash/fp/stubTrue.d.ts +2 -0
  589. package/dist/compiled/lodash/fp/subtract.d.ts +2 -0
  590. package/dist/compiled/lodash/fp/sum.d.ts +2 -0
  591. package/dist/compiled/lodash/fp/sumBy.d.ts +2 -0
  592. package/dist/compiled/lodash/fp/symmetricDifference.d.ts +2 -0
  593. package/dist/compiled/lodash/fp/symmetricDifferenceBy.d.ts +2 -0
  594. package/dist/compiled/lodash/fp/symmetricDifferenceWith.d.ts +2 -0
  595. package/dist/compiled/lodash/fp/tail.d.ts +2 -0
  596. package/dist/compiled/lodash/fp/take.d.ts +2 -0
  597. package/dist/compiled/lodash/fp/takeLast.d.ts +2 -0
  598. package/dist/compiled/lodash/fp/takeLastWhile.d.ts +2 -0
  599. package/dist/compiled/lodash/fp/takeRight.d.ts +2 -0
  600. package/dist/compiled/lodash/fp/takeRightWhile.d.ts +2 -0
  601. package/dist/compiled/lodash/fp/takeWhile.d.ts +2 -0
  602. package/dist/compiled/lodash/fp/tap.d.ts +2 -0
  603. package/dist/compiled/lodash/fp/template.d.ts +2 -0
  604. package/dist/compiled/lodash/fp/throttle.d.ts +2 -0
  605. package/dist/compiled/lodash/fp/thru.d.ts +2 -0
  606. package/dist/compiled/lodash/fp/times.d.ts +2 -0
  607. package/dist/compiled/lodash/fp/toArray.d.ts +2 -0
  608. package/dist/compiled/lodash/fp/toFinite.d.ts +2 -0
  609. package/dist/compiled/lodash/fp/toInteger.d.ts +2 -0
  610. package/dist/compiled/lodash/fp/toLength.d.ts +2 -0
  611. package/dist/compiled/lodash/fp/toLower.d.ts +2 -0
  612. package/dist/compiled/lodash/fp/toNumber.d.ts +2 -0
  613. package/dist/compiled/lodash/fp/toPairs.d.ts +2 -0
  614. package/dist/compiled/lodash/fp/toPairsIn.d.ts +2 -0
  615. package/dist/compiled/lodash/fp/toPath.d.ts +2 -0
  616. package/dist/compiled/lodash/fp/toPlainObject.d.ts +2 -0
  617. package/dist/compiled/lodash/fp/toSafeInteger.d.ts +2 -0
  618. package/dist/compiled/lodash/fp/toString.d.ts +2 -0
  619. package/dist/compiled/lodash/fp/toUpper.d.ts +2 -0
  620. package/dist/compiled/lodash/fp/transform.d.ts +2 -0
  621. package/dist/compiled/lodash/fp/trim.d.ts +2 -0
  622. package/dist/compiled/lodash/fp/trimChars.d.ts +2 -0
  623. package/dist/compiled/lodash/fp/trimCharsEnd.d.ts +2 -0
  624. package/dist/compiled/lodash/fp/trimCharsStart.d.ts +2 -0
  625. package/dist/compiled/lodash/fp/trimEnd.d.ts +2 -0
  626. package/dist/compiled/lodash/fp/trimStart.d.ts +2 -0
  627. package/dist/compiled/lodash/fp/truncate.d.ts +2 -0
  628. package/dist/compiled/lodash/fp/unapply.d.ts +2 -0
  629. package/dist/compiled/lodash/fp/unary.d.ts +2 -0
  630. package/dist/compiled/lodash/fp/unescape.d.ts +2 -0
  631. package/dist/compiled/lodash/fp/union.d.ts +2 -0
  632. package/dist/compiled/lodash/fp/unionBy.d.ts +2 -0
  633. package/dist/compiled/lodash/fp/unionWith.d.ts +2 -0
  634. package/dist/compiled/lodash/fp/uniq.d.ts +2 -0
  635. package/dist/compiled/lodash/fp/uniqBy.d.ts +2 -0
  636. package/dist/compiled/lodash/fp/uniqWith.d.ts +2 -0
  637. package/dist/compiled/lodash/fp/uniqueId.d.ts +2 -0
  638. package/dist/compiled/lodash/fp/unnest.d.ts +2 -0
  639. package/dist/compiled/lodash/fp/unset.d.ts +2 -0
  640. package/dist/compiled/lodash/fp/unzip.d.ts +2 -0
  641. package/dist/compiled/lodash/fp/unzipWith.d.ts +2 -0
  642. package/dist/compiled/lodash/fp/update.d.ts +2 -0
  643. package/dist/compiled/lodash/fp/updateWith.d.ts +2 -0
  644. package/dist/compiled/lodash/fp/upperCase.d.ts +2 -0
  645. package/dist/compiled/lodash/fp/upperFirst.d.ts +2 -0
  646. package/dist/compiled/lodash/fp/useWith.d.ts +2 -0
  647. package/dist/compiled/lodash/fp/values.d.ts +2 -0
  648. package/dist/compiled/lodash/fp/valuesIn.d.ts +2 -0
  649. package/dist/compiled/lodash/fp/where.d.ts +2 -0
  650. package/dist/compiled/lodash/fp/whereEq.d.ts +2 -0
  651. package/dist/compiled/lodash/fp/without.d.ts +2 -0
  652. package/dist/compiled/lodash/fp/words.d.ts +2 -0
  653. package/dist/compiled/lodash/fp/wrap.d.ts +2 -0
  654. package/dist/compiled/lodash/fp/xor.d.ts +2 -0
  655. package/dist/compiled/lodash/fp/xorBy.d.ts +2 -0
  656. package/dist/compiled/lodash/fp/xorWith.d.ts +2 -0
  657. package/dist/compiled/lodash/fp/zip.d.ts +2 -0
  658. package/dist/compiled/lodash/fp/zipAll.d.ts +2 -0
  659. package/dist/compiled/lodash/fp/zipObj.d.ts +2 -0
  660. package/dist/compiled/lodash/fp/zipObject.d.ts +2 -0
  661. package/dist/compiled/lodash/fp/zipObjectDeep.d.ts +2 -0
  662. package/dist/compiled/lodash/fp/zipWith.d.ts +2 -0
  663. package/dist/compiled/lodash/fp.d.ts +4962 -0
  664. package/dist/compiled/lodash/fromPairs.d.ts +2 -0
  665. package/dist/compiled/lodash/functions.d.ts +2 -0
  666. package/dist/compiled/lodash/functionsIn.d.ts +2 -0
  667. package/dist/compiled/lodash/get.d.ts +2 -0
  668. package/dist/compiled/lodash/groupBy.d.ts +2 -0
  669. package/dist/compiled/lodash/gt.d.ts +2 -0
  670. package/dist/compiled/lodash/gte.d.ts +2 -0
  671. package/dist/compiled/lodash/has.d.ts +2 -0
  672. package/dist/compiled/lodash/hasIn.d.ts +2 -0
  673. package/dist/compiled/lodash/head.d.ts +2 -0
  674. package/dist/compiled/lodash/identity.d.ts +2 -0
  675. package/dist/compiled/lodash/inRange.d.ts +2 -0
  676. package/dist/compiled/lodash/includes.d.ts +2 -0
  677. package/dist/compiled/lodash/index.d.ts +1 -16
  678. package/dist/compiled/lodash/indexOf.d.ts +2 -0
  679. package/dist/compiled/lodash/initial.d.ts +2 -0
  680. package/dist/compiled/lodash/intersection.d.ts +2 -0
  681. package/dist/compiled/lodash/intersectionBy.d.ts +2 -0
  682. package/dist/compiled/lodash/intersectionWith.d.ts +2 -0
  683. package/dist/compiled/lodash/invert.d.ts +2 -0
  684. package/dist/compiled/lodash/invertBy.d.ts +2 -0
  685. package/dist/compiled/lodash/invoke.d.ts +2 -0
  686. package/dist/compiled/lodash/invokeMap.d.ts +2 -0
  687. package/dist/compiled/lodash/isArguments.d.ts +2 -0
  688. package/dist/compiled/lodash/isArray.d.ts +2 -0
  689. package/dist/compiled/lodash/isArrayBuffer.d.ts +2 -0
  690. package/dist/compiled/lodash/isArrayLike.d.ts +2 -0
  691. package/dist/compiled/lodash/isArrayLikeObject.d.ts +2 -0
  692. package/dist/compiled/lodash/isBoolean.d.ts +2 -0
  693. package/dist/compiled/lodash/isBuffer.d.ts +2 -0
  694. package/dist/compiled/lodash/isDate.d.ts +2 -0
  695. package/dist/compiled/lodash/isElement.d.ts +2 -0
  696. package/dist/compiled/lodash/isEmpty.d.ts +2 -0
  697. package/dist/compiled/lodash/isEqual.d.ts +2 -0
  698. package/dist/compiled/lodash/isEqualWith.d.ts +2 -0
  699. package/dist/compiled/lodash/isError.d.ts +2 -0
  700. package/dist/compiled/lodash/isFinite.d.ts +2 -0
  701. package/dist/compiled/lodash/isFunction.d.ts +2 -0
  702. package/dist/compiled/lodash/isInteger.d.ts +2 -0
  703. package/dist/compiled/lodash/isLength.d.ts +2 -0
  704. package/dist/compiled/lodash/isMap.d.ts +2 -0
  705. package/dist/compiled/lodash/isMatch.d.ts +2 -0
  706. package/dist/compiled/lodash/isMatchWith.d.ts +2 -0
  707. package/dist/compiled/lodash/isNaN.d.ts +2 -0
  708. package/dist/compiled/lodash/isNative.d.ts +2 -0
  709. package/dist/compiled/lodash/isNil.d.ts +2 -0
  710. package/dist/compiled/lodash/isNull.d.ts +2 -0
  711. package/dist/compiled/lodash/isNumber.d.ts +2 -0
  712. package/dist/compiled/lodash/isObject.d.ts +2 -0
  713. package/dist/compiled/lodash/isObjectLike.d.ts +2 -0
  714. package/dist/compiled/lodash/isPlainObject.d.ts +2 -0
  715. package/dist/compiled/lodash/isRegExp.d.ts +2 -0
  716. package/dist/compiled/lodash/isSafeInteger.d.ts +2 -0
  717. package/dist/compiled/lodash/isSet.d.ts +2 -0
  718. package/dist/compiled/lodash/isString.d.ts +2 -0
  719. package/dist/compiled/lodash/isSymbol.d.ts +2 -0
  720. package/dist/compiled/lodash/isTypedArray.d.ts +2 -0
  721. package/dist/compiled/lodash/isUndefined.d.ts +2 -0
  722. package/dist/compiled/lodash/isWeakMap.d.ts +2 -0
  723. package/dist/compiled/lodash/isWeakSet.d.ts +2 -0
  724. package/dist/compiled/lodash/iteratee.d.ts +2 -0
  725. package/dist/compiled/lodash/join.d.ts +2 -0
  726. package/dist/compiled/lodash/kebabCase.d.ts +2 -0
  727. package/dist/compiled/lodash/keyBy.d.ts +2 -0
  728. package/dist/compiled/lodash/keys.d.ts +2 -0
  729. package/dist/compiled/lodash/keysIn.d.ts +2 -0
  730. package/dist/compiled/lodash/last.d.ts +2 -0
  731. package/dist/compiled/lodash/lastIndexOf.d.ts +2 -0
  732. package/dist/compiled/lodash/licenses-cjs.txt +49 -0
  733. package/dist/compiled/lodash/lowerCase.d.ts +2 -0
  734. package/dist/compiled/lodash/lowerFirst.d.ts +2 -0
  735. package/dist/compiled/lodash/lt.d.ts +2 -0
  736. package/dist/compiled/lodash/lte.d.ts +2 -0
  737. package/dist/compiled/lodash/map.d.ts +2 -0
  738. package/dist/compiled/lodash/mapKeys.d.ts +2 -0
  739. package/dist/compiled/lodash/mapValues.d.ts +2 -0
  740. package/dist/compiled/lodash/matches.d.ts +2 -0
  741. package/dist/compiled/lodash/matchesProperty.d.ts +2 -0
  742. package/dist/compiled/lodash/max.d.ts +2 -0
  743. package/dist/compiled/lodash/maxBy.d.ts +2 -0
  744. package/dist/compiled/lodash/mean.d.ts +2 -0
  745. package/dist/compiled/lodash/meanBy.d.ts +2 -0
  746. package/dist/compiled/lodash/memoize.d.ts +2 -0
  747. package/dist/compiled/lodash/merge.d.ts +2 -0
  748. package/dist/compiled/lodash/mergeWith.d.ts +2 -0
  749. package/dist/compiled/lodash/method.d.ts +2 -0
  750. package/dist/compiled/lodash/methodOf.d.ts +2 -0
  751. package/dist/compiled/lodash/min.d.ts +2 -0
  752. package/dist/compiled/lodash/minBy.d.ts +2 -0
  753. package/dist/compiled/lodash/mixin.d.ts +2 -0
  754. package/dist/compiled/lodash/multiply.d.ts +2 -0
  755. package/dist/compiled/lodash/negate.d.ts +2 -0
  756. package/dist/compiled/lodash/noConflict.d.ts +2 -0
  757. package/dist/compiled/lodash/noop.d.ts +2 -0
  758. package/dist/compiled/lodash/now.d.ts +2 -0
  759. package/dist/compiled/lodash/nth.d.ts +2 -0
  760. package/dist/compiled/lodash/nthArg.d.ts +2 -0
  761. package/dist/compiled/lodash/omit.d.ts +2 -0
  762. package/dist/compiled/lodash/omitBy.d.ts +2 -0
  763. package/dist/compiled/lodash/once.d.ts +2 -0
  764. package/dist/compiled/lodash/orderBy.d.ts +2 -0
  765. package/dist/compiled/lodash/over.d.ts +2 -0
  766. package/dist/compiled/lodash/overArgs.d.ts +2 -0
  767. package/dist/compiled/lodash/overEvery.d.ts +2 -0
  768. package/dist/compiled/lodash/overSome.d.ts +2 -0
  769. package/dist/compiled/lodash/package.json +1 -1
  770. package/dist/compiled/lodash/pad.d.ts +2 -0
  771. package/dist/compiled/lodash/padEnd.d.ts +2 -0
  772. package/dist/compiled/lodash/padStart.d.ts +2 -0
  773. package/dist/compiled/lodash/parseInt.d.ts +2 -0
  774. package/dist/compiled/lodash/partial.d.ts +2 -0
  775. package/dist/compiled/lodash/partialRight.d.ts +2 -0
  776. package/dist/compiled/lodash/partition.d.ts +2 -0
  777. package/dist/compiled/lodash/pick.d.ts +2 -0
  778. package/dist/compiled/lodash/pickBy.d.ts +2 -0
  779. package/dist/compiled/lodash/property.d.ts +2 -0
  780. package/dist/compiled/lodash/propertyOf.d.ts +2 -0
  781. package/dist/compiled/lodash/provenance.json +19 -0
  782. package/dist/compiled/lodash/pull.d.ts +2 -0
  783. package/dist/compiled/lodash/pullAll.d.ts +2 -0
  784. package/dist/compiled/lodash/pullAllBy.d.ts +2 -0
  785. package/dist/compiled/lodash/pullAllWith.d.ts +2 -0
  786. package/dist/compiled/lodash/pullAt.d.ts +2 -0
  787. package/dist/compiled/lodash/random.d.ts +2 -0
  788. package/dist/compiled/lodash/range.d.ts +2 -0
  789. package/dist/compiled/lodash/rangeRight.d.ts +2 -0
  790. package/dist/compiled/lodash/rearg.d.ts +2 -0
  791. package/dist/compiled/lodash/reduce.d.ts +2 -0
  792. package/dist/compiled/lodash/reduceRight.d.ts +2 -0
  793. package/dist/compiled/lodash/reject.d.ts +2 -0
  794. package/dist/compiled/lodash/remove.d.ts +2 -0
  795. package/dist/compiled/lodash/repeat.d.ts +2 -0
  796. package/dist/compiled/lodash/replace.d.ts +2 -0
  797. package/dist/compiled/lodash/rest.d.ts +2 -0
  798. package/dist/compiled/lodash/result.d.ts +2 -0
  799. package/dist/compiled/lodash/reverse.d.ts +2 -0
  800. package/dist/compiled/lodash/round.d.ts +2 -0
  801. package/dist/compiled/lodash/runInContext.d.ts +2 -0
  802. package/dist/compiled/lodash/sample.d.ts +2 -0
  803. package/dist/compiled/lodash/sampleSize.d.ts +2 -0
  804. package/dist/compiled/lodash/set.d.ts +2 -0
  805. package/dist/compiled/lodash/setWith.d.ts +2 -0
  806. package/dist/compiled/lodash/shuffle.d.ts +2 -0
  807. package/dist/compiled/lodash/size.d.ts +2 -0
  808. package/dist/compiled/lodash/slice.d.ts +2 -0
  809. package/dist/compiled/lodash/snakeCase.d.ts +2 -0
  810. package/dist/compiled/lodash/some.d.ts +2 -0
  811. package/dist/compiled/lodash/sortBy.d.ts +2 -0
  812. package/dist/compiled/lodash/sortedIndex.d.ts +2 -0
  813. package/dist/compiled/lodash/sortedIndexBy.d.ts +2 -0
  814. package/dist/compiled/lodash/sortedIndexOf.d.ts +2 -0
  815. package/dist/compiled/lodash/sortedLastIndex.d.ts +2 -0
  816. package/dist/compiled/lodash/sortedLastIndexBy.d.ts +2 -0
  817. package/dist/compiled/lodash/sortedLastIndexOf.d.ts +2 -0
  818. package/dist/compiled/lodash/sortedUniq.d.ts +2 -0
  819. package/dist/compiled/lodash/sortedUniqBy.d.ts +2 -0
  820. package/dist/compiled/lodash/split.d.ts +2 -0
  821. package/dist/compiled/lodash/spread.d.ts +2 -0
  822. package/dist/compiled/lodash/startCase.d.ts +2 -0
  823. package/dist/compiled/lodash/startsWith.d.ts +2 -0
  824. package/dist/compiled/lodash/stubArray.d.ts +2 -0
  825. package/dist/compiled/lodash/stubFalse.d.ts +2 -0
  826. package/dist/compiled/lodash/stubObject.d.ts +2 -0
  827. package/dist/compiled/lodash/stubString.d.ts +2 -0
  828. package/dist/compiled/lodash/stubTrue.d.ts +2 -0
  829. package/dist/compiled/lodash/subtract.d.ts +2 -0
  830. package/dist/compiled/lodash/sum.d.ts +2 -0
  831. package/dist/compiled/lodash/sumBy.d.ts +2 -0
  832. package/dist/compiled/lodash/tail.d.ts +2 -0
  833. package/dist/compiled/lodash/take.d.ts +2 -0
  834. package/dist/compiled/lodash/takeRight.d.ts +2 -0
  835. package/dist/compiled/lodash/takeRightWhile.d.ts +2 -0
  836. package/dist/compiled/lodash/takeWhile.d.ts +2 -0
  837. package/dist/compiled/lodash/tap.d.ts +2 -0
  838. package/dist/compiled/lodash/template.d.ts +2 -0
  839. package/dist/compiled/lodash/throttle.d.ts +2 -0
  840. package/dist/compiled/lodash/thru.d.ts +2 -0
  841. package/dist/compiled/lodash/times.d.ts +2 -0
  842. package/dist/compiled/lodash/toArray.d.ts +2 -0
  843. package/dist/compiled/lodash/toFinite.d.ts +2 -0
  844. package/dist/compiled/lodash/toInteger.d.ts +2 -0
  845. package/dist/compiled/lodash/toLength.d.ts +2 -0
  846. package/dist/compiled/lodash/toLower.d.ts +2 -0
  847. package/dist/compiled/lodash/toNumber.d.ts +2 -0
  848. package/dist/compiled/lodash/toPairs.d.ts +2 -0
  849. package/dist/compiled/lodash/toPairsIn.d.ts +2 -0
  850. package/dist/compiled/lodash/toPath.d.ts +2 -0
  851. package/dist/compiled/lodash/toPlainObject.d.ts +2 -0
  852. package/dist/compiled/lodash/toSafeInteger.d.ts +2 -0
  853. package/dist/compiled/lodash/toString.d.ts +2 -0
  854. package/dist/compiled/lodash/toUpper.d.ts +2 -0
  855. package/dist/compiled/lodash/transform.d.ts +2 -0
  856. package/dist/compiled/lodash/trim.d.ts +2 -0
  857. package/dist/compiled/lodash/trimEnd.d.ts +2 -0
  858. package/dist/compiled/lodash/trimStart.d.ts +2 -0
  859. package/dist/compiled/lodash/truncate.d.ts +2 -0
  860. package/dist/compiled/lodash/unary.d.ts +2 -0
  861. package/dist/compiled/lodash/unescape.d.ts +2 -0
  862. package/dist/compiled/lodash/union.d.ts +2 -0
  863. package/dist/compiled/lodash/unionBy.d.ts +2 -0
  864. package/dist/compiled/lodash/unionWith.d.ts +2 -0
  865. package/dist/compiled/lodash/uniq.d.ts +2 -0
  866. package/dist/compiled/lodash/uniqBy.d.ts +2 -0
  867. package/dist/compiled/lodash/uniqWith.d.ts +2 -0
  868. package/dist/compiled/lodash/uniqueId.d.ts +2 -0
  869. package/dist/compiled/lodash/unset.d.ts +2 -0
  870. package/dist/compiled/lodash/unzip.d.ts +2 -0
  871. package/dist/compiled/lodash/unzipWith.d.ts +2 -0
  872. package/dist/compiled/lodash/update.d.ts +2 -0
  873. package/dist/compiled/lodash/updateWith.d.ts +2 -0
  874. package/dist/compiled/lodash/upperCase.d.ts +2 -0
  875. package/dist/compiled/lodash/upperFirst.d.ts +2 -0
  876. package/dist/compiled/lodash/values.d.ts +2 -0
  877. package/dist/compiled/lodash/valuesIn.d.ts +2 -0
  878. package/dist/compiled/lodash/without.d.ts +2 -0
  879. package/dist/compiled/lodash/words.d.ts +2 -0
  880. package/dist/compiled/lodash/wrap.d.ts +2 -0
  881. package/dist/compiled/lodash/xor.d.ts +2 -0
  882. package/dist/compiled/lodash/xorBy.d.ts +2 -0
  883. package/dist/compiled/lodash/xorWith.d.ts +2 -0
  884. package/dist/compiled/lodash/zip.d.ts +2 -0
  885. package/dist/compiled/lodash/zipObject.d.ts +2 -0
  886. package/dist/compiled/lodash/zipObjectDeep.d.ts +2 -0
  887. package/dist/compiled/lodash/zipWith.d.ts +2 -0
  888. package/dist/compiled/mime-types/declaration-licenses/@types_mime-types/LICENSE +21 -0
  889. package/dist/compiled/mime-types/index.d.ts +15 -12
  890. package/dist/compiled/mime-types/index.js +74 -28
  891. package/dist/compiled/mime-types/licenses-cjs.txt +52 -0
  892. package/dist/compiled/mime-types/package.json +1 -1
  893. package/dist/compiled/mime-types/provenance.json +19 -0
  894. package/dist/compiled/minimist/declaration-licenses/@types_minimist/LICENSE +21 -0
  895. package/dist/compiled/minimist/index.d.ts +3 -11
  896. package/dist/compiled/minimist/index.js +103 -104
  897. package/dist/compiled/minimist/licenses-cjs.txt +20 -0
  898. package/dist/compiled/minimist/package.json +1 -1
  899. package/dist/compiled/minimist/provenance.json +22 -0
  900. package/dist/compiled/nanoid/LICENSE +20 -0
  901. package/dist/compiled/nanoid/declaration-licenses/nanoid/LICENSE +20 -0
  902. package/dist/compiled/nanoid/index.d.mts +108 -0
  903. package/dist/compiled/nanoid/index.d.ts +33 -16
  904. package/dist/compiled/nanoid/index.js +117 -74
  905. package/dist/compiled/nanoid/index.mjs +99 -49
  906. package/dist/compiled/nanoid/licenses-cjs.txt +22 -0
  907. package/dist/compiled/nanoid/licenses-esm.txt +22 -0
  908. package/dist/compiled/nanoid/package.json +1 -1
  909. package/dist/compiled/nanoid/provenance.json +19 -0
  910. package/dist/compiled/ora/declaration-licenses/cli-spinners/license +9 -0
  911. package/dist/compiled/ora/declaration-licenses/ora/license +9 -0
  912. package/dist/compiled/ora/index.d.mts +501 -0
  913. package/dist/compiled/ora/index.d.ts +428 -204
  914. package/dist/compiled/ora/index.js +2145 -3893
  915. package/dist/compiled/ora/index.mjs +2179 -0
  916. package/dist/compiled/ora/licenses-cjs.txt +226 -0
  917. package/dist/compiled/ora/licenses-esm.txt +226 -0
  918. package/dist/compiled/ora/package.json +1 -1
  919. package/dist/compiled/ora/provenance.json +24 -0
  920. package/dist/compiled/pkg-up/declaration-licenses/@modern-js_compiled-pkg-up/license +9 -0
  921. package/dist/compiled/pkg-up/index.d.ts +9 -9
  922. package/dist/compiled/pkg-up/index.js +47 -14
  923. package/dist/compiled/pkg-up/licenses-cjs.txt +11 -0
  924. package/dist/compiled/pkg-up/package.json +1 -1
  925. package/dist/compiled/pkg-up/provenance.json +18 -0
  926. package/dist/compiled/semver/classes/comparator.d.ts +3 -3
  927. package/dist/compiled/semver/classes/range.d.ts +6 -6
  928. package/dist/compiled/semver/classes/semver.d.ts +11 -4
  929. package/dist/compiled/semver/declaration-licenses/@types_semver/LICENSE +21 -0
  930. package/dist/compiled/semver/functions/clean.d.ts +1 -1
  931. package/dist/compiled/semver/functions/cmp.d.ts +2 -2
  932. package/dist/compiled/semver/functions/coerce.d.ts +2 -2
  933. package/dist/compiled/semver/functions/compare-build.d.ts +7 -2
  934. package/dist/compiled/semver/functions/compare-loose.d.ts +4 -1
  935. package/dist/compiled/semver/functions/compare.d.ts +2 -2
  936. package/dist/compiled/semver/functions/diff.d.ts +3 -7
  937. package/dist/compiled/semver/functions/eq.d.ts +2 -2
  938. package/dist/compiled/semver/functions/gt.d.ts +2 -2
  939. package/dist/compiled/semver/functions/gte.d.ts +2 -2
  940. package/dist/compiled/semver/functions/inc.d.ts +15 -4
  941. package/dist/compiled/semver/functions/lt.d.ts +2 -2
  942. package/dist/compiled/semver/functions/lte.d.ts +2 -2
  943. package/dist/compiled/semver/functions/major.d.ts +2 -2
  944. package/dist/compiled/semver/functions/minor.d.ts +2 -2
  945. package/dist/compiled/semver/functions/neq.d.ts +2 -2
  946. package/dist/compiled/semver/functions/parse.d.ts +15 -4
  947. package/dist/compiled/semver/functions/patch.d.ts +2 -2
  948. package/dist/compiled/semver/functions/prerelease.d.ts +2 -2
  949. package/dist/compiled/semver/functions/rcompare.d.ts +2 -2
  950. package/dist/compiled/semver/functions/rsort.d.ts +2 -2
  951. package/dist/compiled/semver/functions/satisfies.d.ts +4 -4
  952. package/dist/compiled/semver/functions/sort.d.ts +2 -2
  953. package/dist/compiled/semver/functions/truncate.d.ts +10 -0
  954. package/dist/compiled/semver/functions/valid.d.ts +2 -2
  955. package/dist/compiled/semver/index.d.ts +82 -77
  956. package/dist/compiled/semver/index.js +639 -1026
  957. package/dist/compiled/semver/licenses-cjs.txt +17 -0
  958. package/dist/compiled/semver/package.json +1 -1
  959. package/dist/compiled/semver/preload.d.ts +2 -0
  960. package/dist/compiled/semver/provenance.json +22 -0
  961. package/dist/compiled/semver/ranges/gtr.d.ts +4 -4
  962. package/dist/compiled/semver/ranges/intersects.d.ts +3 -3
  963. package/dist/compiled/semver/ranges/ltr.d.ts +4 -4
  964. package/dist/compiled/semver/ranges/max-satisfying.d.ts +5 -5
  965. package/dist/compiled/semver/ranges/min-satisfying.d.ts +5 -5
  966. package/dist/compiled/semver/ranges/min-version.d.ts +3 -3
  967. package/dist/compiled/semver/ranges/outside.d.ts +5 -5
  968. package/dist/compiled/semver/ranges/simplify.d.ts +2 -2
  969. package/dist/compiled/semver/ranges/subset.d.ts +3 -7
  970. package/dist/compiled/semver/ranges/to-comparators.d.ts +2 -2
  971. package/dist/compiled/semver/ranges/valid.d.ts +3 -3
  972. package/dist/compiled/signale/declaration-licenses/@types_signale/LICENSE +21 -0
  973. package/dist/compiled/signale/index.d.ts +22 -29
  974. package/dist/compiled/signale/index.js +2934 -613
  975. package/dist/compiled/signale/license.md +21 -0
  976. package/dist/compiled/signale/licenses-cjs.txt +468 -0
  977. package/dist/compiled/signale/package.json +1 -1
  978. package/dist/compiled/signale/provenance.json +19 -0
  979. package/dist/compiled/slash/declaration-licenses/slash/license +9 -0
  980. package/dist/compiled/slash/index.d.mts +25 -0
  981. package/dist/compiled/slash/index.d.ts +4 -4
  982. package/dist/compiled/slash/index.js +31 -27
  983. package/dist/compiled/slash/index.mjs +25 -0
  984. package/dist/compiled/slash/license +1 -1
  985. package/dist/compiled/slash/licenses-cjs.txt +11 -0
  986. package/dist/compiled/slash/licenses-esm.txt +11 -0
  987. package/dist/compiled/slash/package.json +1 -1
  988. package/dist/compiled/slash/provenance.json +19 -0
  989. package/dist/compiled/strip-ansi/declaration-licenses/strip-ansi/license +9 -0
  990. package/dist/compiled/strip-ansi/index.d.mts +17 -0
  991. package/dist/compiled/strip-ansi/index.d.ts +2 -2
  992. package/dist/compiled/strip-ansi/index.js +39 -29
  993. package/dist/compiled/strip-ansi/index.mjs +33 -0
  994. package/dist/compiled/strip-ansi/license +1 -1
  995. package/dist/compiled/strip-ansi/licenses-cjs.txt +24 -0
  996. package/dist/compiled/strip-ansi/licenses-esm.txt +24 -0
  997. package/dist/compiled/strip-ansi/package.json +1 -1
  998. package/dist/compiled/strip-ansi/provenance.json +19 -0
  999. package/dist/compiled/tsconfig-paths/declaration-licenses/tsconfig-paths/LICENSE +21 -0
  1000. package/dist/compiled/tsconfig-paths/index.d.mts +115 -0
  1001. package/dist/compiled/tsconfig-paths/index.d.ts +115 -0
  1002. package/dist/compiled/tsconfig-paths/index.js +256 -243
  1003. package/dist/compiled/tsconfig-paths/index.mjs +2 -2
  1004. package/dist/compiled/tsconfig-paths/licenses-cjs.txt +48 -0
  1005. package/dist/compiled/tsconfig-paths/package.json +1 -1
  1006. package/dist/compiled/tsconfig-paths/provenance.json +19 -0
  1007. package/dist/compiled/upath/LICENSE +22 -0
  1008. package/dist/compiled/upath/declaration-licenses/upath/LICENSE +22 -0
  1009. package/dist/compiled/upath/index.d.mts +84 -0
  1010. package/dist/compiled/upath/index.d.ts +84 -0
  1011. package/dist/compiled/upath/index.js +173 -110
  1012. package/dist/compiled/upath/index.mjs +236 -0
  1013. package/dist/compiled/upath/licenses-cjs.txt +24 -0
  1014. package/dist/compiled/upath/licenses-esm.txt +24 -0
  1015. package/dist/compiled/upath/package.json +1 -1
  1016. package/dist/compiled/upath/provenance.json +22 -0
  1017. package/dist/compiled/url-join/declaration-licenses/url-join/LICENSE +21 -0
  1018. package/dist/compiled/url-join/index.d.mts +9 -0
  1019. package/dist/compiled/url-join/index.d.ts +3 -11
  1020. package/dist/compiled/url-join/index.js +82 -55
  1021. package/dist/compiled/url-join/index.mjs +77 -0
  1022. package/dist/compiled/url-join/licenses-cjs.txt +23 -0
  1023. package/dist/compiled/url-join/licenses-esm.txt +23 -0
  1024. package/dist/compiled/url-join/package.json +1 -1
  1025. package/dist/compiled/url-join/provenance.json +22 -0
  1026. package/dist/esm/cli/applyOptionsChain.mjs +1 -1
  1027. package/dist/esm/cli/get/config.mjs +1 -1
  1028. package/dist/esm/cli/is/config.mjs +1 -1
  1029. package/dist/esm/cli/require.mjs +4 -5
  1030. package/dist/esm/compiled.mjs +22 -31
  1031. package/dist/esm/fast-glob.mjs +1 -0
  1032. package/dist/esm/watch-options.mjs +0 -0
  1033. package/dist/esm-node/cli/applyOptionsChain.mjs +1 -1
  1034. package/dist/esm-node/cli/get/config.mjs +1 -1
  1035. package/dist/esm-node/cli/is/config.mjs +1 -1
  1036. package/dist/esm-node/cli/require.mjs +4 -5
  1037. package/dist/esm-node/compiled.mjs +22 -30
  1038. package/dist/esm-node/fast-glob.mjs +2 -0
  1039. package/dist/esm-node/watch-options.mjs +1 -0
  1040. package/dist/types/cli/commands.d.ts +1 -1
  1041. package/dist/types/cli/require.d.ts +0 -1
  1042. package/dist/types/compiled.d.ts +29 -28
  1043. package/dist/types/fast-glob.d.ts +1 -0
  1044. package/dist/types/watch-options.d.ts +1 -0
  1045. package/package.json +102 -38
  1046. package/rslib.config.mts +20 -84
  1047. package/dist/compiled/address/lib/address.d.ts +0 -28
  1048. package/dist/compiled/browserslist/license +0 -20
  1049. package/dist/compiled/chokidar/anymatch/index.d.ts +0 -19
  1050. package/dist/compiled/chokidar/fsevents.node +0 -0
  1051. package/dist/compiled/chokidar/license +0 -21
  1052. package/dist/compiled/chokidar/types/index.d.ts +0 -188
  1053. package/dist/compiled/commander/typings/index.d.ts +0 -890
  1054. package/dist/compiled/debug/ms/index.d.ts +0 -25
  1055. package/dist/compiled/dotenv/index.js +0 -101
  1056. package/dist/compiled/dotenv/license +0 -23
  1057. package/dist/compiled/dotenv/package.json +0 -1
  1058. package/dist/compiled/dotenv/types/index.d.ts +0 -59
  1059. package/dist/compiled/dotenv-expand/license +0 -24
  1060. package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/adapters/fs.d.ts +0 -20
  1061. package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/index.d.ts +0 -12
  1062. package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/providers/async.d.ts +0 -7
  1063. package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/settings.d.ts +0 -20
  1064. package/dist/compiled/fast-glob/@nodelib/fs.scandir/out/types/index.d.ts +0 -20
  1065. package/dist/compiled/fast-glob/@nodelib/fs.stat/out/adapters/fs.d.ts +0 -13
  1066. package/dist/compiled/fast-glob/@nodelib/fs.stat/out/index.d.ts +0 -12
  1067. package/dist/compiled/fast-glob/@nodelib/fs.stat/out/providers/async.d.ts +0 -4
  1068. package/dist/compiled/fast-glob/@nodelib/fs.stat/out/settings.d.ts +0 -16
  1069. package/dist/compiled/fast-glob/@nodelib/fs.stat/out/types/index.d.ts +0 -4
  1070. package/dist/compiled/fast-glob/@nodelib/fs.walk/out/index.d.ts +0 -14
  1071. package/dist/compiled/fast-glob/@nodelib/fs.walk/out/providers/async.d.ts +0 -12
  1072. package/dist/compiled/fast-glob/@nodelib/fs.walk/out/readers/async.d.ts +0 -30
  1073. package/dist/compiled/fast-glob/@nodelib/fs.walk/out/readers/reader.d.ts +0 -6
  1074. package/dist/compiled/fast-glob/@nodelib/fs.walk/out/settings.d.ts +0 -30
  1075. package/dist/compiled/fast-glob/@nodelib/fs.walk/out/types/index.d.ts +0 -8
  1076. package/dist/compiled/fast-glob/index.js +0 -4665
  1077. package/dist/compiled/fast-glob/index.js.LICENSE.txt +0 -38
  1078. package/dist/compiled/fast-glob/license +0 -21
  1079. package/dist/compiled/fast-glob/out/index.d.ts +0 -27
  1080. package/dist/compiled/fast-glob/out/managers/tasks.d.ts +0 -22
  1081. package/dist/compiled/fast-glob/out/settings.d.ts +0 -164
  1082. package/dist/compiled/fast-glob/out/types/index.d.ts +0 -31
  1083. package/dist/compiled/fast-glob/package.json +0 -1
  1084. package/dist/compiled/filesize/filesize.d.ts +0 -131
  1085. package/dist/compiled/filesize/license +0 -28
  1086. package/dist/compiled/fs-extra/license +0 -15
  1087. package/dist/compiled/glob/license +0 -21
  1088. package/dist/compiled/glob/minimatch/index.d.ts +0 -204
  1089. package/dist/compiled/inquirer/index.js.LICENSE.txt +0 -7
  1090. package/dist/compiled/inquirer/lib/objects/choice.d.ts +0 -65
  1091. package/dist/compiled/inquirer/lib/objects/choices.d.ts +0 -206
  1092. package/dist/compiled/inquirer/lib/objects/separator.d.ts +0 -37
  1093. package/dist/compiled/inquirer/lib/prompts/base.d.ts +0 -100
  1094. package/dist/compiled/inquirer/lib/prompts/checkbox.d.ts +0 -116
  1095. package/dist/compiled/inquirer/lib/prompts/confirm.d.ts +0 -53
  1096. package/dist/compiled/inquirer/lib/prompts/editor.d.ts +0 -101
  1097. package/dist/compiled/inquirer/lib/prompts/expand.d.ts +0 -149
  1098. package/dist/compiled/inquirer/lib/prompts/input.d.ts +0 -82
  1099. package/dist/compiled/inquirer/lib/prompts/list.d.ts +0 -89
  1100. package/dist/compiled/inquirer/lib/prompts/number.d.ts +0 -32
  1101. package/dist/compiled/inquirer/lib/prompts/password.d.ts +0 -82
  1102. package/dist/compiled/inquirer/lib/prompts/rawlist.d.ts +0 -111
  1103. package/dist/compiled/inquirer/lib/ui/baseUI.d.ts +0 -37
  1104. package/dist/compiled/inquirer/lib/ui/bottom-bar.d.ts +0 -65
  1105. package/dist/compiled/inquirer/lib/ui/prompt.d.ts +0 -104
  1106. package/dist/compiled/inquirer/lib/utils/events.d.ts +0 -72
  1107. package/dist/compiled/inquirer/lib/utils/incrementListIndex.d.ts +0 -23
  1108. package/dist/compiled/inquirer/lib/utils/paginator.d.ts +0 -55
  1109. package/dist/compiled/inquirer/lib/utils/readline.d.ts +0 -56
  1110. package/dist/compiled/inquirer/lib/utils/screen-manager.d.ts +0 -90
  1111. package/dist/compiled/inquirer/lib/utils/utils.d.ts +0 -30
  1112. package/dist/compiled/inquirer/license +0 -22
  1113. package/dist/compiled/inquirer/rxjs/LICENSE.txt +0 -202
  1114. package/dist/compiled/inquirer/rxjs/ajax/index.d.ts +0 -5
  1115. package/dist/compiled/inquirer/rxjs/fetch/index.d.ts +0 -2
  1116. package/dist/compiled/inquirer/rxjs/index.d.ts +0 -173
  1117. package/dist/compiled/inquirer/rxjs/internal/AnyCatcher.d.ts +0 -10
  1118. package/dist/compiled/inquirer/rxjs/internal/AsyncSubject.d.ts +0 -13
  1119. package/dist/compiled/inquirer/rxjs/internal/BehaviorSubject.d.ts +0 -13
  1120. package/dist/compiled/inquirer/rxjs/internal/Notification.d.ts +0 -175
  1121. package/dist/compiled/inquirer/rxjs/internal/NotificationFactories.d.ts +0 -2
  1122. package/dist/compiled/inquirer/rxjs/internal/Observable.d.ts +0 -121
  1123. package/dist/compiled/inquirer/rxjs/internal/Operator.d.ts +0 -9
  1124. package/dist/compiled/inquirer/rxjs/internal/ReplaySubject.d.ts +0 -49
  1125. package/dist/compiled/inquirer/rxjs/internal/Scheduler.d.ts +0 -53
  1126. package/dist/compiled/inquirer/rxjs/internal/Subject.d.ts +0 -54
  1127. package/dist/compiled/inquirer/rxjs/internal/Subscriber.d.ts +0 -72
  1128. package/dist/compiled/inquirer/rxjs/internal/Subscription.d.ts +0 -92
  1129. package/dist/compiled/inquirer/rxjs/internal/ajax/AjaxResponse.d.ts +0 -115
  1130. package/dist/compiled/inquirer/rxjs/internal/ajax/ajax.d.ts +0 -227
  1131. package/dist/compiled/inquirer/rxjs/internal/ajax/errors.d.ts +0 -65
  1132. package/dist/compiled/inquirer/rxjs/internal/ajax/getXHRResponse.d.ts +0 -14
  1133. package/dist/compiled/inquirer/rxjs/internal/ajax/types.d.ts +0 -200
  1134. package/dist/compiled/inquirer/rxjs/internal/config.d.ts +0 -73
  1135. package/dist/compiled/inquirer/rxjs/internal/firstValueFrom.d.ts +0 -7
  1136. package/dist/compiled/inquirer/rxjs/internal/lastValueFrom.d.ts +0 -7
  1137. package/dist/compiled/inquirer/rxjs/internal/observable/ConnectableObservable.d.ts +0 -42
  1138. package/dist/compiled/inquirer/rxjs/internal/observable/bindCallback.d.ts +0 -5
  1139. package/dist/compiled/inquirer/rxjs/internal/observable/bindCallbackInternals.d.ts +0 -4
  1140. package/dist/compiled/inquirer/rxjs/internal/observable/bindNodeCallback.d.ts +0 -5
  1141. package/dist/compiled/inquirer/rxjs/internal/observable/combineLatest.d.ts +0 -33
  1142. package/dist/compiled/inquirer/rxjs/internal/observable/concat.d.ts +0 -5
  1143. package/dist/compiled/inquirer/rxjs/internal/observable/connectable.d.ts +0 -27
  1144. package/dist/compiled/inquirer/rxjs/internal/observable/defer.d.ts +0 -51
  1145. package/dist/compiled/inquirer/rxjs/internal/observable/dom/WebSocketSubject.d.ts +0 -173
  1146. package/dist/compiled/inquirer/rxjs/internal/observable/dom/animationFrames.d.ts +0 -76
  1147. package/dist/compiled/inquirer/rxjs/internal/observable/dom/fetch.d.ts +0 -7
  1148. package/dist/compiled/inquirer/rxjs/internal/observable/dom/webSocket.d.ts +0 -159
  1149. package/dist/compiled/inquirer/rxjs/internal/observable/empty.d.ts +0 -72
  1150. package/dist/compiled/inquirer/rxjs/internal/observable/forkJoin.d.ts +0 -24
  1151. package/dist/compiled/inquirer/rxjs/internal/observable/from.d.ts +0 -6
  1152. package/dist/compiled/inquirer/rxjs/internal/observable/fromEvent.d.ts +0 -45
  1153. package/dist/compiled/inquirer/rxjs/internal/observable/fromEventPattern.d.ts +0 -5
  1154. package/dist/compiled/inquirer/rxjs/internal/observable/fromSubscribable.d.ts +0 -14
  1155. package/dist/compiled/inquirer/rxjs/internal/observable/generate.d.ts +0 -314
  1156. package/dist/compiled/inquirer/rxjs/internal/observable/iif.d.ts +0 -82
  1157. package/dist/compiled/inquirer/rxjs/internal/observable/innerFrom.d.ts +0 -21
  1158. package/dist/compiled/inquirer/rxjs/internal/observable/interval.d.ts +0 -48
  1159. package/dist/compiled/inquirer/rxjs/internal/observable/merge.d.ts +0 -9
  1160. package/dist/compiled/inquirer/rxjs/internal/observable/never.d.ts +0 -40
  1161. package/dist/compiled/inquirer/rxjs/internal/observable/of.d.ts +0 -14
  1162. package/dist/compiled/inquirer/rxjs/internal/observable/onErrorResumeNext.d.ts +0 -5
  1163. package/dist/compiled/inquirer/rxjs/internal/observable/pairs.d.ts +0 -19
  1164. package/dist/compiled/inquirer/rxjs/internal/observable/partition.d.ts +0 -9
  1165. package/dist/compiled/inquirer/rxjs/internal/observable/race.d.ts +0 -12
  1166. package/dist/compiled/inquirer/rxjs/internal/observable/range.d.ts +0 -8
  1167. package/dist/compiled/inquirer/rxjs/internal/observable/throwError.d.ts +0 -115
  1168. package/dist/compiled/inquirer/rxjs/internal/observable/timer.d.ts +0 -126
  1169. package/dist/compiled/inquirer/rxjs/internal/observable/using.d.ts +0 -30
  1170. package/dist/compiled/inquirer/rxjs/internal/observable/zip.d.ts +0 -7
  1171. package/dist/compiled/inquirer/rxjs/internal/operators/OperatorSubscriber.d.ts +0 -41
  1172. package/dist/compiled/inquirer/rxjs/internal/operators/audit.d.ts +0 -48
  1173. package/dist/compiled/inquirer/rxjs/internal/operators/auditTime.d.ts +0 -50
  1174. package/dist/compiled/inquirer/rxjs/internal/operators/buffer.d.ts +0 -41
  1175. package/dist/compiled/inquirer/rxjs/internal/operators/bufferCount.d.ts +0 -54
  1176. package/dist/compiled/inquirer/rxjs/internal/operators/bufferTime.d.ts +0 -5
  1177. package/dist/compiled/inquirer/rxjs/internal/operators/bufferToggle.d.ts +0 -46
  1178. package/dist/compiled/inquirer/rxjs/internal/operators/bufferWhen.d.ts +0 -41
  1179. package/dist/compiled/inquirer/rxjs/internal/operators/catchError.d.ts +0 -4
  1180. package/dist/compiled/inquirer/rxjs/internal/operators/combineAll.d.ts +0 -6
  1181. package/dist/compiled/inquirer/rxjs/internal/operators/combineLatest.d.ts +0 -10
  1182. package/dist/compiled/inquirer/rxjs/internal/operators/combineLatestAll.d.ts +0 -6
  1183. package/dist/compiled/inquirer/rxjs/internal/operators/combineLatestWith.d.ts +0 -43
  1184. package/dist/compiled/inquirer/rxjs/internal/operators/concat.d.ts +0 -6
  1185. package/dist/compiled/inquirer/rxjs/internal/operators/concatAll.d.ts +0 -59
  1186. package/dist/compiled/inquirer/rxjs/internal/operators/concatMap.d.ts +0 -7
  1187. package/dist/compiled/inquirer/rxjs/internal/operators/concatMapTo.d.ts +0 -8
  1188. package/dist/compiled/inquirer/rxjs/internal/operators/concatWith.d.ts +0 -43
  1189. package/dist/compiled/inquirer/rxjs/internal/operators/connect.d.ts +0 -87
  1190. package/dist/compiled/inquirer/rxjs/internal/operators/count.d.ts +0 -58
  1191. package/dist/compiled/inquirer/rxjs/internal/operators/debounce.d.ts +0 -61
  1192. package/dist/compiled/inquirer/rxjs/internal/operators/debounceTime.d.ts +0 -59
  1193. package/dist/compiled/inquirer/rxjs/internal/operators/defaultIfEmpty.d.ts +0 -38
  1194. package/dist/compiled/inquirer/rxjs/internal/operators/delay.d.ts +0 -59
  1195. package/dist/compiled/inquirer/rxjs/internal/operators/delayWhen.d.ts +0 -6
  1196. package/dist/compiled/inquirer/rxjs/internal/operators/dematerialize.d.ts +0 -51
  1197. package/dist/compiled/inquirer/rxjs/internal/operators/distinct.d.ts +0 -60
  1198. package/dist/compiled/inquirer/rxjs/internal/operators/distinctUntilChanged.d.ts +0 -4
  1199. package/dist/compiled/inquirer/rxjs/internal/operators/distinctUntilKeyChanged.d.ts +0 -4
  1200. package/dist/compiled/inquirer/rxjs/internal/operators/elementAt.d.ts +0 -51
  1201. package/dist/compiled/inquirer/rxjs/internal/operators/endWith.d.ts +0 -7
  1202. package/dist/compiled/inquirer/rxjs/internal/operators/every.d.ts +0 -9
  1203. package/dist/compiled/inquirer/rxjs/internal/operators/exhaust.d.ts +0 -6
  1204. package/dist/compiled/inquirer/rxjs/internal/operators/exhaustAll.d.ts +0 -47
  1205. package/dist/compiled/inquirer/rxjs/internal/operators/exhaustMap.d.ts +0 -7
  1206. package/dist/compiled/inquirer/rxjs/internal/operators/expand.d.ts +0 -9
  1207. package/dist/compiled/inquirer/rxjs/internal/operators/filter.d.ts +0 -9
  1208. package/dist/compiled/inquirer/rxjs/internal/operators/finalize.d.ts +0 -64
  1209. package/dist/compiled/inquirer/rxjs/internal/operators/find.d.ts +0 -12
  1210. package/dist/compiled/inquirer/rxjs/internal/operators/findIndex.d.ts +0 -9
  1211. package/dist/compiled/inquirer/rxjs/internal/operators/first.d.ts +0 -9
  1212. package/dist/compiled/inquirer/rxjs/internal/operators/flatMap.d.ts +0 -6
  1213. package/dist/compiled/inquirer/rxjs/internal/operators/groupBy.d.ts +0 -119
  1214. package/dist/compiled/inquirer/rxjs/internal/operators/ignoreElements.d.ts +0 -38
  1215. package/dist/compiled/inquirer/rxjs/internal/operators/isEmpty.d.ts +0 -64
  1216. package/dist/compiled/inquirer/rxjs/internal/operators/joinAllInternals.d.ts +0 -14
  1217. package/dist/compiled/inquirer/rxjs/internal/operators/last.d.ts +0 -8
  1218. package/dist/compiled/inquirer/rxjs/internal/operators/map.d.ts +0 -5
  1219. package/dist/compiled/inquirer/rxjs/internal/operators/mapTo.d.ts +0 -10
  1220. package/dist/compiled/inquirer/rxjs/internal/operators/materialize.d.ts +0 -52
  1221. package/dist/compiled/inquirer/rxjs/internal/operators/max.d.ts +0 -50
  1222. package/dist/compiled/inquirer/rxjs/internal/operators/merge.d.ts +0 -10
  1223. package/dist/compiled/inquirer/rxjs/internal/operators/mergeAll.d.ts +0 -62
  1224. package/dist/compiled/inquirer/rxjs/internal/operators/mergeInternals.d.ts +0 -18
  1225. package/dist/compiled/inquirer/rxjs/internal/operators/mergeMap.d.ts +0 -7
  1226. package/dist/compiled/inquirer/rxjs/internal/operators/mergeMapTo.d.ts +0 -9
  1227. package/dist/compiled/inquirer/rxjs/internal/operators/mergeScan.d.ts +0 -68
  1228. package/dist/compiled/inquirer/rxjs/internal/operators/mergeWith.d.ts +0 -44
  1229. package/dist/compiled/inquirer/rxjs/internal/operators/min.d.ts +0 -50
  1230. package/dist/compiled/inquirer/rxjs/internal/operators/multicast.d.ts +0 -63
  1231. package/dist/compiled/inquirer/rxjs/internal/operators/observeOn.d.ts +0 -56
  1232. package/dist/compiled/inquirer/rxjs/internal/operators/onErrorResumeNextWith.d.ts +0 -8
  1233. package/dist/compiled/inquirer/rxjs/internal/operators/pairwise.d.ts +0 -46
  1234. package/dist/compiled/inquirer/rxjs/internal/operators/partition.d.ts +0 -54
  1235. package/dist/compiled/inquirer/rxjs/internal/operators/pluck.d.ts +0 -18
  1236. package/dist/compiled/inquirer/rxjs/internal/operators/publish.d.ts +0 -30
  1237. package/dist/compiled/inquirer/rxjs/internal/operators/publishBehavior.d.ts +0 -19
  1238. package/dist/compiled/inquirer/rxjs/internal/operators/publishLast.d.ts +0 -69
  1239. package/dist/compiled/inquirer/rxjs/internal/operators/publishReplay.d.ts +0 -56
  1240. package/dist/compiled/inquirer/rxjs/internal/operators/race.d.ts +0 -6
  1241. package/dist/compiled/inquirer/rxjs/internal/operators/raceWith.d.ts +0 -29
  1242. package/dist/compiled/inquirer/rxjs/internal/operators/reduce.d.ts +0 -5
  1243. package/dist/compiled/inquirer/rxjs/internal/operators/refCount.d.ts +0 -61
  1244. package/dist/compiled/inquirer/rxjs/internal/operators/repeat.d.ts +0 -108
  1245. package/dist/compiled/inquirer/rxjs/internal/operators/repeatWhen.d.ts +0 -38
  1246. package/dist/compiled/inquirer/rxjs/internal/operators/retry.d.ts +0 -28
  1247. package/dist/compiled/inquirer/rxjs/internal/operators/retryWhen.d.ts +0 -61
  1248. package/dist/compiled/inquirer/rxjs/internal/operators/sample.d.ts +0 -43
  1249. package/dist/compiled/inquirer/rxjs/internal/operators/sampleTime.d.ts +0 -46
  1250. package/dist/compiled/inquirer/rxjs/internal/operators/scan.d.ts +0 -5
  1251. package/dist/compiled/inquirer/rxjs/internal/operators/scanInternals.d.ts +0 -12
  1252. package/dist/compiled/inquirer/rxjs/internal/operators/sequenceEqual.d.ts +0 -60
  1253. package/dist/compiled/inquirer/rxjs/internal/operators/share.d.ts +0 -43
  1254. package/dist/compiled/inquirer/rxjs/internal/operators/shareReplay.d.ts +0 -10
  1255. package/dist/compiled/inquirer/rxjs/internal/operators/single.d.ts +0 -5
  1256. package/dist/compiled/inquirer/rxjs/internal/operators/skip.d.ts +0 -36
  1257. package/dist/compiled/inquirer/rxjs/internal/operators/skipLast.d.ts +0 -45
  1258. package/dist/compiled/inquirer/rxjs/internal/operators/skipUntil.d.ts +0 -48
  1259. package/dist/compiled/inquirer/rxjs/internal/operators/skipWhile.d.ts +0 -5
  1260. package/dist/compiled/inquirer/rxjs/internal/operators/startWith.d.ts +0 -7
  1261. package/dist/compiled/inquirer/rxjs/internal/operators/subscribeOn.d.ts +0 -62
  1262. package/dist/compiled/inquirer/rxjs/internal/operators/switchAll.d.ts +0 -61
  1263. package/dist/compiled/inquirer/rxjs/internal/operators/switchMap.d.ts +0 -7
  1264. package/dist/compiled/inquirer/rxjs/internal/operators/switchMapTo.d.ts +0 -8
  1265. package/dist/compiled/inquirer/rxjs/internal/operators/switchScan.d.ts +0 -20
  1266. package/dist/compiled/inquirer/rxjs/internal/operators/take.d.ts +0 -45
  1267. package/dist/compiled/inquirer/rxjs/internal/operators/takeLast.d.ts +0 -42
  1268. package/dist/compiled/inquirer/rxjs/internal/operators/takeUntil.d.ts +0 -41
  1269. package/dist/compiled/inquirer/rxjs/internal/operators/takeWhile.d.ts +0 -8
  1270. package/dist/compiled/inquirer/rxjs/internal/operators/tap.d.ts +0 -72
  1271. package/dist/compiled/inquirer/rxjs/internal/operators/throttle.d.ts +0 -78
  1272. package/dist/compiled/inquirer/rxjs/internal/operators/throttleTime.d.ts +0 -53
  1273. package/dist/compiled/inquirer/rxjs/internal/operators/throwIfEmpty.d.ts +0 -39
  1274. package/dist/compiled/inquirer/rxjs/internal/operators/timeInterval.d.ts +0 -50
  1275. package/dist/compiled/inquirer/rxjs/internal/operators/timeout.d.ts +0 -255
  1276. package/dist/compiled/inquirer/rxjs/internal/operators/timeoutWith.d.ts +0 -8
  1277. package/dist/compiled/inquirer/rxjs/internal/operators/timestamp.d.ts +0 -35
  1278. package/dist/compiled/inquirer/rxjs/internal/operators/toArray.d.ts +0 -33
  1279. package/dist/compiled/inquirer/rxjs/internal/operators/window.d.ts +0 -48
  1280. package/dist/compiled/inquirer/rxjs/internal/operators/windowCount.d.ts +0 -65
  1281. package/dist/compiled/inquirer/rxjs/internal/operators/windowTime.d.ts +0 -6
  1282. package/dist/compiled/inquirer/rxjs/internal/operators/windowToggle.d.ts +0 -49
  1283. package/dist/compiled/inquirer/rxjs/internal/operators/windowWhen.d.ts +0 -49
  1284. package/dist/compiled/inquirer/rxjs/internal/operators/withLatestFrom.d.ts +0 -4
  1285. package/dist/compiled/inquirer/rxjs/internal/operators/zip.d.ts +0 -10
  1286. package/dist/compiled/inquirer/rxjs/internal/operators/zipAll.d.ts +0 -14
  1287. package/dist/compiled/inquirer/rxjs/internal/operators/zipWith.d.ts +0 -26
  1288. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduleArray.d.ts +0 -4
  1289. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduleAsyncIterable.d.ts +0 -4
  1290. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduleIterable.d.ts +0 -9
  1291. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduleObservable.d.ts +0 -3
  1292. package/dist/compiled/inquirer/rxjs/internal/scheduled/schedulePromise.d.ts +0 -3
  1293. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduleReadableStreamLike.d.ts +0 -4
  1294. package/dist/compiled/inquirer/rxjs/internal/scheduled/scheduled.d.ts +0 -15
  1295. package/dist/compiled/inquirer/rxjs/internal/scheduler/Action.d.ts +0 -30
  1296. package/dist/compiled/inquirer/rxjs/internal/scheduler/AnimationFrameAction.d.ts +0 -12
  1297. package/dist/compiled/inquirer/rxjs/internal/scheduler/AnimationFrameScheduler.d.ts +0 -6
  1298. package/dist/compiled/inquirer/rxjs/internal/scheduler/AsapAction.d.ts +0 -12
  1299. package/dist/compiled/inquirer/rxjs/internal/scheduler/AsapScheduler.d.ts +0 -6
  1300. package/dist/compiled/inquirer/rxjs/internal/scheduler/AsyncAction.d.ts +0 -24
  1301. package/dist/compiled/inquirer/rxjs/internal/scheduler/AsyncScheduler.d.ts +0 -9
  1302. package/dist/compiled/inquirer/rxjs/internal/scheduler/QueueAction.d.ts +0 -14
  1303. package/dist/compiled/inquirer/rxjs/internal/scheduler/QueueScheduler.d.ts +0 -4
  1304. package/dist/compiled/inquirer/rxjs/internal/scheduler/VirtualTimeScheduler.d.ts +0 -48
  1305. package/dist/compiled/inquirer/rxjs/internal/scheduler/animationFrame.d.ts +0 -38
  1306. package/dist/compiled/inquirer/rxjs/internal/scheduler/animationFrameProvider.d.ts +0 -13
  1307. package/dist/compiled/inquirer/rxjs/internal/scheduler/asap.d.ts +0 -41
  1308. package/dist/compiled/inquirer/rxjs/internal/scheduler/async.d.ts +0 -53
  1309. package/dist/compiled/inquirer/rxjs/internal/scheduler/dateTimestampProvider.d.ts +0 -7
  1310. package/dist/compiled/inquirer/rxjs/internal/scheduler/immediateProvider.d.ts +0 -14
  1311. package/dist/compiled/inquirer/rxjs/internal/scheduler/intervalProvider.d.ts +0 -14
  1312. package/dist/compiled/inquirer/rxjs/internal/scheduler/performanceTimestampProvider.d.ts +0 -7
  1313. package/dist/compiled/inquirer/rxjs/internal/scheduler/queue.d.ts +0 -69
  1314. package/dist/compiled/inquirer/rxjs/internal/scheduler/timeoutProvider.d.ts +0 -14
  1315. package/dist/compiled/inquirer/rxjs/internal/scheduler/timerHandle.d.ts +0 -2
  1316. package/dist/compiled/inquirer/rxjs/internal/symbol/iterator.d.ts +0 -3
  1317. package/dist/compiled/inquirer/rxjs/internal/symbol/observable.d.ts +0 -8
  1318. package/dist/compiled/inquirer/rxjs/internal/testing/ColdObservable.d.ts +0 -16
  1319. package/dist/compiled/inquirer/rxjs/internal/testing/HotObservable.d.ts +0 -15
  1320. package/dist/compiled/inquirer/rxjs/internal/testing/SubscriptionLog.d.ts +0 -6
  1321. package/dist/compiled/inquirer/rxjs/internal/testing/SubscriptionLoggable.d.ts +0 -9
  1322. package/dist/compiled/inquirer/rxjs/internal/testing/TestMessage.d.ts +0 -7
  1323. package/dist/compiled/inquirer/rxjs/internal/testing/TestScheduler.d.ts +0 -88
  1324. package/dist/compiled/inquirer/rxjs/internal/types.d.ts +0 -307
  1325. package/dist/compiled/inquirer/rxjs/internal/util/ArgumentOutOfRangeError.d.ts +0 -19
  1326. package/dist/compiled/inquirer/rxjs/internal/util/EmptyError.d.ts +0 -21
  1327. package/dist/compiled/inquirer/rxjs/internal/util/Immediate.d.ts +0 -14
  1328. package/dist/compiled/inquirer/rxjs/internal/util/NotFoundError.d.ts +0 -17
  1329. package/dist/compiled/inquirer/rxjs/internal/util/ObjectUnsubscribedError.d.ts +0 -20
  1330. package/dist/compiled/inquirer/rxjs/internal/util/SequenceError.d.ts +0 -17
  1331. package/dist/compiled/inquirer/rxjs/internal/util/UnsubscriptionError.d.ts +0 -16
  1332. package/dist/compiled/inquirer/rxjs/internal/util/applyMixins.d.ts +0 -2
  1333. package/dist/compiled/inquirer/rxjs/internal/util/args.d.ts +0 -5
  1334. package/dist/compiled/inquirer/rxjs/internal/util/argsArgArrayOrObject.d.ts +0 -11
  1335. package/dist/compiled/inquirer/rxjs/internal/util/argsOrArgArray.d.ts +0 -6
  1336. package/dist/compiled/inquirer/rxjs/internal/util/arrRemove.d.ts +0 -7
  1337. package/dist/compiled/inquirer/rxjs/internal/util/createErrorClass.d.ts +0 -11
  1338. package/dist/compiled/inquirer/rxjs/internal/util/createObject.d.ts +0 -2
  1339. package/dist/compiled/inquirer/rxjs/internal/util/errorContext.d.ts +0 -14
  1340. package/dist/compiled/inquirer/rxjs/internal/util/executeSchedule.d.ts +0 -5
  1341. package/dist/compiled/inquirer/rxjs/internal/util/identity.d.ts +0 -44
  1342. package/dist/compiled/inquirer/rxjs/internal/util/isArrayLike.d.ts +0 -2
  1343. package/dist/compiled/inquirer/rxjs/internal/util/isAsyncIterable.d.ts +0 -2
  1344. package/dist/compiled/inquirer/rxjs/internal/util/isDate.d.ts +0 -9
  1345. package/dist/compiled/inquirer/rxjs/internal/util/isFunction.d.ts +0 -6
  1346. package/dist/compiled/inquirer/rxjs/internal/util/isInteropObservable.d.ts +0 -4
  1347. package/dist/compiled/inquirer/rxjs/internal/util/isIterable.d.ts +0 -3
  1348. package/dist/compiled/inquirer/rxjs/internal/util/isObservable.d.ts +0 -8
  1349. package/dist/compiled/inquirer/rxjs/internal/util/isPromise.d.ts +0 -6
  1350. package/dist/compiled/inquirer/rxjs/internal/util/isReadableStreamLike.d.ts +0 -4
  1351. package/dist/compiled/inquirer/rxjs/internal/util/isScheduler.d.ts +0 -3
  1352. package/dist/compiled/inquirer/rxjs/internal/util/lift.d.ts +0 -15
  1353. package/dist/compiled/inquirer/rxjs/internal/util/mapOneOrManyArgs.d.ts +0 -7
  1354. package/dist/compiled/inquirer/rxjs/internal/util/noop.d.ts +0 -2
  1355. package/dist/compiled/inquirer/rxjs/internal/util/not.d.ts +0 -2
  1356. package/dist/compiled/inquirer/rxjs/internal/util/pipe.d.ts +0 -14
  1357. package/dist/compiled/inquirer/rxjs/internal/util/reportUnhandledError.d.ts +0 -11
  1358. package/dist/compiled/inquirer/rxjs/internal/util/subscribeToArray.d.ts +0 -7
  1359. package/dist/compiled/inquirer/rxjs/internal/util/throwUnobservableError.d.ts +0 -6
  1360. package/dist/compiled/inquirer/rxjs/internal/util/workarounds.d.ts +0 -2
  1361. package/dist/compiled/inquirer/rxjs/operators/index.d.ts +0 -114
  1362. package/dist/compiled/inquirer/rxjs/testing/index.d.ts +0 -2
  1363. package/dist/compiled/inquirer/rxjs/webSocket/index.d.ts +0 -3
  1364. package/dist/compiled/inquirer/through/index.d.ts +0 -25
  1365. package/dist/compiled/json5/lib/index.d.ts +0 -4
  1366. package/dist/compiled/json5/lib/parse.d.ts +0 -15
  1367. package/dist/compiled/json5/lib/stringify.d.ts +0 -89
  1368. package/dist/compiled/nanoid/license +0 -20
  1369. package/dist/compiled/ora/cli-spinners/index.d.ts +0 -125
  1370. package/dist/compiled/ora/index.js.LICENSE.txt +0 -1
  1371. package/dist/compiled/tsconfig-paths/lib/config-loader.d.ts +0 -33
  1372. package/dist/compiled/tsconfig-paths/lib/filesystem.d.ts +0 -34
  1373. package/dist/compiled/tsconfig-paths/lib/index.d.ts +0 -5
  1374. package/dist/compiled/tsconfig-paths/lib/mapping-entry.d.ts +0 -18
  1375. package/dist/compiled/tsconfig-paths/lib/match-path-async.d.ts +0 -21
  1376. package/dist/compiled/tsconfig-paths/lib/match-path-sync.d.ts +0 -32
  1377. package/dist/compiled/tsconfig-paths/lib/register.d.ts +0 -12
  1378. package/dist/compiled/tsconfig-paths/lib/try-path.d.ts +0 -15
  1379. package/dist/compiled/tsconfig-paths/lib/tsconfig-loader.d.ts +0 -28
  1380. package/dist/compiled/upath/license +0 -22
  1381. package/dist/compiled/upath/upath.d.ts +0 -241
  1382. package/dist/compiled/webpack-chain/index.js +0 -1475
  1383. package/dist/compiled/webpack-chain/license +0 -373
  1384. package/dist/compiled/webpack-chain/package.json +0 -1
  1385. package/dist/compiled/webpack-chain/types/index.d.ts +0 -599
  1386. package/dist/esm/rslib-runtime~1.mjs +0 -12
  1387. /package/dist/compiled/commander/{license → LICENSE} +0 -0
  1388. /package/dist/compiled/debug/{license → LICENSE} +0 -0
  1389. /package/dist/compiled/{inquirer/types-license → debug/declaration-licenses/@types_debug/LICENSE} +0 -0
  1390. /package/dist/compiled/js-yaml/{license → LICENSE} +0 -0
  1391. /package/dist/compiled/lodash/{license → LICENSE} +0 -0
  1392. /package/dist/compiled/mime-types/{license → LICENSE} +0 -0
  1393. /package/dist/compiled/minimist/{license → LICENSE} +0 -0
  1394. /package/dist/compiled/semver/{license → LICENSE} +0 -0
  1395. /package/dist/compiled/tsconfig-paths/{license → LICENSE} +0 -0
  1396. /package/dist/compiled/url-join/{license → LICENSE} +0 -0
@@ -1,564 +1,2485 @@
1
- /// <reference types="node"/>
2
- import {ChildProcess} from 'child_process';
3
- import {Stream, Readable as ReadableStream} from 'stream';
4
-
5
- declare namespace execa {
6
- type StdioOption =
7
- | 'pipe'
8
- | 'ipc'
9
- | 'ignore'
10
- | 'inherit'
11
- | Stream
12
- | number
13
- | undefined;
14
-
15
- interface CommonOptions<EncodingType> {
1
+ import { Duplex, Readable, Writable } from 'node:stream';
2
+ import { TransformStream, ReadableStream, WritableStream, ReadableWritablePair } from 'node:stream/web';
3
+ import { SignalConstants } from 'node:os';
4
+ import { ChildProcess } from 'node:child_process';
5
+
6
+ type Not<Value extends boolean> = Value extends true ? false : true;
7
+
8
+ type And<First extends boolean, Second extends boolean> = First extends true ? Second : false;
9
+
10
+ type Unless<Condition extends boolean, ThenValue, ElseValue = never> = Condition extends true ? ElseValue : ThenValue;
11
+
12
+ type AndUnless<Condition extends boolean, ThenValue, ElseValue = unknown> = Condition extends true ? ElseValue : ThenValue;
13
+
14
+ // Whether any of T's union element is the same as one of U's union element.
15
+ // `&` does not work here.
16
+ type Intersects<T, U> = true extends (T extends U ? true : false) ? true : false;
17
+
18
+ // `options.std*: Generator`
19
+ // The `chunk` argument's type is based on the transform's mode:
20
+ // - `binary: true` or binary `encoding`, with `objectMode: true` -> `unknown` for stdin, `Uint8Array` for stdout/stderr
21
+ // - `binary: true` or binary `encoding` -> `Uint8Array`
22
+ // - `objectMode: true` -> `unknown` for stdin, `string` for stdout/stderr
23
+ // - otherwise -> `string`
24
+ // The return type is kept as `unknown` since a transform can always yield either a `string` or an `Uint8Array`.
25
+ // See https://github.com/sindresorhus/execa/issues/694
26
+ type GeneratorTransform<IsSync extends boolean, Chunk = string> = (chunk: Chunk) =>
27
+ | Unless<IsSync, AsyncGenerator<unknown, void, void>>
28
+ | Generator<unknown, void, void>;
29
+ type GeneratorTransformReturn<IsSync extends boolean> = ReturnType<GeneratorTransform<IsSync>>;
30
+ type GeneratorFinal<IsSync extends boolean> = () =>
31
+ | Unless<IsSync, AsyncGenerator<unknown, void, void>>
32
+ | Generator<unknown, void, void>;
33
+
34
+ type TransformCommon = {
35
+ /**
36
+ If `true`, allow `transformOptions.transform` and `transformOptions.final` to return any type, not just `string` or `Uint8Array`.
37
+ */
38
+ readonly objectMode?: boolean;
39
+ };
40
+
41
+ // A `GeneratorTransformFull` shape whose `transform` narrows the `chunk` argument to `Chunk`.
42
+ // The mode-independent documentation lives here.
43
+ type GeneratorTransformBase<IsSync extends boolean, Chunk> = TransformCommon & {
44
+ /**
45
+ Map or filter the input or output of the subprocess.
46
+ */
47
+ readonly transform: GeneratorTransform<IsSync, Chunk>;
48
+
49
+ /**
50
+ Create additional lines after the last one.
51
+ */
52
+ readonly final?: GeneratorFinal<IsSync>;
53
+
54
+ /**
55
+ If `true`, iterate over arbitrary chunks of `Uint8Array`s instead of line `string`s.
56
+ */
57
+ readonly binary?: boolean;
58
+
59
+ /**
60
+ If `true`, keep newlines in each `line` argument. Also, this allows multiple `yield`s to produce a single line.
61
+ */
62
+ readonly preserveNewlines?: boolean;
63
+ };
64
+
65
+ // For stdout/stderr, this literal option pair accepts explicitly typed `Uint8Array` callbacks, matching runtime binary chunks, while still allowing stdin-style `unknown` object-mode callbacks.
66
+ type GeneratorTransformBinaryObjectMode<IsSync extends boolean, ObjectModeChunk> = ObjectModeChunk extends string
67
+ ? Omit<GeneratorTransformBase<IsSync, unknown>, 'transform' | 'objectMode' | 'binary'> & {
16
68
  /**
17
- Kill the spawned process when the parent process exits unless either:
18
- - the spawned process is [`detached`](https://nodejs.org/api/child_process.html#child_process_options_detached)
19
- - the parent process is terminated abruptly, for example, with `SIGKILL` as opposed to `SIGTERM` or a normal exit
69
+ Map or filter the input or output of the subprocess.
70
+ */
71
+ transform(chunk: Uint8Array): GeneratorTransformReturn<IsSync>;
72
+ // eslint-disable-next-line @typescript-eslint/unified-signatures -- Combining these as `unknown | Uint8Array` would collapse to `unknown` and reject explicitly typed `Uint8Array` callbacks.
73
+ transform(chunk: unknown): GeneratorTransformReturn<IsSync>;
74
+
75
+ readonly objectMode: true;
76
+ readonly binary: true;
77
+ }
78
+ : GeneratorTransformBase<IsSync, unknown> & {readonly objectMode: true; readonly binary: true};
79
+
80
+ /**
81
+ A transform or an array of transforms can be passed to the `stdin`, `stdout`, `stderr` or `stdio` option.
82
+
83
+ A transform is either a generator function or a plain object with the following members.
84
+ */
85
+ type GeneratorTransformFull<IsSync extends boolean, ObjectModeChunk = unknown, TransformChunk = string> =
86
+ // Non-literal `binary` or `objectMode` values are accepted at runtime, but their mode is unknown at compile time.
87
+ | (GeneratorTransformBase<IsSync, unknown> & {readonly objectMode?: boolean; readonly binary?: boolean})
88
+ // `binary: true` without `objectMode` -> the `chunk` argument is an `Uint8Array`.
89
+ | (GeneratorTransformBase<IsSync, Uint8Array> & {readonly objectMode?: false; readonly binary: true})
90
+ // `binary: true` with `objectMode` -> the `chunk` argument is `unknown` for stdin, `Uint8Array` for stdout/stderr.
91
+ | GeneratorTransformBinaryObjectMode<IsSync, ObjectModeChunk>
92
+ // `binary: false` without `objectMode` -> the `chunk` argument depends on the subprocess encoding.
93
+ | (GeneratorTransformBase<IsSync, TransformChunk> & {readonly objectMode?: false; readonly binary?: false})
94
+ // `objectMode: true` with `binary: false` -> the `chunk` argument depends on the stdio direction.
95
+ | (GeneratorTransformBase<IsSync, ObjectModeChunk> & {readonly objectMode: true; readonly binary?: false});
96
+
97
+ // `options.std*: Duplex`
98
+ type DuplexTransform = TransformCommon & {
99
+ readonly transform: Duplex;
100
+ };
101
+
102
+ // `options.std*: TransformStream`
103
+ type WebTransform = TransformCommon & {
104
+ readonly transform: TransformStream;
105
+ };
106
+
107
+ type IsStandardStream<FdNumber extends string> = FdNumber extends keyof StandardStreams ? true : false;
108
+
109
+ type StandardStreams = readonly ['stdin', 'stdout', 'stderr'];
110
+
111
+ // When `options.stdin|stdout|stderr|stdio` is set to one of those values, no stream is created
112
+ type NoStreamStdioOption<FdNumber extends string> =
113
+ | 'ignore'
114
+ | 'inherit'
115
+ | number
116
+ | Readable
117
+ | Writable
118
+ | Unless<IsStandardStream<FdNumber>, undefined>
119
+ | readonly [NoStreamStdioOption<FdNumber>]
120
+ | {readonly value: 'inherit' | number; readonly input?: boolean};
121
+
122
+ // `options.stdio` when it is not an array
123
+ type SimpleStdioOption<
124
+ IsSync extends boolean,
125
+ IsExtra extends boolean,
126
+ IsArray extends boolean,
127
+ > =
128
+ | undefined
129
+ | 'pipe'
130
+ | Unless<And<And<Not<IsSync>, IsArray>, IsExtra>, 'inherit'>
131
+ | Unless<IsArray, 'ignore'>
132
+ | Unless<IsSync, 'overlapped'>;
133
+
134
+ // The `{value, input}` object form wraps a direction-ambiguous value and sets its direction explicitly.
135
+ type AmbiguousStdioOption<
136
+ IsSync extends boolean,
137
+ IsExtra extends boolean,
138
+ IsArray extends boolean,
139
+ ObjectModeChunk = unknown,
140
+ TransformChunk = string,
141
+ > = {
142
+ readonly value: AmbiguousStdioValue<IsSync, IsArray, ObjectModeChunk, TransformChunk>;
143
+ readonly input?: Unless<And<IsSync, IsExtra>, boolean> | false;
144
+ };
145
+
146
+ // Values whose direction is ambiguous on additional file descriptors, so they default to output unless `input` is set.
147
+ // This excludes values with a fixed direction (readable/writable streams, iterables, standard file descriptors).
148
+ type AmbiguousStdioValue<
149
+ IsSync extends boolean,
150
+ IsArray extends boolean,
151
+ ObjectModeChunk,
152
+ TransformChunk,
153
+ > =
154
+ | 'pipe'
155
+ | 'inherit'
156
+ | Unless<IsSync, 'overlapped'>
157
+ | URL
158
+ | GeneratorTransform<IsSync, TransformChunk>
159
+ | GeneratorTransformFull<IsSync, ObjectModeChunk, TransformChunk>
160
+ | Unless<And<Not<IsSync>, IsArray>, 3 | 4 | 5 | 6 | 7 | 8 | 9>
161
+ | Unless<IsSync, DuplexTransform | WebTransform | TransformStream>
162
+ | {readonly file: string; readonly append?: boolean};
163
+
164
+ // Values available in both `options.stdin|stdio` and `options.stdout|stderr|stdio`
165
+ type CommonStdioOption<
166
+ IsSync extends boolean,
167
+ IsExtra extends boolean,
168
+ IsArray extends boolean,
169
+ ObjectModeChunk = unknown,
170
+ TransformChunk = string,
171
+ > =
172
+ // TypeScript cannot contextually type inline full generator transform objects through this broad stdio union because the union also includes `{transform: Duplex | TransformStream}` wrapper objects. Users should annotate `chunk` when assigning an inline object directly to `StdinOption`, `StdoutStderrOption`, `Options['stdout']`, etc. Keep `GeneratorTransformFull` mode branches narrow, but do not add a broad full-object fallback here to try to recover contextual typing.
173
+ SimpleStdioOption<IsSync, IsExtra, IsArray> | URL | GeneratorTransform<IsSync, TransformChunk> | GeneratorTransformFull<IsSync, ObjectModeChunk, TransformChunk> | Unless<And<Not<IsSync>, IsArray>, 3 | 4 | 5 | 6 | 7 | 8 | 9> | Unless<IsSync, DuplexTransform | WebTransform | TransformStream> | AmbiguousStdioOption<IsSync, IsExtra, IsArray, ObjectModeChunk, TransformChunk> | {readonly file: string; readonly append?: boolean};
174
+
175
+ // Synchronous iterables excluding strings, Uint8Arrays and Arrays
176
+ type IterableObject<IsArray extends boolean> = Iterable<unknown>
177
+ & object
178
+ & AndUnless<IsArray, {readonly lastIndexOf?: never}>
179
+ & {readonly BYTES_PER_ELEMENT?: never};
180
+
181
+ // `process.stdin|stdout|stderr` are `Duplex` with a `fd` property.
182
+ // This ensures they can only be passed to `stdin`/`stdout`/`stderr`, based on their direction.
183
+ type ProcessStdinFd = {readonly fd?: 0};
184
+ type ProcessStdoutStderrFd = {readonly fd?: 1 | 2};
185
+
186
+ // Values available only in `options.stdin|stdio`
187
+ type InputStdioOption<
188
+ IsSync extends boolean = boolean,
189
+ IsExtra extends boolean = boolean,
190
+ IsArray extends boolean = boolean,
191
+ > =
192
+ | 0
193
+ | Unless<And<IsSync, IsExtra>, Uint8Array | IterableObject<IsArray>>
194
+ | Unless<And<IsSync, IsArray>, Readable & ProcessStdinFd>
195
+ | Unless<IsSync, (AsyncIterable<unknown> & ProcessStdinFd) | ReadableStream>;
196
+
197
+ // Values available only in `options.stdout|stderr|stdio`
198
+ type OutputStdioOption<
199
+ IsSync extends boolean,
200
+ IsArray extends boolean,
201
+ > =
202
+ | 1
203
+ | 2
204
+ | Unless<And<IsSync, IsArray>, Writable & ProcessStdoutStderrFd>
205
+ | Unless<IsSync, WritableStream>;
206
+
207
+ // `options.stdin` array items
208
+ type StdinSingleOption<
209
+ IsSync extends boolean,
210
+ IsExtra extends boolean,
211
+ IsArray extends boolean,
212
+ TransformChunk = string,
213
+ > =
214
+ | CommonStdioOption<IsSync, IsExtra, IsArray, unknown, TransformChunk>
215
+ | InputStdioOption<IsSync, IsExtra, IsArray>;
216
+
217
+ // `options.stdin`
218
+ type StdinOptionCommon<
219
+ IsSync extends boolean = boolean,
220
+ IsExtra extends boolean = boolean,
221
+ TransformChunk = string,
222
+ > = TransformChunk extends unknown
223
+ ? | StdinSingleOption<IsSync, IsExtra, false, TransformChunk>
224
+ | ReadonlyArray<StdinSingleOption<IsSync, IsExtra, true, TransformChunk>>
225
+ : never;
226
+
227
+ // `options.stdin`, async
228
+ type StdinOption = StdinOptionCommon<false, false>;
229
+ // `options.stdin`, sync
230
+ type StdinSyncOption = StdinOptionCommon<true, false>;
231
+
232
+ // `options.stdout|stderr` array items
233
+ type StdoutStderrSingleOption<
234
+ IsSync extends boolean,
235
+ IsExtra extends boolean,
236
+ IsArray extends boolean,
237
+ TransformChunk = string,
238
+ > =
239
+ | CommonStdioOption<IsSync, IsExtra, IsArray, TransformChunk, TransformChunk>
240
+ | OutputStdioOption<IsSync, IsArray>;
241
+
242
+ // `options.stdout|stderr`
243
+ // In `objectMode`, the `chunk` argument of every array item is typed as `string`, even though only the first transform in the pipeline receives subprocess lines. The array index cannot be used to infer the pipeline position, since non-transform items are filtered out and transforms are reordered at runtime.
244
+ type StdoutStderrOptionCommon<
245
+ IsSync extends boolean = boolean,
246
+ IsExtra extends boolean = boolean,
247
+ TransformChunk = string,
248
+ > = TransformChunk extends unknown
249
+ ? | StdoutStderrSingleOption<IsSync, IsExtra, false, TransformChunk>
250
+ | ReadonlyArray<StdoutStderrSingleOption<IsSync, IsExtra, true, TransformChunk>>
251
+ : never;
252
+
253
+ // `options.stdout|stderr`, async
254
+ type StdoutStderrOption = StdoutStderrOptionCommon<false, false>;
255
+ // `options.stdout|stderr`, sync
256
+ type StdoutStderrSyncOption = StdoutStderrOptionCommon<true, false>;
257
+
258
+ // `options.stdio[3+]`
259
+ type StdioExtraOptionCommon<IsSync extends boolean, TransformChunk = string> =
260
+ | StdinOptionCommon<IsSync, true, TransformChunk>
261
+ | StdoutStderrOptionCommon<IsSync, true, TransformChunk>;
262
+
263
+ // `options.stdin|stdout|stderr|stdio` array items
264
+ type StdioSingleOption<
265
+ IsSync extends boolean = boolean,
266
+ IsExtra extends boolean = boolean,
267
+ IsArray extends boolean = boolean,
268
+ TransformChunk = string,
269
+ > =
270
+ | StdinSingleOption<IsSync, IsExtra, IsArray, TransformChunk>
271
+ | StdoutStderrSingleOption<IsSync, IsExtra, IsArray, TransformChunk>;
272
+
273
+ // Get `options.stdin|stdout|stderr|stdio` items if it is an array, else keep as is
274
+ type StdioSingleOptionItems<StdioOptionType> = StdioOptionType extends readonly StdioSingleOption[]
275
+ ? StdioOptionType[number]
276
+ : StdioOptionType;
277
+
278
+ // `options.stdin|stdout|stderr|stdio`
279
+ type StdioOptionCommon<IsSync extends boolean = boolean, TransformChunk = string> =
280
+ | StdinOptionCommon<IsSync, boolean, TransformChunk>
281
+ | StdoutStderrOptionCommon<IsSync, boolean, TransformChunk>;
282
+
283
+ // `options.stdio` when it is an array
284
+ type StdioOptionsArray<IsSync extends boolean = boolean, TransformChunk = string> = readonly [
285
+ StdinOptionCommon<IsSync, false, TransformChunk>,
286
+ StdoutStderrOptionCommon<IsSync, false, TransformChunk>,
287
+ StdoutStderrOptionCommon<IsSync, false, TransformChunk>,
288
+ ...ReadonlyArray<StdioExtraOptionCommon<IsSync, TransformChunk>>,
289
+ ];
290
+
291
+ // `options.stdio`
292
+ type StdioOptionsProperty<IsSync extends boolean = boolean, TransformChunk = string> = TransformChunk extends unknown
293
+ ? | SimpleStdioOption<IsSync, false, false>
294
+ | StdioOptionsArray<IsSync, TransformChunk>
295
+ : never;
296
+
297
+ // Message when the `serialization` option is `'advanced'`
298
+ type AdvancedMessage =
299
+ | string
300
+ | number
301
+ | boolean
302
+ | null
303
+ | object;
304
+
305
+ // Message when the `serialization` option is `'json'`
306
+ type JsonMessage =
307
+ | string
308
+ | number
309
+ | boolean
310
+ | null
311
+ | readonly JsonMessage[]
312
+ | {readonly [key: string | number]: JsonMessage};
313
+
314
+ /**
315
+ Type of messages exchanged between a process and its subprocess using `sendMessage()`, `getOneMessage()` and `getEachMessage()`.
316
+
317
+ This requires the `ipc` option to be `true`. The type of `message` depends on the `serialization` option.
318
+ */
319
+ type Message<
320
+ Serialization extends Options['serialization'] = Options['serialization'],
321
+ > = Serialization extends 'json' ? JsonMessage : AdvancedMessage;
322
+
323
+ /**
324
+ Options to `sendMessage()` and `subprocess.sendMessage()`
325
+ */
326
+ type SendMessageOptions = {
327
+ /**
328
+ Throw when the other process is not receiving or listening to messages.
329
+
330
+ @default false
331
+ */
332
+ readonly strict?: boolean;
333
+ };
334
+
335
+ // IPC methods in subprocess
336
+ /**
337
+ Send a `message` to the parent process.
338
+
339
+ This requires the `ipc` option to be `true`. The type of `message` depends on the `serialization` option.
340
+ */
341
+ declare function sendMessage(message: Message, sendMessageOptions?: SendMessageOptions): Promise<void>;
342
+
343
+ /**
344
+ Options to `getOneMessage()` and `subprocess.getOneMessage()`
345
+ */
346
+ type GetOneMessageOptions<
347
+ Serialization extends Options['serialization'],
348
+ > = {
349
+ /**
350
+ Ignore any `message` that returns `false`.
351
+ */
352
+ readonly filter?: (message: Message<Serialization>) => boolean;
353
+
354
+ /**
355
+ Keep the subprocess alive while `getOneMessage()` is waiting.
356
+
357
+ @default true
358
+ */
359
+ readonly reference?: boolean;
360
+ };
361
+
362
+ /**
363
+ Receive a single `message` from the parent process.
364
+
365
+ This requires the `ipc` option to be `true`. The type of `message` depends on the `serialization` option.
366
+ */
367
+ declare function getOneMessage(getOneMessageOptions?: GetOneMessageOptions<Options['serialization']>): Promise<Message>;
368
+
369
+ /**
370
+ Options to `getEachMessage()` and `subprocess.getEachMessage()`
371
+ */
372
+ type GetEachMessageOptions = {
373
+ /**
374
+ Keep the subprocess alive while `getEachMessage()` is waiting.
375
+
376
+ @default true
377
+ */
378
+ readonly reference?: boolean;
379
+ };
380
+
381
+ /**
382
+ Iterate over each `message` from the parent process.
383
+
384
+ This requires the `ipc` option to be `true`. The type of `message` depends on the `serialization` option.
385
+ */
386
+ declare function getEachMessage(getEachMessageOptions?: GetEachMessageOptions): AsyncIterableIterator<Message>;
387
+
388
+ /**
389
+ Retrieves the [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) shared by the `cancelSignal` option.
390
+
391
+ This can only be called inside a subprocess. This requires the `gracefulCancel` option to be `true`.
392
+ */
393
+ declare function getCancelSignal(): Promise<AbortSignal>;
394
+
395
+ // IPC methods in the subprocess
396
+ type IpcMethods<
397
+ IpcEnabled extends boolean,
398
+ Serialization extends Options['serialization'],
399
+ > = IpcEnabled extends true
400
+ ? {
401
+ /**
402
+ Send a `message` to the subprocess.
403
+
404
+ This requires the `ipc` option to be `true`. The type of `message` depends on the `serialization` option.
405
+ */
406
+ sendMessage(message: Message<Serialization>, sendMessageOptions?: SendMessageOptions): Promise<void>;
407
+
408
+ /**
409
+ Receive a single `message` from the subprocess.
410
+
411
+ This requires the `ipc` option to be `true`. The type of `message` depends on the `serialization` option.
412
+ */
413
+ getOneMessage(getOneMessageOptions?: GetOneMessageOptions<Serialization>): Promise<Message<Serialization>>;
414
+
415
+ /**
416
+ Iterate over each `message` from the subprocess.
417
+
418
+ This requires the `ipc` option to be `true`. The type of `message` depends on the `serialization` option.
419
+ */
420
+ getEachMessage(getEachMessageOptions?: GetEachMessageOptions): AsyncIterableIterator<Message<Serialization>>;
421
+ }
422
+ // Those methods only work if the `ipc` option is `true`.
423
+ // At runtime, they are actually defined, in order to provide with a nice error message.
424
+ // At type check time, they are typed as `undefined` to prevent calling them.
425
+ : {
426
+ sendMessage: undefined;
427
+ getOneMessage: undefined;
428
+ getEachMessage: undefined;
429
+ };
430
+
431
+ // Whether IPC is enabled, based on the `ipc`, `node`, `ipcInput` and `gracefulCancel` options
432
+ type HasIpc<OptionsType extends Options> = HasIpcOption<
433
+ OptionsType['ipc'],
434
+ 'node' extends keyof OptionsType ? OptionsType['node'] : undefined,
435
+ 'ipcInput' extends keyof OptionsType ? OptionsType['ipcInput'] : undefined,
436
+ 'gracefulCancel' extends keyof OptionsType ? OptionsType['gracefulCancel'] : undefined
437
+ >;
438
+
439
+ type HasIpcOption<
440
+ IpcOption extends Options['ipc'],
441
+ NodeOption extends Options['node'],
442
+ IpcInputOption extends Options['ipcInput'],
443
+ GracefulCancelOption extends Options['gracefulCancel'],
444
+ > = IpcOption extends true
445
+ ? true
446
+ : IpcOption extends false
447
+ ? false
448
+ : NodeOption extends true
449
+ ? true
450
+ : IpcInputOption extends undefined
451
+ ? GracefulCancelOption extends true
452
+ ? true
453
+ : false
454
+ : true;
455
+
456
+ type FileDescriptorOption = `fd${number}`;
457
+
458
+ // `from` option of `subprocess.readable|duplex|iterable|pipe()`
459
+ // Also used by fd-specific options
460
+ type FromOption = 'stdout' | 'stderr' | 'all' | FileDescriptorOption;
461
+
462
+ // `to` option of `subprocess.writable|duplex|pipe()`
463
+ type ToOption = 'stdin' | FileDescriptorOption;
464
+
465
+ // Options which can be fd-specific like `{verbose: {stdout: 'none', stderr: 'full'}}`
466
+ type FdGenericOption<OptionType> = OptionType | GenericOptionObject<OptionType>;
467
+
468
+ type GenericOptionObject<OptionType> = Readonly<Partial<Record<GenericFromOption, OptionType>>>;
469
+
470
+ type GenericFromOption = FromOption | 'ipc';
471
+
472
+ // Retrieve fd-specific option's value
473
+ type FdSpecificOption<
474
+ GenericOption extends FdGenericOption<unknown>,
475
+ FdNumber extends string,
476
+ > = GenericOption extends GenericOptionObject<unknown>
477
+ ? FdSpecificObjectOption<GenericOption, FdNumber>
478
+ : GenericOption;
479
+
480
+ type FdSpecificObjectOption<
481
+ GenericOption extends GenericOptionObject<unknown>,
482
+ FdNumber extends string,
483
+ > = keyof GenericOption extends GenericFromOption
484
+ ? FdNumberToFromOption<FdNumber, keyof GenericOption> extends never
485
+ ? undefined
486
+ : GenericOption[FdNumberToFromOption<FdNumber, keyof GenericOption>]
487
+ : GenericOption;
488
+
489
+ type FdNumberToFromOption<
490
+ FdNumber extends string,
491
+ GenericOptionKeys extends GenericFromOption,
492
+ > = FdNumber extends 'ipc'
493
+ ? 'ipc' extends GenericOptionKeys
494
+ ? 'ipc'
495
+ : never
496
+ : FdNumber extends '1'
497
+ ? 'stdout' extends GenericOptionKeys
498
+ ? 'stdout'
499
+ : 'fd1' extends GenericOptionKeys
500
+ ? 'fd1'
501
+ : 'all' extends GenericOptionKeys
502
+ ? 'all'
503
+ : never
504
+ : FdNumber extends '2'
505
+ ? 'stderr' extends GenericOptionKeys
506
+ ? 'stderr'
507
+ : 'fd2' extends GenericOptionKeys
508
+ ? 'fd2'
509
+ : 'all' extends GenericOptionKeys
510
+ ? 'all'
511
+ : never
512
+ : `fd${FdNumber}` extends GenericOptionKeys
513
+ ? `fd${FdNumber}`
514
+ : never;
515
+
516
+ declare abstract class CommonError<
517
+ IsSync extends boolean,
518
+ OptionsType extends CommonOptions,
519
+ > extends CommonResult<IsSync, OptionsType> {
520
+ message: CommonErrorProperty<IsSync, OptionsType, 'message'>;
521
+ shortMessage: CommonErrorProperty<IsSync, OptionsType, 'shortMessage'>;
522
+ originalMessage: CommonErrorProperty<IsSync, OptionsType, 'originalMessage'>;
523
+ readonly name: CommonErrorProperty<IsSync, OptionsType, 'name'>;
524
+ stack: CommonErrorProperty<IsSync, OptionsType, 'stack'>;
525
+ }
526
+
527
+ type CommonErrorProperty<
528
+ IsSync extends boolean,
529
+ OptionsType extends CommonOptions,
530
+ PropertyName extends keyof CommonResult<IsSync, OptionsType>,
531
+ > = NonNullable<CommonResult<IsSync, OptionsType>[PropertyName]>;
532
+
533
+ // `result.*` defined only on failure, i.e. on `error.*`
534
+ type ErrorProperties =
535
+ | 'name'
536
+ | 'message'
537
+ | 'stack'
538
+ | 'cause'
539
+ | 'shortMessage'
540
+ | 'originalMessage'
541
+ | 'code';
542
+
543
+ /**
544
+ Result of a subprocess failed execution.
545
+
546
+ This error is thrown as an exception. If the `reject` option is false, it is returned instead.
547
+
548
+ This has the same shape as successful results, with a few additional properties.
549
+ */
550
+ declare class ExecaError<OptionsType extends Options = Options> extends CommonError<false, OptionsType> {
551
+ readonly name: 'ExecaError';
552
+ }
553
+
554
+ /**
555
+ Result of a subprocess failed execution.
556
+
557
+ This error is thrown as an exception. If the `reject` option is false, it is returned instead.
558
+
559
+ This has the same shape as successful results, with a few additional properties.
560
+ */
561
+ declare class ExecaSyncError<OptionsType extends SyncOptions = SyncOptions> extends CommonError<true, OptionsType> {
562
+ readonly name: 'ExecaSyncError';
563
+ }
564
+
565
+ // `options.stdio`, normalized as an array
566
+ type StdioOptionNormalizedArray<OptionsType extends CommonOptions> = StdioOptionNormalized<OptionsType['stdio']>;
567
+
568
+ type StdioOptionNormalized<StdioOption extends CommonOptions['stdio']> = StdioOption extends StdioOptionsArray
569
+ ? StdioOption
570
+ : StdioOption extends StdinOptionCommon
571
+ ? StdioOption extends StdoutStderrOptionCommon
572
+ ? readonly [StdioOption, StdioOption, StdioOption]
573
+ : DefaultStdioOption
574
+ : DefaultStdioOption;
575
+
576
+ // `options.stdio` default value
577
+ type DefaultStdioOption = readonly ['pipe', 'pipe', 'pipe'];
578
+
579
+ // `options.stdin|stdout|stderr|stdio` for a given file descriptor
580
+ type FdStdioOption<
581
+ FdNumber extends string,
582
+ OptionsType extends CommonOptions,
583
+ > = FdStdioOptionProperty<FdNumber, OptionsType>;
584
+
585
+ type FdStdioOptionProperty<
586
+ FdNumber extends string,
587
+ OptionsType extends CommonOptions,
588
+ > = string extends FdNumber ? StdioOptionCommon
589
+ : FdNumber extends keyof StandardStreams
590
+ ? StandardStreams[FdNumber] extends keyof OptionsType
591
+ ? OptionsType[StandardStreams[FdNumber]] extends undefined
592
+ ? FdStdioArrayOption<FdNumber, OptionsType>
593
+ : OptionsType[StandardStreams[FdNumber]]
594
+ : FdStdioArrayOption<FdNumber, OptionsType>
595
+ : FdStdioArrayOption<FdNumber, OptionsType>;
596
+
597
+ // `options.stdio[FdNumber]`, excluding `options.stdin|stdout|stderr`
598
+ type FdStdioArrayOption<
599
+ FdNumber extends string,
600
+ OptionsType extends CommonOptions,
601
+ > = FdStdioArrayOptionProperty<FdNumber, StdioOptionNormalizedArray<OptionsType>>;
602
+
603
+ type FdStdioArrayOptionProperty<
604
+ FdNumber extends string,
605
+ StdioOptionsType,
606
+ > = string extends FdNumber
607
+ ? StdioOptionCommon | undefined
608
+ : StdioOptionsType extends StdioOptionsArray
609
+ ? FdNumber extends keyof StdioOptionsType
610
+ ? StdioOptionsType[FdNumber]
611
+ : StdioOptionNormalizedArray<CommonOptions> extends StdioOptionsType
612
+ ? StdioOptionsType[number]
613
+ : undefined
614
+ : undefined;
615
+
616
+ // Whether a file descriptor is in object mode
617
+ // I.e. whether `result.stdout|stderr|stdio|all` is an array of `unknown` due to `objectMode: true`
618
+ type IsObjectFd<
619
+ FdNumber extends string,
620
+ OptionsType extends CommonOptions,
621
+ > = IsObjectStdioOption<FdStdioOption<FdNumber, OptionsType>>;
622
+
623
+ type IsObjectStdioOption<StdioOptionType> = IsObjectStdioSingleOption<StdioSingleOptionItems<StdioOptionType>>;
624
+
625
+ type IsObjectStdioSingleOption<StdioSingleOptionType> = StdioSingleOptionType extends TransformCommon
626
+ ? BooleanObjectMode<StdioSingleOptionType['objectMode']>
627
+ : StdioSingleOptionType extends DuplexTransform
628
+ ? StdioSingleOptionType['transform']['readableObjectMode']
629
+ : false;
630
+
631
+ type BooleanObjectMode<ObjectModeOption extends boolean | undefined> = ObjectModeOption extends true ? true : false;
632
+
633
+ type AnyAmbiguousStdioOption = AmbiguousStdioOption<boolean, false, boolean>;
634
+
635
+ type InputAmbiguousStdioOption = AnyAmbiguousStdioOption & {
636
+ readonly input: true;
637
+ };
638
+
639
+ type AmbiguousStdioInputValue<StdioOptionType> = StdioOptionType extends AnyAmbiguousStdioOption
640
+ ? AmbiguousStdioInputProperty<StdioOptionType>
641
+ : never;
642
+
643
+ type AmbiguousStdioInputProperty<StdioOptionType> = 'input' extends keyof StdioOptionType
644
+ ? StdioOptionType extends {readonly input?: infer Input} ? Input : never
645
+ : never;
646
+
647
+ // Whether `result.stdio[FdNumber]` is an input stream
648
+ type IsInputFd<
649
+ FdNumber extends string,
650
+ OptionsType extends CommonOptions,
651
+ > = FdNumber extends '0'
652
+ ? true
653
+ : IsInputFdOption<
654
+ FdNumber,
655
+ StdioSingleOptionItems<FdStdioArrayOption<FdNumber, OptionsType>>
656
+ >;
657
+
658
+ type IsInputFdOption<
659
+ FdNumber extends string,
660
+ StdioOptionType,
661
+ > = Intersects<
662
+ StdioOptionType,
663
+ FdNumber extends '1' | '2' ? InputStdioOption : InputStdioOption | InputAmbiguousStdioOption
664
+ > extends true
665
+ ? true
666
+ : FdNumber extends '1' | '2'
667
+ ? false
668
+ : true extends AmbiguousStdioInputValue<StdioOptionType>
669
+ ? boolean
670
+ : false;
671
+
672
+ // Whether `result.stdin|stdout|stderr|all|stdio[*]` is `undefined`
673
+ type IgnoresResultOutput<
674
+ FdNumber extends string,
675
+ OptionsType extends CommonOptions,
676
+ > = FdSpecificOption<OptionsType['buffer'], FdNumber> extends false
677
+ ? true
678
+ : IgnoresResultOutputDirection<IsInputFd<FdNumber, OptionsType>, FdNumber, OptionsType>;
679
+
680
+ type IgnoresResultOutputDirection<
681
+ IsInput extends boolean,
682
+ FdNumber extends string,
683
+ OptionsType extends CommonOptions,
684
+ > = IsInput extends true ? true : IgnoresSubprocessOutput<FdNumber, OptionsType>;
685
+
686
+ // Whether `subprocess.stdout|stderr|all` is `undefined|null`
687
+ type IgnoresSubprocessOutput<
688
+ FdNumber extends string,
689
+ OptionsType extends CommonOptions,
690
+ > = IgnoresOutput<FdNumber, FdStdioOption<FdNumber, OptionsType>>;
691
+
692
+ type IgnoresOutput<
693
+ FdNumber extends string,
694
+ StdioOptionType,
695
+ > = StdioOptionType extends NoStreamStdioOption<FdNumber> ? true : false;
696
+
697
+ type DefaultEncodingOption = 'utf8';
698
+ type TextEncodingOption =
699
+ | DefaultEncodingOption
700
+ | 'utf16le';
701
+
702
+ type BufferEncodingOption = 'buffer';
703
+ type BinaryEncodingOption =
704
+ | BufferEncodingOption
705
+ | 'hex'
706
+ | 'base64'
707
+ | 'base64url'
708
+ | 'latin1'
709
+ | 'ascii';
710
+
711
+ // `options.encoding`
712
+ type EncodingOption =
713
+ | TextEncodingOption
714
+ | BinaryEncodingOption
715
+ | undefined;
716
+
717
+ // `result.stdout|stderr|stdio`
718
+ type ResultStdioNotAll<
719
+ FdNumber extends string,
720
+ OptionsType extends CommonOptions,
721
+ > = ResultStdio<FdNumber, FdNumber, FdNumber, OptionsType>;
722
+
723
+ // `result.stdout|stderr|stdio|all`
724
+ type ResultStdio<
725
+ MainFdNumber extends string,
726
+ ObjectFdNumber extends string,
727
+ LinesFdNumber extends string,
728
+ OptionsType extends CommonOptions,
729
+ > = ResultStdioProperty<
730
+ ObjectFdNumber,
731
+ LinesFdNumber,
732
+ IgnoresResultOutput<MainFdNumber, OptionsType>,
733
+ OptionsType
734
+ >;
735
+
736
+ type ResultStdioProperty<
737
+ ObjectFdNumber extends string,
738
+ LinesFdNumber extends string,
739
+ StreamOutputIgnored,
740
+ OptionsType extends CommonOptions,
741
+ > = StreamOutputIgnored extends true
742
+ ? undefined
743
+ : ResultStdioItem<
744
+ IsObjectFd<ObjectFdNumber, OptionsType>,
745
+ FdSpecificOption<OptionsType['lines'], LinesFdNumber>,
746
+ OptionsType['encoding']
747
+ >;
748
+
749
+ type ResultStdioItem<
750
+ IsObjectResult,
751
+ LinesOption extends boolean | undefined,
752
+ Encoding extends CommonOptions['encoding'],
753
+ > = IsObjectResult extends true ? unknown[]
754
+ : Encoding extends BufferEncodingOption
755
+ ? Uint8Array
756
+ : LinesOption extends true
757
+ ? Encoding extends BinaryEncodingOption
758
+ ? string
759
+ : string[]
760
+ : string;
761
+
762
+ // `result.all`
763
+ type ResultAll<OptionsType extends CommonOptions> =
764
+ ResultAllProperty<OptionsType['all'], OptionsType>;
765
+
766
+ type ResultAllProperty<
767
+ AllOption extends CommonOptions['all'],
768
+ OptionsType extends CommonOptions,
769
+ > = AllOption extends true
770
+ ? ResultStdio<
771
+ AllMainFd<OptionsType>,
772
+ AllObjectFd<OptionsType>,
773
+ AllLinesFd<OptionsType>,
774
+ OptionsType
775
+ >
776
+ : undefined;
777
+
778
+ type AllMainFd<OptionsType extends CommonOptions> =
779
+ IgnoresResultOutput<'1', OptionsType> extends true ? '2' : '1';
780
+
781
+ type AllObjectFd<OptionsType extends CommonOptions> =
782
+ IsObjectFd<'1', OptionsType> extends true ? '1' : '2';
783
+
784
+ type AllLinesFd<OptionsType extends CommonOptions> =
785
+ FdSpecificOption<OptionsType['lines'], '1'> extends true ? '1' : '2';
786
+
787
+ // `result.stdio`
788
+ type ResultStdioArray<
789
+ IsSync extends boolean,
790
+ OptionsType extends CommonOptions,
791
+ > = [
792
+ ...MapResultStdio<StdioOptionNormalizedArray<OptionsType>, OptionsType>,
793
+ ...ResultIpcStdio<IsSync, OptionsType>,
794
+ ];
795
+
796
+ type MapResultStdio<
797
+ StdioOptionsArrayType extends readonly unknown[],
798
+ OptionsType extends CommonOptions,
799
+ > = {
800
+ -readonly [FdNumber in keyof StdioOptionsArrayType]: ResultStdioNotAll<
801
+ FdNumber extends string ? FdNumber : string,
802
+ OptionsType
803
+ >
804
+ };
805
+
806
+ // With the `ipc` option, the subprocess' IPC channel adds one last file descriptor, which has no output. Synchronous methods do not support IPC.
807
+ type ResultIpcStdio<
808
+ IsSync extends boolean,
809
+ OptionsType extends CommonOptions,
810
+ > = IsSync extends true
811
+ ? []
812
+ : HasIpc<StricterOptions<OptionsType, Options>> extends true
813
+ ? [undefined]
814
+ : [];
815
+
816
+ // `result.ipcOutput`
817
+ // This is empty unless the `ipc` option is `true`.
818
+ // Also, this is empty if the `buffer` option is `false`.
819
+ type ResultIpcOutput<
820
+ IsSync,
821
+ OptionsType extends CommonOptions,
822
+ > = IsSync extends true
823
+ ? []
824
+ : ResultIpcAsync<
825
+ FdSpecificOption<OptionsType['buffer'], 'ipc'>,
826
+ HasIpc<StricterOptions<OptionsType, Options>>,
827
+ OptionsType['serialization']
828
+ >;
829
+
830
+ type ResultIpcAsync<
831
+ BufferOption extends boolean | undefined,
832
+ IpcEnabled extends boolean,
833
+ SerializationOption extends CommonOptions['serialization'],
834
+ > = BufferOption extends false
835
+ ? []
836
+ : IpcEnabled extends true
837
+ ? Array<Message<SerializationOption>>
838
+ : [];
839
+
840
+ declare abstract class CommonResult<
841
+ IsSync extends boolean,
842
+ OptionsType extends CommonOptions,
843
+ > {
844
+ /**
845
+ The output of the subprocess on [`stdout`](https://en.wikipedia.org/wiki/Standard_streams#Standard_output_(stdout)).
846
+
847
+ This is `undefined` if the `stdout` option is set to only `'inherit'`, `'ignore'`, `Writable` or `integer`, or if the `buffer` option is `false`.
848
+
849
+ This is an array if the `lines` option is `true`, or if the `stdout` option is a transform in object mode.
850
+ */
851
+ stdout: ResultStdioNotAll<'1', OptionsType>;
852
+
853
+ /**
854
+ The output of the subprocess on [`stderr`](https://en.wikipedia.org/wiki/Standard_streams#Standard_error_(stderr)).
855
+
856
+ This is `undefined` if the `stderr` option is set to only `'inherit'`, `'ignore'`, `Writable` or `integer`, or if the `buffer` option is `false`.
857
+
858
+ This is an array if the `lines` option is `true`, or if the `stderr` option is a transform in object mode.
859
+ */
860
+ stderr: ResultStdioNotAll<'2', OptionsType>;
861
+
862
+ /**
863
+ The output of the subprocess with `result.stdout` and `result.stderr` interleaved.
864
+
865
+ This requires the `all` option to be `true`.
866
+
867
+ This is `undefined` if both `stdout` and `stderr` options are set to only `'inherit'`, `'ignore'`, `Writable` or `integer`, or if the `buffer` option is `false` for both.
868
+
869
+ This is an array if the `lines` option is `true`, or if either the `stdout` or `stderr` option is a transform in object mode.
870
+ */
871
+ all: ResultAll<OptionsType>;
872
+
873
+ /**
874
+ The output of the subprocess on `stdin`, `stdout`, `stderr` and other file descriptors.
875
+
876
+ Items are `undefined` when their corresponding `stdio` option is set to only `'inherit'`, `'ignore'`, `Writable` or `integer`, or if the `buffer` option is `false`.
877
+
878
+ With the `ipc` option, the last item is the subprocess' IPC channel, which is always `undefined`.
879
+
880
+ Items are arrays when their corresponding `stdio` option is a transform in object mode.
881
+ */
882
+ stdio: ResultStdioArray<IsSync, OptionsType>;
883
+
884
+ /**
885
+ All the messages sent by the subprocess to the current process.
886
+
887
+ This is empty unless the `ipc` option is `true`. Also, this is empty if the `buffer` option is `false`.
888
+ */
889
+ ipcOutput: ResultIpcOutput<IsSync, OptionsType>;
890
+
891
+ /**
892
+ Results of the other subprocesses that were piped into this subprocess.
893
+
894
+ This array is initially empty and is populated each time the `subprocess.pipe()` method resolves.
895
+ */
896
+ pipedFrom: Unless<IsSync, Array<Result | ExecaError>, []>;
897
+
898
+ /**
899
+ The file and arguments that were run.
900
+ */
901
+ command: string;
902
+
903
+ /**
904
+ Same as `command` but escaped.
905
+
906
+ With the `shell` option, the command is not quoted, since the shell interprets it.
907
+ */
908
+ escapedCommand: string;
909
+
910
+ /**
911
+ The current directory in which the command was run.
912
+ */
913
+ cwd: string;
914
+
915
+ /**
916
+ Duration of the subprocess, in milliseconds.
917
+ */
918
+ durationMs: number;
919
+
920
+ /**
921
+ Whether the subprocess failed to run.
922
+
923
+ When this is `true`, the result is an `ExecaError` instance with additional error-related properties.
924
+ */
925
+ failed: boolean;
926
+
927
+ /**
928
+ Whether the subprocess timed out due to the `timeout` option.
929
+ */
930
+ timedOut: boolean;
931
+
932
+ /**
933
+ Whether the subprocess was canceled using the `cancelSignal` option.
934
+ */
935
+ isCanceled: boolean;
936
+
937
+ /**
938
+ Whether the subprocess was canceled using both the `cancelSignal` and the `gracefulCancel` options.
939
+ */
940
+ isGracefullyCanceled: boolean;
941
+
942
+ /**
943
+ Whether the subprocess failed because its output was larger than the `maxBuffer` option.
944
+ */
945
+ isMaxBuffer: boolean;
946
+
947
+ /**
948
+ Whether the subprocess was terminated by a signal (like `SIGTERM`) sent by either:
949
+ - The current process.
950
+ - Another process. This case is [not supported on Windows](https://nodejs.org/api/process.html#signal-events).
951
+ */
952
+ isTerminated: boolean;
953
+
954
+ /**
955
+ Whether the subprocess was terminated by the `SIGKILL` signal sent by the `forceKillAfterDelay` option.
956
+ */
957
+ isForcefullyTerminated: boolean;
958
+
959
+ /**
960
+ The numeric [exit code](https://en.wikipedia.org/wiki/Exit_status) of the subprocess that was run.
961
+
962
+ This is `undefined` when the subprocess could not be spawned or was terminated by a signal.
963
+ */
964
+ exitCode?: number;
965
+
966
+ /**
967
+ The name of the signal (like `SIGTERM`) that terminated the subprocess, sent by either:
968
+ - The current process.
969
+ - Another process. This case is [not supported on Windows](https://nodejs.org/api/process.html#signal-events).
970
+
971
+ If a signal terminated the subprocess, this property is defined and included in the error message. Otherwise it is `undefined`.
972
+ */
973
+ signal?: keyof SignalConstants;
974
+
975
+ /**
976
+ A human-friendly description of the signal that was used to terminate the subprocess.
977
+
978
+ If a signal terminated the subprocess, this property is defined and included in the error message. Otherwise it is `undefined`. It is also `undefined` when the signal is very uncommon which should seldomly happen.
979
+ */
980
+ signalDescription?: string;
981
+
982
+ /**
983
+ Error message when the subprocess failed to run.
984
+ */
985
+ message?: string;
986
+
987
+ /**
988
+ This is the same as `error.message` except it does not include the subprocess output.
989
+ */
990
+ shortMessage?: string;
991
+
992
+ /**
993
+ Original error message. This is the same as `error.message` excluding the subprocess output and some additional information added by Execa.
994
+
995
+ This exists only in specific instances, such as during a timeout.
996
+ */
997
+ originalMessage?: string;
998
+
999
+ /**
1000
+ Underlying error, if there is one. For example, this is set by `subprocess.kill(error)`.
1001
+
1002
+ This is usually an `Error` instance.
1003
+ */
1004
+ cause?: unknown;
1005
+
1006
+ /**
1007
+ Node.js-specific [error code](https://nodejs.org/api/errors.html#errorcode), when available.
1008
+ */
1009
+ code?: string;
1010
+
1011
+ // We cannot `extend Error` because `message` must be optional. So we copy its types here.
1012
+ readonly name?: Error['name'];
1013
+ stack?: Error['stack'];
1014
+ }
1015
+
1016
+ type SuccessResult<
1017
+ IsSync extends boolean = boolean,
1018
+ OptionsType extends CommonOptions = CommonOptions,
1019
+ > = InstanceType<typeof CommonResult<IsSync, OptionsType>> & OmitErrorIfReject<OptionsType['reject']>;
1020
+
1021
+ type OmitErrorIfReject<RejectOption extends CommonOptions['reject']> = Record<ErrorProperties, RejectOption extends false ? unknown : never>;
1022
+
1023
+ /**
1024
+ Result of a subprocess successful execution.
1025
+
1026
+ When the subprocess fails, it is rejected with an `ExecaError` instead.
1027
+ */
1028
+ type Result<OptionsType extends Options = Options> = SuccessResult<false, OptionsType>;
1029
+
1030
+ /**
1031
+ Result of a subprocess successful execution.
1032
+
1033
+ When the subprocess fails, it is rejected with an `ExecaError` instead.
1034
+ */
1035
+ type SyncResult<OptionsType extends SyncOptions = SyncOptions> = SuccessResult<true, OptionsType>;
1036
+
1037
+ type VerboseOption = FdGenericOption<
1038
+ | 'none'
1039
+ | 'short'
1040
+ | 'full'
1041
+ | VerboseFunction
1042
+ >;
1043
+
1044
+ type VerboseFunction = (verboseLine: string, verboseObject: MinimalVerboseObject) => string | void;
1045
+
1046
+ type GenericVerboseObject = {
1047
+ /**
1048
+ Event type. This can be:
1049
+ - `'command'`: subprocess start
1050
+ - `'output'`: `stdout`/`stderr` output
1051
+ - `'ipc'`: IPC output
1052
+ - `'error'`: subprocess failure
1053
+ - `'duration'`: subprocess success or failure
1054
+ */
1055
+ type: 'command' | 'output' | 'ipc' | 'error' | 'duration';
1056
+
1057
+ /**
1058
+ Depending on `verboseObject.type`, this is:
1059
+ - `'command'`: the `result.escapedCommand`
1060
+ - `'output'`: one line from `result.stdout` or `result.stderr`
1061
+ - `'ipc'`: one IPC message from `result.ipcOutput`
1062
+ - `'error'`: the `error.shortMessage`
1063
+ - `'duration'`: the `result.durationMs`, formatted as `(done in 29ms)`
1064
+ */
1065
+ message: string;
1066
+
1067
+ /**
1068
+ The file and arguments that were run. This is the same as `result.escapedCommand`.
1069
+ */
1070
+ escapedCommand: string;
1071
+
1072
+ /**
1073
+ Serial number identifying the subprocess within the current process. It is incremented from `'0'`.
1074
+
1075
+ This is helpful when multiple subprocesses are running at the same time.
1076
+
1077
+ This is similar to a [PID](https://en.wikipedia.org/wiki/Process_identifier) except it has no maximum limit, which means it never repeats. Also, it is usually shorter.
1078
+ */
1079
+ commandId: string;
1080
+
1081
+ /**
1082
+ Event date/time.
1083
+ */
1084
+ timestamp: Date;
1085
+
1086
+ /**
1087
+ Whether this subprocess is the destination of another subprocess' `pipe()` method. This is `true` when it was spawned using the template string or array syntax of `pipe()`, `false` otherwise.
1088
+ */
1089
+ piped: boolean;
1090
+ };
1091
+
1092
+ type MinimalVerboseObject = GenericVerboseObject & {
1093
+ // We cannot use the `CommonOptions` type because it would make this type recursive
1094
+ options: object;
1095
+ result?: never;
1096
+ };
1097
+
1098
+ /**
1099
+ Subprocess event object, for logging purpose, using the `verbose` option and `execa()`.
1100
+ */
1101
+ type VerboseObject = GenericVerboseObject & {
1102
+ /**
1103
+ The options passed to the subprocess.
1104
+ */
1105
+ options: Options;
1106
+
1107
+ /**
1108
+ Subprocess result.
1109
+
1110
+ This is `undefined` if `verboseObject.type` is `'command'`, `'output'` or `'ipc'`.
1111
+ */
1112
+ result?: Result;
1113
+ };
1114
+
1115
+ /**
1116
+ Subprocess event object, for logging purpose, using the `verbose` option and `execaSync()`.
1117
+ */
1118
+ type SyncVerboseObject = GenericVerboseObject & {
1119
+ /**
1120
+ The options passed to the subprocess.
1121
+ */
1122
+ options: SyncOptions;
1123
+
1124
+ /**
1125
+ Subprocess result.
1126
+
1127
+ This is `undefined` if `verboseObject.type` is `'command'`, `'output'` or `'ipc'`.
1128
+ */
1129
+ result?: SyncResult;
1130
+ };
1131
+
1132
+ type ChunkForEncoding<Encoding extends EncodingOption> = Encoding extends BinaryEncodingOption ? Uint8Array : string;
1133
+
1134
+ type CommonOptions<
1135
+ IsSync extends boolean = boolean,
1136
+ Encoding extends EncodingOption = EncodingOption,
1137
+ > = {
1138
+ /**
1139
+ Prefer locally installed binaries when looking for a binary to execute.
1140
+
1141
+ @default `true` with `$`, `false` otherwise
1142
+ */
1143
+ readonly preferLocal?: boolean;
1144
+
1145
+ /**
1146
+ Preferred path to find locally installed binaries, when using the `preferLocal` option.
1147
+
1148
+ @default `cwd` option
1149
+ */
1150
+ readonly localDir?: string | URL;
1151
+
1152
+ /**
1153
+ If `true`, runs with Node.js. The first argument must be a Node.js file.
1154
+
1155
+ The subprocess inherits the current Node.js [CLI flags](https://nodejs.org/api/cli.html#options) and version. This can be overridden using the `nodeOptions` and `nodePath` options.
1156
+
1157
+ @default `true` with `execaNode()`, `false` otherwise
1158
+ */
1159
+ readonly node?: boolean;
1160
+
1161
+ /**
1162
+ List of [CLI flags](https://nodejs.org/api/cli.html#cli_options) passed to the Node.js executable.
1163
+
1164
+ Requires the `node` option to be `true`.
1165
+
1166
+ @default [`process.execArgv`](https://nodejs.org/api/process.html#process_process_execargv) (current Node.js CLI flags)
1167
+ */
1168
+ readonly nodeOptions?: readonly string[];
1169
+
1170
+ /**
1171
+ Path to the Node.js executable.
1172
+
1173
+ Requires the `node` option to be `true`.
1174
+
1175
+ @default [`process.execPath`](https://nodejs.org/api/process.html#process_process_execpath) (current Node.js executable)
1176
+ */
1177
+ readonly nodePath?: string | URL;
1178
+
1179
+ /**
1180
+ If `true`, runs the command inside of a [shell](https://en.wikipedia.org/wiki/Shell_(computing)).
1181
+
1182
+ Uses [`/bin/sh`](https://en.wikipedia.org/wiki/Unix_shell) on UNIX and [`cmd.exe`](https://en.wikipedia.org/wiki/Cmd.exe) on Windows. A different shell can be specified as a string. The shell should understand the `-c` switch on UNIX or `/d /s /c` on Windows.
1183
+
1184
+ We recommend against using this option.
1185
+
1186
+ @default false
1187
+ */
1188
+ readonly shell?: boolean | string | URL;
1189
+
1190
+ /**
1191
+ Current [working directory](https://en.wikipedia.org/wiki/Working_directory) of the subprocess.
1192
+
1193
+ This is also used to resolve the `nodePath` option when it is a relative path.
1194
+
1195
+ @default process.cwd()
1196
+ */
1197
+ readonly cwd?: string | URL;
1198
+
1199
+ /**
1200
+ [Environment variables](https://en.wikipedia.org/wiki/Environment_variable).
1201
+
1202
+ Unless the `extendEnv` option is `false`, the subprocess also uses the current process' environment variables ([`process.env`](https://nodejs.org/api/process.html#processenv)).
1203
+
1204
+ @default {}
1205
+ */
1206
+ readonly env?: Readonly<Partial<Record<string, string>>>;
1207
+
1208
+ /**
1209
+ If `true`, the subprocess uses both the `env` option and the current process' environment variables ([`process.env`](https://nodejs.org/api/process.html#processenv)).
1210
+ If `false`, only the `env` option is used, not `process.env`. However, when `env` has no `PATH`, the `preferLocal` and `node` options still add their directories to `process.env.PATH`.
1211
+
1212
+ @default true
1213
+ */
1214
+ readonly extendEnv?: boolean;
1215
+
1216
+ /**
1217
+ Write some input to the subprocess' [`stdin`](https://en.wikipedia.org/wiki/Standard_streams#Standard_input_(stdin)).
1218
+
1219
+ See also the `inputFile` and `stdin` options.
1220
+ */
1221
+ readonly input?: string | Uint8Array | Readable;
1222
+
1223
+ /**
1224
+ Use a file as input to the subprocess' [`stdin`](https://en.wikipedia.org/wiki/Standard_streams#Standard_input_(stdin)).
1225
+
1226
+ See also the `input` and `stdin` options.
1227
+ */
1228
+ readonly inputFile?: string | URL;
1229
+
1230
+ /**
1231
+ How to setup the subprocess' [standard input](https://en.wikipedia.org/wiki/Standard_streams#Standard_input_(stdin)). This can be `'pipe'`, `'overlapped'`, `'ignore`, `'inherit'`, a file descriptor integer, a Node.js `Readable` stream, a web `ReadableStream`, a `{ file: 'path' }` object, a file URL, an `Iterable`, an `AsyncIterable`, an `Uint8Array`, a generator function, a `Duplex` or a web `TransformStream`.
1232
+
1233
+ This can be an array of values such as `['inherit', 'pipe']` or `[fileUrl, 'pipe']`.
1234
+
1235
+ @default `'inherit'` with `$`, `'pipe'` otherwise
1236
+ */
1237
+ readonly stdin?: StdinOptionCommon<IsSync, boolean, ChunkForEncoding<Encoding>>;
1238
+
1239
+ /**
1240
+ How to setup the subprocess' [standard output](https://en.wikipedia.org/wiki/Standard_streams#Standard_input_(stdin)). This can be `'pipe'`, `'overlapped'`, `'ignore`, `'inherit'`, a file descriptor integer, a Node.js `Writable` stream, a web `WritableStream`, a `{ file: 'path' }` object, a file URL, a generator function, a `Duplex` or a web `TransformStream`.
1241
+
1242
+ This can be an array of values such as `['inherit', 'pipe']` or `[fileUrl, 'pipe']`.
1243
+
1244
+ @default 'pipe'
1245
+ */
1246
+ readonly stdout?: StdoutStderrOptionCommon<IsSync, boolean, ChunkForEncoding<Encoding>>;
1247
+
1248
+ /**
1249
+ How to setup the subprocess' [standard error](https://en.wikipedia.org/wiki/Standard_streams#Standard_input_(stdin)). This can be `'pipe'`, `'overlapped'`, `'ignore`, `'inherit'`, a file descriptor integer, a Node.js `Writable` stream, a web `WritableStream`, a `{ file: 'path' }` object, a file URL, a generator function, a `Duplex` or a web `TransformStream`.
1250
+
1251
+ This can be an array of values such as `['inherit', 'pipe']` or `[fileUrl, 'pipe']`.
1252
+
1253
+ @default 'pipe'
1254
+ */
1255
+ readonly stderr?: StdoutStderrOptionCommon<IsSync, boolean, ChunkForEncoding<Encoding>>;
1256
+
1257
+ /**
1258
+ Like the `stdin`, `stdout` and `stderr` options but for all [file descriptors](https://en.wikipedia.org/wiki/File_descriptor) at once. For example, `{stdio: ['ignore', 'pipe', 'pipe']}` is the same as `{stdin: 'ignore', stdout: 'pipe', stderr: 'pipe'}`.
1259
+
1260
+ A single string can be used as a shortcut.
1261
+
1262
+ The array can have more than 3 items, to create additional file descriptors beyond `stdin`/`stdout`/`stderr`.
1263
+
1264
+ @default 'pipe'
1265
+ */
1266
+ readonly stdio?: StdioOptionsProperty<IsSync, ChunkForEncoding<Encoding>>;
1267
+
1268
+ /**
1269
+ Add a `subprocess.all` stream and a `result.all` property. They contain the combined/interleaved output of the subprocess' `stdout` and `stderr`.
1270
+
1271
+ @default false
1272
+ */
1273
+ readonly all?: boolean;
1274
+
1275
+ /**
1276
+ If the subprocess outputs text, specifies its character encoding, either [`'utf8'`](https://en.wikipedia.org/wiki/UTF-8) or [`'utf16le'`](https://en.wikipedia.org/wiki/UTF-16).
1277
+
1278
+ If it outputs binary data instead, this should be either:
1279
+ - `'buffer'`: returns the binary output as an `Uint8Array`.
1280
+ - [`'hex'`](https://en.wikipedia.org/wiki/Hexadecimal), [`'base64'`](https://en.wikipedia.org/wiki/Base64), [`'base64url'`](https://en.wikipedia.org/wiki/Base64#RFC_4648), [`'latin1'`](https://nodejs.org/api/buffer.html#buffers-and-character-encodings) or [`'ascii'`](https://nodejs.org/api/buffer.html#buffers-and-character-encodings): encodes the binary output as a string.
1281
+
1282
+ The output is available with `result.stdout`, `result.stderr` and `result.stdio`.
1283
+
1284
+ String input passed with the `input` or `stdin` option is always encoded with UTF-8, whatever this option is. With a text encoding, `stdin` transforms also decode their input with UTF-8.
1285
+
1286
+ @default 'utf8'
1287
+ */
1288
+ readonly encoding?: Encoding;
1289
+
1290
+ /**
1291
+ Set `result.stdout`, `result.stderr`, `result.all` and `result.stdio` as arrays of strings, splitting the subprocess' output into lines.
1292
+
1293
+ This cannot be used if the `encoding` option is binary.
1294
+
1295
+ By default, this applies to both `stdout` and `stderr`, but different values can also be passed.
1296
+
1297
+ @default false
1298
+ */
1299
+ readonly lines?: FdGenericOption<boolean>;
1300
+
1301
+ /**
1302
+ Strip the final [newline character](https://en.wikipedia.org/wiki/Newline) from the output.
1303
+
1304
+ If the `lines` option is true, this applies to each output line instead.
1305
+
1306
+ By default, this applies to both `stdout` and `stderr`, but different values can also be passed.
1307
+
1308
+ @default true
1309
+ */
1310
+ readonly stripFinalNewline?: FdGenericOption<boolean>;
1311
+
1312
+ /**
1313
+ Largest amount of data allowed on `stdout`, `stderr` and `stdio`.
1314
+
1315
+ By default, this applies to both `stdout` and `stderr`, but different values can also be passed.
1316
+
1317
+ With synchronous methods, this cannot be enforced per file descriptor while the subprocess runs, since `spawnSync()` only accepts a single value, which limits the total output of all file descriptors. The `maxBuffer.stdout` value is used for it. The other file descriptors' own values are enforced from the output, once the subprocess ended, and cannot be higher than `maxBuffer.stdout`. Also, with synchronous methods, this is measured in bytes instead of characters or lines, for the same reason.
1318
+
1319
+ When reached, `error.isMaxBuffer` becomes `true`.
1320
+
1321
+ @default 100_000_000
1322
+ */
1323
+ readonly maxBuffer?: FdGenericOption<number>;
1324
+
1325
+ /**
1326
+ When `buffer` is `false`, the `result.stdout`, `result.stderr`, `result.all` and `result.stdio` properties are not set.
1327
+
1328
+ By default, this applies to both `stdout` and `stderr`, but different values can also be passed.
1329
+
1330
+ @default true
1331
+ */
1332
+ readonly buffer?: FdGenericOption<boolean>;
1333
+
1334
+ /**
1335
+ Enables exchanging messages with the subprocess using `subprocess.sendMessage(message)`, `subprocess.getOneMessage()` and `subprocess.getEachMessage()`.
1336
+
1337
+ The subprocess must be a Node.js file.
1338
+
1339
+ @default `true` if the `node`, `ipcInput` or `gracefulCancel` option is set, `false` otherwise
1340
+ */
1341
+ readonly ipc?: Unless<IsSync, boolean>;
1342
+
1343
+ /**
1344
+ Specify the kind of serialization used for sending messages between subprocesses when using the `ipc` option.
20
1345
 
21
- @default true
22
- */
23
- readonly cleanup?: boolean;
1346
+ @default 'advanced'
1347
+ */
1348
+ readonly serialization?: Unless<IsSync, 'json' | 'advanced'>;
24
1349
 
25
- /**
26
- Prefer locally installed binaries when looking for a binary to execute.
1350
+ /**
1351
+ Sends an IPC message when the subprocess starts.
27
1352
 
28
- If you `$ npm install foo`, you can then `execa('foo')`.
1353
+ The subprocess must be a Node.js file. The value's type depends on the `serialization` option.
1354
+ */
1355
+ readonly ipcInput?: Unless<IsSync, Message>;
29
1356
 
30
- @default false
31
- */
32
- readonly preferLocal?: boolean;
1357
+ /**
1358
+ If `verbose` is `'short'`, prints the command on [`stderr`](https://en.wikipedia.org/wiki/Standard_streams#Standard_error_(stderr)): its file, arguments, duration and (if it failed) error message.
33
1359
 
34
- /**
35
- Preferred path to find locally installed binaries in (use with `preferLocal`).
1360
+ If `verbose` is `'full'` or a function, the command's [`stdout`](https://en.wikipedia.org/wiki/Standard_streams#Standard_output_(stdout)), `stderr` and IPC messages are also printed.
36
1361
 
37
- @default process.cwd()
38
- */
39
- readonly localDir?: string;
1362
+ A function can be passed to customize logging.
40
1363
 
41
- /**
42
- Path to the Node.js executable to use in child processes.
1364
+ By default, this applies to both `stdout` and `stderr`, but different values can also be passed.
43
1365
 
44
- This can be either an absolute path or a path relative to the `cwd` option.
1366
+ @default 'none'
1367
+ */
1368
+ readonly verbose?: VerboseOption;
45
1369
 
46
- Requires `preferLocal` to be `true`.
1370
+ /**
1371
+ Setting this to `false` resolves the result's promise with the error instead of rejecting it.
47
1372
 
48
- For example, this can be used together with [`get-node`](https://github.com/ehmicky/get-node) to run a specific Node.js version in a child process.
1373
+ @default true
1374
+ */
1375
+ readonly reject?: boolean;
49
1376
 
50
- @default process.execPath
51
- */
52
- readonly execPath?: string;
1377
+ /**
1378
+ If `timeout` is greater than `0`, the subprocess will be terminated if it runs for longer than that amount of milliseconds. It must be a non-negative integer, up to `2147483647` (about 24.8 days).
53
1379
 
54
- /**
55
- Buffer the output from the spawned process. When set to `false`, you must read the output of `stdout` and `stderr` (or `all` if the `all` option is `true`). Otherwise the returned promise will not be resolved/rejected.
1380
+ On timeout, `error.timedOut` becomes `true`.
56
1381
 
57
- If the spawned process fails, `error.stdout`, `error.stderr`, and `error.all` will contain the buffered data.
1382
+ @default 0
1383
+ */
1384
+ readonly timeout?: number;
58
1385
 
59
- @default true
60
- */
61
- readonly buffer?: boolean;
1386
+ /**
1387
+ When the `cancelSignal` is [aborted](https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort), terminate the subprocess using a `SIGTERM` signal.
62
1388
 
63
- /**
64
- Same options as [`stdio`](https://nodejs.org/dist/latest-v6.x/docs/api/child_process.html#child_process_options_stdio).
1389
+ When aborted, `error.isCanceled` becomes `true`.
65
1390
 
66
- @default 'pipe'
67
- */
68
- readonly stdin?: StdioOption;
1391
+ @example
1392
+ ```
1393
+ import {execaNode} from 'execa';
69
1394
 
70
- /**
71
- Same options as [`stdio`](https://nodejs.org/dist/latest-v6.x/docs/api/child_process.html#child_process_options_stdio).
1395
+ const controller = new AbortController();
1396
+ const cancelSignal = controller.signal;
72
1397
 
73
- @default 'pipe'
74
- */
75
- readonly stdout?: StdioOption;
1398
+ setTimeout(() => {
1399
+ controller.abort();
1400
+ }, 5000);
76
1401
 
77
- /**
78
- Same options as [`stdio`](https://nodejs.org/dist/latest-v6.x/docs/api/child_process.html#child_process_options_stdio).
1402
+ try {
1403
+ await execaNode({cancelSignal})`build.js`;
1404
+ } catch (error) {
1405
+ if (error.isCanceled) {
1406
+ console.error('Canceled by cancelSignal.');
1407
+ }
79
1408
 
80
- @default 'pipe'
81
- */
82
- readonly stderr?: StdioOption;
1409
+ throw error;
1410
+ }
1411
+ ```
1412
+ */
1413
+ readonly cancelSignal?: Unless<IsSync, AbortSignal>;
83
1414
 
84
- /**
85
- Setting this to `false` resolves the promise with the error instead of rejecting it.
1415
+ /**
1416
+ When the `cancelSignal` option is [aborted](https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort), do not send any `SIGTERM`. Instead, abort the [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) returned by `getCancelSignal()`. The subprocess should use it to terminate gracefully.
86
1417
 
87
- @default true
88
- */
89
- readonly reject?: boolean;
1418
+ The subprocess must be a Node.js file.
90
1419
 
91
- /**
92
- Add an `.all` property on the promise and the resolved value. The property contains the output of the process with `stdout` and `stderr` interleaved.
1420
+ When aborted, `error.isGracefullyCanceled` becomes `true`.
93
1421
 
94
- @default false
95
- */
96
- readonly all?: boolean;
1422
+ @default false
1423
+ */
1424
+ readonly gracefulCancel?: Unless<IsSync, boolean>;
97
1425
 
98
- /**
99
- Strip the final [newline character](https://en.wikipedia.org/wiki/Newline) from the output.
1426
+ /**
1427
+ If the subprocess is terminated but does not exit, forcefully exit it by sending [`SIGKILL`](https://en.wikipedia.org/wiki/Signal_(IPC)#SIGKILL). The delay must be a non-negative integer, up to `2147483647` milliseconds (about 24.8 days). When `true`, the default `5000` is used. When `false`, the subprocess is not forcefully exited.
100
1428
 
101
- @default true
102
- */
103
- readonly stripFinalNewline?: boolean;
1429
+ When this happens, `error.isForcefullyTerminated` becomes `true`.
104
1430
 
105
- /**
106
- Set to `false` if you don't want to extend the environment variables when providing the `env` property.
1431
+ @default 5000
1432
+ */
1433
+ readonly forceKillAfterDelay?: Unless<IsSync, number | boolean>;
107
1434
 
108
- @default true
109
- */
110
- readonly extendEnv?: boolean;
1435
+ /**
1436
+ Default [signal](https://en.wikipedia.org/wiki/Signal_(IPC)) used to terminate the subprocess.
111
1437
 
112
- /**
113
- Current working directory of the child process.
1438
+ This can be either a name (like `'SIGTERM'`) or a number (like `9`).
114
1439
 
115
- @default process.cwd()
116
- */
117
- readonly cwd?: string;
1440
+ @default 'SIGTERM'
1441
+ */
1442
+ readonly killSignal?: keyof SignalConstants | number;
118
1443
 
119
- /**
120
- Environment key-value pairs. Extends automatically from `process.env`. Set `extendEnv` to `false` if you don't want this.
1444
+ /**
1445
+ Run the subprocess independently from the current process.
121
1446
 
122
- @default process.env
123
- */
124
- readonly env?: NodeJS.ProcessEnv;
1447
+ @default false
1448
+ */
1449
+ readonly detached?: Unless<IsSync, boolean>;
125
1450
 
126
- /**
127
- Explicitly set the value of `argv[0]` sent to the child process. This will be set to `command` or `file` if not specified.
128
- */
129
- readonly argv0?: string;
1451
+ /**
1452
+ Kill the subprocess when the current process exits.
130
1453
 
131
- /**
132
- Child's [stdio](https://nodejs.org/api/child_process.html#child_process_options_stdio) configuration.
1454
+ @default true
1455
+ */
1456
+ readonly cleanup?: Unless<IsSync, boolean>;
133
1457
 
134
- @default 'pipe'
135
- */
136
- readonly stdio?: 'pipe' | 'ignore' | 'inherit' | readonly StdioOption[];
1458
+ /**
1459
+ When the subprocess is terminated by Execa, also terminate all of its descendant processes, instead of only the subprocess itself.
137
1460
 
138
- /**
139
- Specify the kind of serialization used for sending messages between processes when using the `stdio: 'ipc'` option or `execa.node()`:
140
- - `json`: Uses `JSON.stringify()` and `JSON.parse()`.
141
- - `advanced`: Uses [`v8.serialize()`](https://nodejs.org/api/v8.html#v8_v8_serialize_value)
1461
+ This is useful when the subprocess spawns its own processes, such as when using the `shell` option.
142
1462
 
143
- Requires Node.js `13.2.0` or later.
1463
+ On Unix, this spawns the subprocess in its own [process group](https://en.wikipedia.org/wiki/Process_group). On Windows, this uses [`taskkill`](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/taskkill).
144
1464
 
145
- [More info.](https://nodejs.org/api/child_process.html#child_process_advanced_serialization)
1465
+ This is best-effort: descendant processes that create their own process group or session are not terminated. Also, on Windows, descendants are not terminated once the subprocess exited, since its PID might then belong to an unrelated process.
146
1466
 
147
- @default 'json'
148
- */
149
- readonly serialization?: 'json' | 'advanced';
1467
+ @default false
1468
+ */
1469
+ readonly killDescendants?: Unless<IsSync, boolean>;
150
1470
 
151
- /**
152
- Prepare child to run independently of its parent process. Specific behavior [depends on the platform](https://nodejs.org/api/child_process.html#child_process_options_detached).
1471
+ /**
1472
+ Sets the [user identifier](https://en.wikipedia.org/wiki/User_identifier) of the subprocess.
153
1473
 
154
- @default false
155
- */
156
- readonly detached?: boolean;
1474
+ @default current user identifier
1475
+ */
1476
+ readonly uid?: number;
157
1477
 
158
- /**
159
- Sets the user identity of the process.
160
- */
161
- readonly uid?: number;
1478
+ /**
1479
+ Sets the [group identifier](https://en.wikipedia.org/wiki/Group_identifier) of the subprocess.
162
1480
 
163
- /**
164
- Sets the group identity of the process.
165
- */
166
- readonly gid?: number;
1481
+ @default current group identifier
1482
+ */
1483
+ readonly gid?: number;
167
1484
 
168
- /**
169
- If `true`, runs `command` inside of a shell. Uses `/bin/sh` on UNIX and `cmd.exe` on Windows. A different shell can be specified as a string. The shell should understand the `-c` switch on UNIX or `/d /s /c` on Windows.
1485
+ /**
1486
+ Value of [`argv[0]`](https://nodejs.org/api/process.html#processargv0) sent to the subprocess.
170
1487
 
171
- We recommend against using this option since it is:
172
- - not cross-platform, encouraging shell-specific syntax.
173
- - slower, because of the additional shell interpretation.
174
- - unsafe, potentially allowing command injection.
1488
+ @default file being executed
1489
+ */
1490
+ readonly argv0?: string;
175
1491
 
176
- @default false
177
- */
178
- readonly shell?: boolean | string;
1492
+ /**
1493
+ On Windows, do not create a new console window.
179
1494
 
180
- /**
181
- Specify the character encoding used to decode the `stdout` and `stderr` output. If set to `null`, then `stdout` and `stderr` will be a `Buffer` instead of a string.
1495
+ @default true
1496
+ */
1497
+ readonly windowsHide?: boolean;
182
1498
 
183
- @default 'utf8'
184
- */
185
- readonly encoding?: EncodingType;
1499
+ /**
1500
+ If `false`, escapes the command arguments on Windows.
186
1501
 
187
- /**
188
- If `timeout` is greater than `0`, the parent will send the signal identified by the `killSignal` property (the default is `SIGTERM`) if the child runs longer than `timeout` milliseconds.
1502
+ @default `true` if the `shell` option is `true`, `false` otherwise
1503
+ */
1504
+ readonly windowsVerbatimArguments?: boolean;
1505
+ };
189
1506
 
190
- @default 0
191
- */
192
- readonly timeout?: number;
1507
+ /**
1508
+ Subprocess options.
193
1509
 
194
- /**
195
- Largest amount of data in bytes allowed on `stdout` or `stderr`. Default: 100 MB.
1510
+ Some options are related to the subprocess output: `verbose`, `lines`, `stripFinalNewline`, `buffer`, `maxBuffer`. By default, those options apply to all file descriptors (`stdout`, `stderr`, etc.). A plain object can be passed instead to apply them to only `stdout`, `stderr`, `all` (both stdout and stderr), `ipc`, `fd3`, etc.
196
1511
 
197
- @default 100_000_000
198
- */
199
- readonly maxBuffer?: number;
1512
+ @example
200
1513
 
201
- /**
202
- Signal value to be used when the spawned process will be killed.
1514
+ ```
1515
+ // Same value for stdout and stderr
1516
+ await execa({verbose: 'full'})`npm run build`;
203
1517
 
204
- @default 'SIGTERM'
205
- */
206
- readonly killSignal?: string | number;
1518
+ // Different values for stdout and stderr
1519
+ await execa({verbose: {stdout: 'none', stderr: 'full'}})`npm run build`;
1520
+ ```
1521
+ */
1522
+ type TextOptions<IsSync extends boolean> = CommonOptions<IsSync, TextEncodingOption | undefined>;
1523
+ type BinaryOptions<IsSync extends boolean> = Omit<CommonOptions<IsSync, BinaryEncodingOption>, 'encoding'> & {
1524
+ readonly encoding: BinaryEncodingOption;
1525
+ };
207
1526
 
208
- /**
209
- If `true`, no quoting or escaping of arguments is done on Windows. Ignored on other platforms. This is set to `true` automatically when the `shell` option is `true`.
1527
+ type Options = TextOptions<false> | BinaryOptions<false>;
210
1528
 
211
- @default false
212
- */
213
- readonly windowsVerbatimArguments?: boolean;
1529
+ /**
1530
+ Subprocess options, with synchronous methods.
214
1531
 
215
- /**
216
- On Windows, do not create a new console window. Please note this also prevents `CTRL-C` [from working](https://github.com/nodejs/node/issues/29837) on Windows.
1532
+ Some options are related to the subprocess output: `verbose`, `lines`, `stripFinalNewline`, `buffer`, `maxBuffer`. By default, those options apply to all file descriptors (`stdout`, `stderr`, etc.). A plain object can be passed instead to apply them to only `stdout`, `stderr`, `all` (both stdout and stderr), `ipc`, `fd3`, etc.
217
1533
 
218
- @default true
219
- */
220
- readonly windowsHide?: boolean;
221
- }
1534
+ @example
222
1535
 
223
- interface Options<EncodingType = string> extends CommonOptions<EncodingType> {
224
- /**
225
- Write some input to the `stdin` of your binary.
226
- */
227
- readonly input?: string | Buffer | ReadableStream;
228
- }
1536
+ ```
1537
+ // Same value for stdout and stderr
1538
+ execaSync({verbose: 'full'})`npm run build`;
229
1539
 
230
- interface SyncOptions<EncodingType = string> extends CommonOptions<EncodingType> {
231
- /**
232
- Write some input to the `stdin` of your binary.
233
- */
234
- readonly input?: string | Buffer;
235
- }
1540
+ // Different values for stdout and stderr
1541
+ execaSync({verbose: {stdout: 'none', stderr: 'full'}})`npm run build`;
1542
+ ```
1543
+ */
1544
+ type SyncOptions = TextOptions<true> | BinaryOptions<true>;
1545
+
1546
+ type StricterOptions<
1547
+ WideOptions extends CommonOptions,
1548
+ StrictOptions extends CommonOptions,
1549
+ > = WideOptions extends StrictOptions ? WideOptions : StrictOptions;
1550
+
1551
+ type TemplateExpressionItem =
1552
+ | string
1553
+ | number
1554
+ | Result
1555
+ | SyncResult;
1556
+
1557
+ /**
1558
+ Value allowed inside `${...}` when using the template string syntax.
1559
+ */
1560
+ type TemplateExpression = TemplateExpressionItem | readonly TemplateExpressionItem[];
1561
+
1562
+ // `...${...}...` template syntax
1563
+ type TemplateString = readonly [TemplateStringsArray, ...readonly TemplateExpression[]];
1564
+
1565
+ // `subprocess.pipe()` options
1566
+ type PipeOptions = {
1567
+ /**
1568
+ Which stream to pipe from the source subprocess. A [file descriptor](https://en.wikipedia.org/wiki/File_descriptor) like `"fd3"` can also be passed.
1569
+
1570
+ `"all"` pipes both `stdout` and `stderr`. This requires the `all` option to be `true`.
1571
+ */
1572
+ readonly from?: FromOption;
1573
+
1574
+ /**
1575
+ Which stream to pipe to the destination subprocess. A [file descriptor](https://en.wikipedia.org/wiki/File_descriptor) like `"fd3"` can also be passed.
1576
+ */
1577
+ readonly to?: ToOption;
1578
+
1579
+ /**
1580
+ Unpipe the subprocess when the signal aborts.
1581
+ */
1582
+ readonly unpipeSignal?: AbortSignal;
1583
+ };
1584
+
1585
+ // Methods forwarded from the destination subprocess to the return value of `subprocess.pipe()`, so its output can be iterated, converted to a stream, or used for IPC.
1586
+ type PipeResultMethods<OptionsType extends Options> =
1587
+ & SubprocessResultMethods<OptionsType>
1588
+ & IpcMethods<HasIpc<OptionsType>, OptionsType['serialization']>;
1589
+
1590
+ // Same as `PipeResultMethods`, but when the destination is another `execa()` call, so its own option types are kept.
1591
+ // The base `Options` is only used to compute the property names, which do not depend on the specific options.
1592
+ type PipeResultMethodsFrom<Destination extends ResultPromise> = Pick<Destination, keyof PipeResultMethods<Options>>;
1593
+
1594
+ // `subprocess.pipe()`
1595
+ type PipableSubprocess = {
1596
+ /**
1597
+ [Pipe](https://nodejs.org/api/stream.html#readablepipedestination-options) the subprocess' `stdout` to a second Execa subprocess' `stdin`. This resolves with that second subprocess' result. If either subprocess is rejected, this is rejected with that subprocess' error instead.
1598
+
1599
+ This follows the same syntax as `execa(file, arguments?, options?)` except both regular options and pipe-specific options can be specified.
1600
+
1601
+ Like a subprocess, the return value can be [iterated](https://github.com/sindresorhus/execa/blob/main/docs/lines.md#progressive-splitting), [converted to a stream](https://github.com/sindresorhus/execa/blob/main/docs/streams.md#converting-a-subprocess-to-a-stream), or used for [IPC](https://github.com/sindresorhus/execa/blob/main/docs/ipc.md) with the destination subprocess.
1602
+ */
1603
+ pipe<OptionsType extends Options & PipeOptions = {}>(
1604
+ file: string | URL,
1605
+ arguments?: readonly string[],
1606
+ options?: OptionsType,
1607
+ ): Promise<Result<OptionsType>> & PipableSubprocess & PipeResultMethods<OptionsType>;
1608
+ pipe<OptionsType extends Options & PipeOptions = {}>(
1609
+ file: string | URL,
1610
+ options?: OptionsType,
1611
+ ): Promise<Result<OptionsType>> & PipableSubprocess & PipeResultMethods<OptionsType>;
1612
+
1613
+ /**
1614
+ Like `subprocess.pipe(file, arguments?, options?)` but using a `command` template string instead. This follows the same syntax as `$`.
1615
+ */
1616
+ pipe(templates: TemplateStringsArray, ...expressions: readonly TemplateExpression[]):
1617
+ Promise<Result<{}>> & PipableSubprocess & PipeResultMethods<{}>;
1618
+ pipe<OptionsType extends Options & PipeOptions = {}>(options: OptionsType):
1619
+ (templates: TemplateStringsArray, ...expressions: readonly TemplateExpression[])
1620
+ => Promise<Result<OptionsType>> & PipableSubprocess & PipeResultMethods<OptionsType>;
1621
+
1622
+ /**
1623
+ Like `subprocess.pipe(file, arguments?, options?)` but using the return value of another `execa()` call instead.
1624
+ */
1625
+ pipe<Destination extends ResultPromise>(destination: Destination, options?: PipeOptions):
1626
+ Promise<Awaited<Destination>> & PipableSubprocess & PipeResultMethodsFrom<Destination>;
1627
+ };
1628
+
1629
+ // `subprocess.readable|duplex|iterable()` options
1630
+ type ReadableOptions = {
1631
+ /**
1632
+ Which stream to read from the subprocess. A [file descriptor](https://en.wikipedia.org/wiki/File_descriptor) like `"fd3"` can also be passed.
1633
+
1634
+ `"all"` reads both `stdout` and `stderr`. This requires the `all` option to be `true`.
1635
+
1636
+ @default 'stdout'
1637
+ */
1638
+ readonly from?: FromOption;
1639
+
1640
+ /**
1641
+ If `false`, iterates over lines. Each line is a string.
1642
+
1643
+ If `true`, iterates over arbitrary chunks of data. Each line is an [`Uint8Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) (with `subprocess.iterable()`) or a [`Buffer`](https://nodejs.org/api/buffer.html#class-buffer) (with `subprocess.readable()`/`subprocess.duplex()`).
1644
+
1645
+ This is always `true` when the `encoding` option is binary.
1646
+
1647
+ @default `false` with `subprocess.iterable()`, `true` otherwise
1648
+ */
1649
+ readonly binary?: boolean;
1650
+
1651
+ /**
1652
+ If both this option and the `binary` option is `false`, [newlines](https://en.wikipedia.org/wiki/Newline) are stripped from each line.
1653
+
1654
+ @default `false` with `subprocess.iterable()`, `true` otherwise
1655
+ */
1656
+ readonly preserveNewlines?: boolean;
1657
+ };
1658
+
1659
+ // `subprocess.writable|duplex()` options
1660
+ type WritableOptions = {
1661
+ /**
1662
+ Which stream to write to the subprocess. A [file descriptor](https://en.wikipedia.org/wiki/File_descriptor) like `"fd3"` can also be passed.
1663
+
1664
+ @default 'stdin'
1665
+ */
1666
+ readonly to?: ToOption;
1667
+ };
1668
+
1669
+ // `subprocess.duplex()` options
1670
+ type DuplexOptions = ReadableOptions & WritableOptions;
1671
+
1672
+ // `subprocess.iterable()` return value
1673
+ type SubprocessAsyncIterable<
1674
+ BinaryOption extends boolean | undefined,
1675
+ EncodingOption extends Options['encoding'],
1676
+ > = AsyncIterableIterator<
1677
+ EncodingOption extends BinaryEncodingOption
1678
+ ? Uint8Array
1679
+ : BinaryOption extends true
1680
+ ? Uint8Array
1681
+ : string
1682
+ >;
1683
+
1684
+ // `subprocess.stdin|stdout|stderr|stdio`
1685
+ type SubprocessStdioStream<
1686
+ FdNumber extends string,
1687
+ OptionsType extends Options,
1688
+ > = SubprocessStream<FdNumber, IgnoresSubprocessOutput<FdNumber, OptionsType>, OptionsType>;
1689
+
1690
+ type SubprocessStream<
1691
+ FdNumber extends string,
1692
+ StreamResultIgnored,
1693
+ OptionsType extends Options,
1694
+ > = StreamResultIgnored extends true
1695
+ ? null
1696
+ : InputOutputStream<IsInputFd<FdNumber, OptionsType>>;
1697
+
1698
+ type InputOutputStream<IsInput extends boolean> = IsInput extends true
1699
+ ? Writable
1700
+ : Readable;
1701
+
1702
+ // `subprocess.stdio`
1703
+ type SubprocessStdioArray<OptionsType extends Options> = MapStdioStreams<StdioOptionNormalizedArray<OptionsType>, OptionsType>;
1704
+
1705
+ // File descriptors beyond `stderr` are only present when the `stdio` option is an array with more items.
1706
+ // The subprocess' IPC channel, if any, is set as the last file descriptor by Node.js itself.
1707
+ // Since any `Subprocess` can be passed where the default one is expected, the list is kept open-ended.
1708
+ type MapStdioStreams<
1709
+ StdioOptionsArrayType extends readonly unknown[],
1710
+ OptionsType extends Options,
1711
+ > = [
1712
+ ...{
1713
+ -readonly [FdNumber in keyof StdioOptionsArrayType]: SubprocessStdioStream<FdNumber extends string ? FdNumber : string, OptionsType>
1714
+ },
1715
+ ...(HasIpc<OptionsType> extends true ? [null] : []),
1716
+ ...Array<Readable | Writable | null>,
1717
+ ];
1718
+
1719
+ // `subprocess.all`
1720
+ type SubprocessAll<OptionsType extends Options> = AllStream<AllIgnored<OptionsType['all'], OptionsType>>;
1721
+
1722
+ type AllStream<IsIgnored> = IsIgnored extends true ? undefined : Readable;
1723
+
1724
+ type AllIgnored<
1725
+ AllOption,
1726
+ OptionsType extends Options,
1727
+ > = AllOption extends true
1728
+ ? IgnoresSubprocessOutput<'1', OptionsType> extends true
1729
+ ? IgnoresSubprocessOutput<'2', OptionsType>
1730
+ : false
1731
+ : true;
1732
+
1733
+ // Read-side iteration, stream conversion and `all` methods.
1734
+ // These are shared between a subprocess and the return value of `subprocess.pipe()`, which forwards them from its destination subprocess.
1735
+ // `writable()`, `duplex()`, `writableStream()` and `transformStream()` are not included: they write to `stdin`, which the pipe already feeds from its source.
1736
+ type SubprocessResultMethods<OptionsType extends Options = Options> = {
1737
+ /**
1738
+ Stream combining/interleaving `subprocess.stdout` and `subprocess.stderr`.
1739
+
1740
+ This requires the `all` option to be `true`.
1741
+
1742
+ This is `undefined` if both `stdout` and `stderr` options are set to `'inherit'`, `'ignore'`, `Writable` or `integer`.
1743
+ */
1744
+ all: SubprocessAll<OptionsType>;
1745
+
1746
+ /**
1747
+ Subprocesses are [async iterables](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/asyncIterator). They iterate over each output line.
1748
+ */
1749
+ [Symbol.asyncIterator](): SubprocessAsyncIterable<undefined, OptionsType['encoding']>;
236
1750
 
237
- interface NodeOptions<EncodingType = string> extends Options<EncodingType> {
1751
+ /**
1752
+ Same as `subprocess[Symbol.asyncIterator]` except options can be provided.
1753
+ */
1754
+ iterable<IterableOptions extends ReadableOptions = {}>(readableOptions?: IterableOptions): SubprocessAsyncIterable<IterableOptions['binary'], OptionsType['encoding']>;
1755
+
1756
+ /**
1757
+ Converts the subprocess to a readable stream.
1758
+ */
1759
+ readable(readableOptions?: ReadableOptions): Readable;
1760
+
1761
+ /**
1762
+ Converts the subprocess to a readable [web stream](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream).
1763
+ */
1764
+ readableStream(readableOptions?: ReadableOptions): ReadableStream;
1765
+ };
1766
+
1767
+ type ExecaCustomSubprocess<OptionsType extends Options> =
1768
+ & IpcMethods<HasIpc<OptionsType>, OptionsType['serialization']>
1769
+ & PipableSubprocess
1770
+ & SubprocessResultMethods<OptionsType>
1771
+ & {
238
1772
  /**
239
- The Node.js executable to use.
1773
+ Process identifier ([PID](https://en.wikipedia.org/wiki/Process_identifier)).
240
1774
 
241
- @default process.execPath
1775
+ This is `undefined` if the subprocess failed to spawn.
242
1776
  */
243
- readonly nodePath?: string;
1777
+ pid?: number;
244
1778
 
245
1779
  /**
246
- List of [CLI options](https://nodejs.org/api/cli.html#cli_options) passed to the Node.js executable.
1780
+ The subprocess [`stdin`](https://en.wikipedia.org/wiki/Standard_streams#Standard_input_(stdin)) as a stream.
247
1781
 
248
- @default process.execArgv
1782
+ This is `null` if the `stdin` option is set to `'inherit'`, `'ignore'`, `Readable` or `integer`.
249
1783
  */
250
- readonly nodeOptions?: string[];
251
- }
1784
+ stdin: SubprocessStdioStream<'0', OptionsType>;
252
1785
 
253
- interface ExecaReturnBase<StdoutStderrType> {
254
1786
  /**
255
- The file and arguments that were run, for logging purposes.
1787
+ The subprocess [`stdout`](https://en.wikipedia.org/wiki/Standard_streams#Standard_output_(stdout)) as a stream.
256
1788
 
257
- This is not escaped and should not be executed directly as a process, including using `execa()` or `execa.command()`.
1789
+ This is `null` if the `stdout` option is set to `'inherit'`, `'ignore'`, `Writable` or `integer`.
258
1790
  */
259
- command: string;
1791
+ stdout: SubprocessStdioStream<'1', OptionsType>;
260
1792
 
261
1793
  /**
262
- Same as `command` but escaped.
1794
+ The subprocess [`stderr`](https://en.wikipedia.org/wiki/Standard_streams#Standard_error_(stderr)) as a stream.
263
1795
 
264
- This is meant to be copy and pasted into a shell, for debugging purposes.
265
- Since the escaping is fairly basic, this should not be executed directly as a process, including using `execa()` or `execa.command()`.
1796
+ This is `null` if the `stderr` option is set to `'inherit'`, `'ignore'`, `Writable` or `integer`.
266
1797
  */
267
- escapedCommand: string;
1798
+ stderr: SubprocessStdioStream<'2', OptionsType>;
268
1799
 
269
1800
  /**
270
- The numeric exit code of the process that was run.
1801
+ The subprocess `stdin`, `stdout`, `stderr` and other files descriptors as an array of streams.
1802
+
1803
+ Each array item is `null` if the corresponding `stdin`, `stdout`, `stderr` or `stdio` option is set to `'inherit'`, `'ignore'`, `Stream` or `integer`.
1804
+
1805
+ With the `ipc` option, the last item is the subprocess' IPC channel, which is always `null`.
271
1806
  */
272
- exitCode: number;
1807
+ stdio: SubprocessStdioArray<OptionsType>;
273
1808
 
274
1809
  /**
275
- The output of the process on stdout.
1810
+ Sends a [signal](https://nodejs.org/api/os.html#signal-constants) to the subprocess. The default signal is the `killSignal` option. `killSignal` defaults to `SIGTERM`, which terminates the subprocess.
1811
+
1812
+ This returns `false` when the signal could not be sent, for example when the subprocess has already exited.
1813
+
1814
+ When an error is passed as argument, it is set to the subprocess' `error.cause`. The subprocess is then terminated with the default signal. This does not emit the [`error` event](https://nodejs.org/api/child_process.html#event-error).
1815
+
1816
+ [More info.](https://nodejs.org/api/child_process.html#subprocesskillsignal)
276
1817
  */
277
- stdout: StdoutStderrType;
1818
+ kill(signal?: keyof SignalConstants | number, error?: Error): boolean;
1819
+ kill(error?: Error): boolean;
278
1820
 
279
1821
  /**
280
- The output of the process on stderr.
1822
+ Converts the subprocess to a writable stream.
281
1823
  */
282
- stderr: StdoutStderrType;
1824
+ writable(writableOptions?: WritableOptions): Writable;
283
1825
 
284
1826
  /**
285
- Whether the process failed to run.
1827
+ Converts the subprocess to a duplex stream.
286
1828
  */
287
- failed: boolean;
1829
+ duplex(duplexOptions?: DuplexOptions): Duplex;
288
1830
 
289
1831
  /**
290
- Whether the process timed out.
1832
+ Converts the subprocess to a writable [web stream](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream).
291
1833
  */
292
- timedOut: boolean;
1834
+ writableStream(writableOptions?: WritableOptions): WritableStream;
293
1835
 
294
1836
  /**
295
- Whether the process was killed.
1837
+ Converts the subprocess to a [`{readable, writable}`](https://developer.mozilla.org/en-US/docs/Web/API/TransformStream) pair of web streams.
296
1838
  */
297
- killed: boolean;
1839
+ transformStream(duplexOptions?: DuplexOptions): ReadableWritablePair;
298
1840
 
299
1841
  /**
300
- The name of the signal that was used to terminate the process. For example, `SIGFPE`.
1842
+ Underlying Node.js [`ChildProcess`](https://nodejs.org/api/child_process.html#class-childprocess) instance.
301
1843
 
302
- If a signal terminated the process, this property is defined and included in the error message. Otherwise it is `undefined`.
1844
+ This is an escape hatch for Node.js-specific APIs not documented by Execa, such as `.on()`, `.send()`, `.disconnect()`, `.ref()` or `.unref()`.
303
1845
  */
304
- signal?: string;
1846
+ nodeChildProcess: ChildProcess;
1847
+ };
305
1848
 
306
- /**
307
- A human-friendly description of the signal that was used to terminate the process. For example, `Floating point arithmetic error`.
1849
+ /**
1850
+ Subprocess with Execa-specific methods and properties. It is also a `Promise` either resolving with its successful `result`, or rejecting with its `error`.
1851
+ */
1852
+ type Subprocess<OptionsType extends Options = Options> =
1853
+ & ExecaCustomSubprocess<OptionsType>
1854
+ & Promise<Result<OptionsType>>;
308
1855
 
309
- If a signal terminated the process, this property is defined and included in the error message. Otherwise it is `undefined`. It is also `undefined` when the signal is very uncommon which should seldomly happen.
310
- */
311
- signalDescription?: string;
312
- }
1856
+ /**
1857
+ The return value of all asynchronous methods is both:
1858
+ - the subprocess with Execa-specific methods and properties.
1859
+ - a `Promise` either resolving with its successful `result`, or rejecting with its `error`.
1860
+ */
1861
+ type ResultPromise<OptionsType extends Options = Options> =
1862
+ Subprocess<OptionsType>;
313
1863
 
314
- interface ExecaSyncReturnValue<StdoutErrorType = string>
315
- extends ExecaReturnBase<StdoutErrorType> {
316
- }
1864
+ /**
1865
+ Executes a command using `file ...arguments`.
317
1866
 
318
- /**
319
- Result of a child process execution. On success this is a plain object. On failure this is also an `Error` instance.
1867
+ When `command` is a template string, it includes both the `file` and its `arguments`.
320
1868
 
321
- The child process fails when:
322
- - its exit code is not `0`
323
- - it was killed with a signal
324
- - timing out
325
- - being canceled
326
- - there's not enough memory or there are already too many child processes
327
- */
328
- interface ExecaReturnValue<StdoutErrorType = string>
329
- extends ExecaSyncReturnValue<StdoutErrorType> {
330
- /**
331
- The output of the process with `stdout` and `stderr` interleaved.
1869
+ `execa(options)` can be used to return a new instance of this method but with different default `options`. Consecutive calls are merged to previous ones.
332
1870
 
333
- This is `undefined` if either:
334
- - the `all` option is `false` (default value)
335
- - `execa.sync()` was used
336
- */
337
- all?: StdoutErrorType;
1871
+ @param file - The program/script to execute, as a string or file URL
1872
+ @param arguments - Arguments to pass to `file` on execution.
1873
+ @returns A `ResultPromise` that is both:
1874
+ - the subprocess.
1875
+ - a `Promise` either resolving with its successful `result`, or rejecting with its `error`.
1876
+ @throws `ExecaError`
338
1877
 
339
- /**
340
- Whether the process was canceled.
341
- */
342
- isCanceled: boolean;
343
- }
1878
+ @example <caption>Simple syntax</caption>
344
1879
 
345
- interface ExecaSyncError<StdoutErrorType = string>
346
- extends Error,
347
- ExecaReturnBase<StdoutErrorType> {
348
- /**
349
- Error message when the child process failed to run. In addition to the underlying error message, it also contains some information related to why the child process errored.
1880
+ ```
1881
+ import {execa} from 'execa';
350
1882
 
351
- The child process stderr then stdout are appended to the end, separated with newlines and not interleaved.
352
- */
353
- message: string;
1883
+ const {stdout} = await execa`npm run build`;
1884
+ // Print command's output
1885
+ console.log(stdout);
1886
+ ```
354
1887
 
355
- /**
356
- This is the same as the `message` property except it does not include the child process stdout/stderr.
357
- */
358
- shortMessage: string;
1888
+ @example <caption>Script</caption>
359
1889
 
360
- /**
361
- Original error message. This is the same as the `message` property except it includes neither the child process stdout/stderr nor some additional information added by Execa.
1890
+ ```
1891
+ import {$} from 'execa';
362
1892
 
363
- This is `undefined` unless the child process exited due to an `error` event or a timeout.
364
- */
365
- originalMessage?: string;
366
- }
1893
+ const {stdout: name} = await $`cat package.json`.pipe`grep name`;
1894
+ console.log(name);
367
1895
 
368
- interface ExecaError<StdoutErrorType = string>
369
- extends ExecaSyncError<StdoutErrorType> {
370
- /**
371
- The output of the process with `stdout` and `stderr` interleaved.
1896
+ const branch = await $`git branch --show-current`;
1897
+ await $`dep deploy --branch=${branch}`;
372
1898
 
373
- This is `undefined` if either:
374
- - the `all` option is `false` (default value)
375
- - `execa.sync()` was used
376
- */
377
- all?: StdoutErrorType;
1899
+ await Promise.all([
1900
+ $`sleep 1`,
1901
+ $`sleep 2`,
1902
+ $`sleep 3`,
1903
+ ]);
378
1904
 
379
- /**
380
- Whether the process was canceled.
381
- */
382
- isCanceled: boolean;
383
- }
1905
+ const directoryName = 'foo bar';
1906
+ await $`mkdir /tmp/${directoryName}`;
1907
+ ```
384
1908
 
385
- interface KillOptions {
386
- /**
387
- Milliseconds to wait for the child process to terminate before sending `SIGKILL`.
1909
+ @example <caption>Local binaries</caption>
388
1910
 
389
- Can be disabled with `false`.
1911
+ ```
1912
+ $ npm install -D eslint
1913
+ ```
390
1914
 
391
- @default 5000
392
- */
393
- forceKillAfterTimeout?: number | false;
394
- }
1915
+ ```
1916
+ await execa({preferLocal: true})`eslint`;
1917
+ ```
395
1918
 
396
- interface ExecaChildPromise<StdoutErrorType> {
397
- /**
398
- Stream combining/interleaving [`stdout`](https://nodejs.org/api/child_process.html#child_process_subprocess_stdout) and [`stderr`](https://nodejs.org/api/child_process.html#child_process_subprocess_stderr).
1919
+ @example <caption>Pipe multiple subprocesses</caption>
399
1920
 
400
- This is `undefined` if either:
401
- - the `all` option is `false` (the default value)
402
- - both `stdout` and `stderr` options are set to [`'inherit'`, `'ipc'`, `Stream` or `integer`](https://nodejs.org/dist/latest-v6.x/docs/api/child_process.html#child_process_options_stdio)
403
- */
404
- all?: ReadableStream;
1921
+ ```
1922
+ const {stdout, pipedFrom} = await execa`npm run build`
1923
+ .pipe`sort`
1924
+ .pipe`head -n 2`;
405
1925
 
406
- catch<ResultType = never>(
407
- onRejected?: (reason: ExecaError<StdoutErrorType>) => ResultType | PromiseLike<ResultType>
408
- ): Promise<ExecaReturnValue<StdoutErrorType> | ResultType>;
1926
+ // Output of `npm run build | sort | head -n 2`
1927
+ console.log(stdout);
1928
+ // Output of `npm run build | sort`
1929
+ console.log(pipedFrom[0].stdout);
1930
+ // Output of `npm run build`
1931
+ console.log(pipedFrom[0].pipedFrom[0].stdout);
1932
+ ```
409
1933
 
410
- /**
411
- Same as the original [`child_process#kill()`](https://nodejs.org/api/child_process.html#child_process_subprocess_kill_signal), except if `signal` is `SIGTERM` (the default value) and the child process is not terminated after 5 seconds, force it by sending `SIGKILL`.
412
- */
413
- kill(signal?: string, options?: KillOptions): void;
1934
+ @example <caption>Interleaved output</caption>
414
1935
 
415
- /**
416
- Similar to [`childProcess.kill()`](https://nodejs.org/api/child_process.html#child_process_subprocess_kill_signal). This is preferred when cancelling the child process execution as the error is more descriptive and [`childProcessResult.isCanceled`](#iscanceled) is set to `true`.
417
- */
418
- cancel(): void;
419
- }
1936
+ ```
1937
+ const {all} = await execa({all: true})`npm run build`;
1938
+ // stdout + stderr, interleaved
1939
+ console.log(all);
1940
+ ```
1941
+
1942
+ @example <caption>Programmatic + terminal output</caption>
1943
+
1944
+ ```
1945
+ const {stdout} = await execa({stdout: ['pipe', 'inherit']})`npm run build`;
1946
+ // stdout is also printed to the terminal
1947
+ console.log(stdout);
1948
+ ```
1949
+
1950
+ @example <caption>Simple input</caption>
1951
+
1952
+ ```
1953
+ const getInputString = () => { /* ... *\/ };
1954
+ const {stdout} = await execa({input: getInputString()})`sort`;
1955
+ console.log(stdout);
1956
+ ```
1957
+
1958
+ @example <caption>File input</caption>
1959
+
1960
+ ```
1961
+ // Similar to: npm run build < input.txt
1962
+ await execa({stdin: {file: 'input.txt'}})`npm run build`;
1963
+ ```
1964
+
1965
+ @example <caption>File output</caption>
420
1966
 
421
- type ExecaChildProcess<StdoutErrorType = string> = ChildProcess &
422
- ExecaChildPromise<StdoutErrorType> &
423
- Promise<ExecaReturnValue<StdoutErrorType>>;
1967
+ ```
1968
+ // Similar to: npm run build > output.txt
1969
+ await execa({stdout: {file: 'output.txt'}})`npm run build`;
1970
+ ```
1971
+
1972
+ @example <caption>Split into text lines</caption>
1973
+
1974
+ ```
1975
+ const {stdout} = await execa({lines: true})`npm run build`;
1976
+ // Print first 10 lines
1977
+ console.log(stdout.slice(0, 10).join('\n'));
1978
+ ```
1979
+
1980
+ @example <caption>Iterate over text lines</caption>
1981
+
1982
+ ```
1983
+ for await (const line of execa`npm run build`) {
1984
+ if (line.includes('WARN')) {
1985
+ console.warn(line);
1986
+ }
424
1987
  }
1988
+ ```
425
1989
 
426
- declare const execa: {
427
- /**
428
- Execute a file.
1990
+ @example <caption>Transform/filter output</caption>
1991
+
1992
+ ```
1993
+ let count = 0;
1994
+
1995
+ // Filter out secret lines, then prepend the line number
1996
+ const transform = function * (line) {
1997
+ if (!line.includes('secret')) {
1998
+ yield `[${count++}] ${line}`;
1999
+ }
2000
+ };
429
2001
 
430
- Think of this as a mix of `child_process.execFile` and `child_process.spawn`.
2002
+ await execa({stdout: transform})`npm run build`;
2003
+ ```
431
2004
 
432
- @param file - The program/script to execute.
433
- @param arguments - Arguments to pass to `file` on execution.
434
- @returns A [`child_process` instance](https://nodejs.org/api/child_process.html#child_process_class_childprocess), which is enhanced to also be a `Promise` for a result `Object` with `stdout` and `stderr` properties.
2005
+ @example <caption>Web streams</caption>
435
2006
 
436
- @example
437
- ```
438
- import execa = require('./execa');
2007
+ ```
2008
+ const response = await fetch('https://example.com');
2009
+ await execa({stdin: response.body})`sort`;
2010
+ ```
439
2011
 
440
- (async () => {
441
- const {stdout} = await execa('echo', ['unicorns']);
442
- console.log(stdout);
443
- //=> 'unicorns'
2012
+ @example <caption>Convert to Duplex stream</caption>
444
2013
 
445
- // Cancelling a spawned process
2014
+ ```
2015
+ import {execa} from 'execa';
2016
+ import {pipeline} from 'node:stream/promises';
2017
+ import {createReadStream, createWriteStream} from 'node:fs';
446
2018
 
447
- const subprocess = execa('node');
2019
+ await pipeline(
2020
+ createReadStream('./input.txt'),
2021
+ execa`node ./transform.js`.duplex(),
2022
+ createWriteStream('./output.txt'),
2023
+ );
2024
+ ```
448
2025
 
449
- setTimeout(() => {
450
- subprocess.cancel()
451
- }, 1000);
2026
+ @example <caption>Exchange messages</caption>
452
2027
 
453
- try {
454
- await subprocess;
455
- } catch (error) {
456
- console.log(subprocess.killed); // true
457
- console.log(error.isCanceled); // true
458
- }
459
- })();
2028
+ ```
2029
+ // parent.js
2030
+ import {execaNode} from 'execa';
460
2031
 
461
- // Pipe the child process stdout to the current stdout
462
- execa('echo', ['unicorns']).stdout.pipe(process.stdout);
463
- ```
464
- */
465
- (
466
- file: string,
467
- arguments?: readonly string[],
468
- options?: execa.Options
469
- ): execa.ExecaChildProcess;
470
- (
471
- file: string,
472
- arguments?: readonly string[],
473
- options?: execa.Options<null>
474
- ): execa.ExecaChildProcess<Buffer>;
475
- (file: string, options?: execa.Options): execa.ExecaChildProcess;
476
- (file: string, options?: execa.Options<null>): execa.ExecaChildProcess<
477
- Buffer
478
- >;
2032
+ const subprocess = execaNode`child.js`;
2033
+ await subprocess.sendMessage('Hello from parent');
2034
+ const message = await subprocess.getOneMessage();
2035
+ console.log(message); // 'Hello from child'
2036
+ ```
479
2037
 
480
- /**
481
- Execute a file synchronously.
2038
+ ```
2039
+ // child.js
2040
+ import {getOneMessage, sendMessage} from 'execa';
482
2041
 
483
- This method throws an `Error` if the command fails.
2042
+ const message = await getOneMessage(); // 'Hello from parent'
2043
+ const newMessage = message.replace('parent', 'child'); // 'Hello from child'
2044
+ await sendMessage(newMessage);
2045
+ ```
484
2046
 
485
- @param file - The program/script to execute.
486
- @param arguments - Arguments to pass to `file` on execution.
487
- @returns A result `Object` with `stdout` and `stderr` properties.
488
- */
489
- sync(
490
- file: string,
491
- arguments?: readonly string[],
492
- options?: execa.SyncOptions
493
- ): execa.ExecaSyncReturnValue;
494
- sync(
495
- file: string,
496
- arguments?: readonly string[],
497
- options?: execa.SyncOptions<null>
498
- ): execa.ExecaSyncReturnValue<Buffer>;
499
- sync(file: string, options?: execa.SyncOptions): execa.ExecaSyncReturnValue;
500
- sync(
501
- file: string,
502
- options?: execa.SyncOptions<null>
503
- ): execa.ExecaSyncReturnValue<Buffer>;
2047
+ @example <caption>Any input type</caption>
504
2048
 
505
- /**
506
- Same as `execa()` except both file and arguments are specified in a single `command` string. For example, `execa('echo', ['unicorns'])` is the same as `execa.command('echo unicorns')`.
2049
+ ```
2050
+ // main.js
2051
+ import {execaNode} from 'execa';
507
2052
 
508
- If the file or an argument contains spaces, they must be escaped with backslashes. This matters especially if `command` is not a constant but a variable, for example with `__dirname` or `process.cwd()`. Except for spaces, no escaping/quoting is needed.
2053
+ const ipcInput = [
2054
+ {task: 'lint', ignore: /test\.js/},
2055
+ {task: 'copy', files: new Set(['main.js', 'index.js']),
2056
+ }];
2057
+ await execaNode({ipcInput})`build.js`;
2058
+ ```
509
2059
 
510
- The `shell` option must be used if the `command` uses shell-specific features (for example, `&&` or `||`), as opposed to being a simple `file` followed by its `arguments`.
2060
+ ```
2061
+ // build.js
2062
+ import {getOneMessage} from 'execa';
511
2063
 
512
- @param command - The program/script to execute and its arguments.
513
- @returns A [`child_process` instance](https://nodejs.org/api/child_process.html#child_process_class_childprocess), which is enhanced to also be a `Promise` for a result `Object` with `stdout` and `stderr` properties.
2064
+ const ipcInput = await getOneMessage();
2065
+ ```
514
2066
 
515
- @example
516
- ```
517
- import execa = require('./execa');
2067
+ @example <caption>Any output type</caption>
518
2068
 
519
- (async () => {
520
- const {stdout} = await execa.command('echo unicorns');
521
- console.log(stdout);
522
- //=> 'unicorns'
523
- })();
524
- ```
525
- */
526
- command(command: string, options?: execa.Options): execa.ExecaChildProcess;
527
- command(command: string, options?: execa.Options<null>): execa.ExecaChildProcess<Buffer>;
2069
+ ```
2070
+ // main.js
2071
+ import {execaNode} from 'execa';
528
2072
 
529
- /**
530
- Same as `execa.command()` but synchronous.
2073
+ const {ipcOutput} = await execaNode`build.js`;
2074
+ console.log(ipcOutput[0]); // {kind: 'start', timestamp: date}
2075
+ console.log(ipcOutput[1]); // {kind: 'stop', timestamp: date}
2076
+ ```
531
2077
 
532
- @param command - The program/script to execute and its arguments.
533
- @returns A result `Object` with `stdout` and `stderr` properties.
534
- */
535
- commandSync(command: string, options?: execa.SyncOptions): execa.ExecaSyncReturnValue;
536
- commandSync(command: string, options?: execa.SyncOptions<null>): execa.ExecaSyncReturnValue<Buffer>;
2078
+ ```
2079
+ // build.js
2080
+ import {sendMessage} from 'execa';
537
2081
 
538
- /**
539
- Execute a Node.js script as a child process.
2082
+ const runBuild = () => { /* ... *\/ };
540
2083
 
541
- Same as `execa('node', [scriptPath, ...arguments], options)` except (like [`child_process#fork()`](https://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options)):
542
- - the current Node version and options are used. This can be overridden using the `nodePath` and `nodeArguments` options.
543
- - the `shell` option cannot be used
544
- - an extra channel [`ipc`](https://nodejs.org/api/child_process.html#child_process_options_stdio) is passed to [`stdio`](#stdio)
2084
+ await sendMessage({kind: 'start', timestamp: new Date()});
2085
+ await runBuild();
2086
+ await sendMessage({kind: 'stop', timestamp: new Date()});
2087
+ ```
545
2088
 
546
- @param scriptPath - Node.js script to execute.
547
- @param arguments - Arguments to pass to `scriptPath` on execution.
548
- @returns A [`child_process` instance](https://nodejs.org/api/child_process.html#child_process_class_childprocess), which is enhanced to also be a `Promise` for a result `Object` with `stdout` and `stderr` properties.
549
- */
550
- node(
551
- scriptPath: string,
552
- arguments?: readonly string[],
553
- options?: execa.NodeOptions
554
- ): execa.ExecaChildProcess;
555
- node(
556
- scriptPath: string,
557
- arguments?: readonly string[],
558
- options?: execa.Options<null>
559
- ): execa.ExecaChildProcess<Buffer>;
560
- node(scriptPath: string, options?: execa.Options): execa.ExecaChildProcess;
561
- node(scriptPath: string, options?: execa.Options<null>): execa.ExecaChildProcess<Buffer>;
2089
+ @example <caption>Graceful termination</caption>
2090
+
2091
+ ```
2092
+ // main.js
2093
+ import {execaNode} from 'execa';
2094
+
2095
+ const controller = new AbortController();
2096
+ setTimeout(() => {
2097
+ controller.abort();
2098
+ }, 5000);
2099
+
2100
+ await execaNode({
2101
+ cancelSignal: controller.signal,
2102
+ gracefulCancel: true,
2103
+ })`build.js`;
2104
+ ```
2105
+
2106
+ ```
2107
+ // build.js
2108
+ import {getCancelSignal} from 'execa';
2109
+
2110
+ const cancelSignal = await getCancelSignal();
2111
+ const url = 'https://example.com/build/info';
2112
+ const response = await fetch(url, {signal: cancelSignal});
2113
+ ```
2114
+
2115
+ @example <caption>Detailed error</caption>
2116
+
2117
+ ```
2118
+ import {execa, ExecaError} from 'execa';
2119
+
2120
+ try {
2121
+ await execa`unknown command`;
2122
+ } catch (error) {
2123
+ if (error instanceof ExecaError) {
2124
+ console.log(error);
2125
+ }
2126
+ /*
2127
+ ExecaError: Command failed with ENOENT: unknown command
2128
+ spawn unknown ENOENT
2129
+ at ...
2130
+ at ... {
2131
+ shortMessage: 'Command failed with ENOENT: unknown command\nspawn unknown ENOENT',
2132
+ originalMessage: 'spawn unknown ENOENT',
2133
+ command: 'unknown command',
2134
+ escapedCommand: 'unknown command',
2135
+ cwd: '/path/to/cwd',
2136
+ durationMs: 28.217566,
2137
+ failed: true,
2138
+ timedOut: false,
2139
+ isCanceled: false,
2140
+ isTerminated: false,
2141
+ isMaxBuffer: false,
2142
+ code: 'ENOENT',
2143
+ stdout: '',
2144
+ stderr: '',
2145
+ stdio: [undefined, '', ''],
2146
+ pipedFrom: []
2147
+ [cause]: Error: spawn unknown ENOENT
2148
+ at ...
2149
+ at ... {
2150
+ errno: -2,
2151
+ code: 'ENOENT',
2152
+ syscall: 'spawn unknown',
2153
+ path: 'unknown',
2154
+ spawnargs: [ 'command' ]
2155
+ }
2156
+ }
2157
+ *\/
2158
+ }
2159
+ ```
2160
+
2161
+ @example <caption>Verbose mode</caption>
2162
+
2163
+ ```
2164
+ await execa`npm run build`;
2165
+ await execa`npm run test`;
2166
+ ```
2167
+
2168
+ ```
2169
+ $ NODE_DEBUG=execa node build.js
2170
+ [00:57:44.581] [0] $ npm run build
2171
+ [00:57:44.653] [0] Building application...
2172
+ [00:57:44.653] [0] Done building.
2173
+ [00:57:44.658] [0] ✔ (done in 78ms)
2174
+ [00:57:44.658] [1] $ npm run test
2175
+ [00:57:44.740] [1] Running tests...
2176
+ [00:57:44.740] [1] Error: the entrypoint is invalid.
2177
+ [00:57:44.747] [1] ✘ Command failed with exit code 1: npm run test
2178
+ [00:57:44.747] [1] ✘ (done in 89ms)
2179
+ ```
2180
+
2181
+ @example <caption>Custom logging</caption>
2182
+
2183
+ ```
2184
+ import {execa as execa_} from 'execa';
2185
+ import {createLogger, transports} from 'winston';
2186
+
2187
+ // Log to a file using Winston
2188
+ const transport = new transports.File({filename: 'logs.txt'});
2189
+ const logger = createLogger({transports: [transport]});
2190
+ const LOG_LEVELS = {
2191
+ command: 'info',
2192
+ output: 'verbose',
2193
+ ipc: 'verbose',
2194
+ error: 'error',
2195
+ duration: 'info',
562
2196
  };
563
2197
 
564
- export = execa;
2198
+ const execa = execa_({
2199
+ verbose(verboseLine, {message, ...verboseObject}) {
2200
+ const level = LOG_LEVELS[verboseObject.type];
2201
+ logger[level](message, verboseObject);
2202
+ },
2203
+ });
2204
+
2205
+ await execa`npm run build`;
2206
+ await execa`npm run test`;
2207
+ ```
2208
+ */
2209
+ declare const execa: ExecaMethod<{}>;
2210
+
2211
+ /**
2212
+ `execa()` method either exported by Execa, or bound using `execa(options)`.
2213
+ */
2214
+ type ExecaMethod<OptionsType extends Options = Options> =
2215
+ & ExecaBind<OptionsType>
2216
+ & ExecaTemplate<OptionsType>
2217
+ & ExecaArrayLong<OptionsType>
2218
+ & ExecaArrayShort<OptionsType>;
2219
+
2220
+ // `execa(options)` binding
2221
+ type ExecaBind<OptionsType extends Options> =
2222
+ <NewOptionsType extends Options = {}>(options: NewOptionsType)
2223
+ => ExecaMethod<OptionsType & NewOptionsType>;
2224
+
2225
+ // `execa`command`` template syntax
2226
+ type ExecaTemplate<OptionsType extends Options> =
2227
+ (...templateString: TemplateString)
2228
+ => ResultPromise<OptionsType>;
2229
+
2230
+ // `execa('file', ['argument'], {})` array syntax
2231
+ type ExecaArrayLong<OptionsType extends Options> =
2232
+ <NewOptionsType extends Options = {}>(file: string | URL, arguments?: readonly string[], options?: NewOptionsType)
2233
+ => ResultPromise<OptionsType & NewOptionsType>;
2234
+
2235
+ // `execa('file', {})` array syntax
2236
+ type ExecaArrayShort<OptionsType extends Options> =
2237
+ <NewOptionsType extends Options = {}>(file: string | URL, options?: NewOptionsType)
2238
+ => ResultPromise<OptionsType & NewOptionsType>;
2239
+
2240
+ /**
2241
+ Same as `execa()` but synchronous.
2242
+
2243
+ Returns a subprocess `result` or throws an `error`. The `subprocess` is not returned: its methods and properties are not available.
2244
+
2245
+ When `command` is a template string, it includes both the `file` and its `arguments`.
2246
+
2247
+ `execaSync(options)` can be used to return a new instance of this method but with different default `options`. Consecutive calls are merged to previous ones.
2248
+
2249
+ This method is discouraged as it holds the CPU and lacks multiple features.
2250
+
2251
+ @param file - The program/script to execute, as a string or file URL
2252
+ @param arguments - Arguments to pass to `file` on execution.
2253
+ @returns `SyncResult`
2254
+ @throws `ExecaSyncError`
2255
+
2256
+ @example
2257
+
2258
+ ```
2259
+ import {execaSync} from 'execa';
2260
+
2261
+ const {stdout} = execaSync`npm run build`;
2262
+ // Print command's output
2263
+ console.log(stdout);
2264
+ ```
2265
+ */
2266
+ declare const execaSync: ExecaSyncMethod<{}>;
2267
+
2268
+ // For the moment, we purposely do not export `ExecaSyncMethod` and `ExecaScriptSyncMethod`.
2269
+ // This is because synchronous invocation is discouraged.
2270
+ type ExecaSyncMethod<OptionsType extends SyncOptions = SyncOptions> =
2271
+ & ExecaSyncBind<OptionsType>
2272
+ & ExecaSyncTemplate<OptionsType>
2273
+ & ExecaSyncArrayLong<OptionsType>
2274
+ & ExecaSyncArrayShort<OptionsType>;
2275
+
2276
+ // `execaSync(options)` binding
2277
+ type ExecaSyncBind<OptionsType extends SyncOptions> =
2278
+ <NewOptionsType extends SyncOptions = {}>(options: NewOptionsType)
2279
+ => ExecaSyncMethod<OptionsType & NewOptionsType>;
2280
+
2281
+ // `execaSync`command`` template syntax
2282
+ type ExecaSyncTemplate<OptionsType extends SyncOptions> =
2283
+ (...templateString: TemplateString)
2284
+ => SyncResult<OptionsType>;
2285
+
2286
+ // `execaSync('file', ['argument'], {})` array syntax
2287
+ type ExecaSyncArrayLong<OptionsType extends SyncOptions> =
2288
+ <NewOptionsType extends SyncOptions = {}>(file: string | URL, arguments?: readonly string[], options?: NewOptionsType)
2289
+ => SyncResult<OptionsType & NewOptionsType>;
2290
+
2291
+ // `execaSync('file', {})` array syntax
2292
+ type ExecaSyncArrayShort<OptionsType extends SyncOptions> =
2293
+ <NewOptionsType extends SyncOptions = {}>(file: string | URL, options?: NewOptionsType)
2294
+ => SyncResult<OptionsType & NewOptionsType>;
2295
+
2296
+ /**
2297
+ Split a `command` string into an array. For example, `'npm run build'` returns `['npm', 'run', 'build']` and `'argument otherArgument'` returns `['argument', 'otherArgument']`.
2298
+
2299
+ @param command - The file to execute and/or its arguments.
2300
+ @returns fileOrArgument[]
2301
+
2302
+ @example
2303
+ ```
2304
+ import {execa, parseCommandString} from 'execa';
2305
+
2306
+ const commandString = 'npm run task';
2307
+ const commandArray = parseCommandString(commandString);
2308
+ await execa`${commandArray}`;
2309
+
2310
+ const [file, ...commandArguments] = commandArray;
2311
+ await execa(file, commandArguments);
2312
+ ```
2313
+ */
2314
+ declare function parseCommandString(command: string): string[];
2315
+
2316
+ /**
2317
+ Same as `execa()` but using script-friendly default options.
2318
+
2319
+ When `command` is a template string, it includes both the `file` and its `arguments`.
2320
+
2321
+ `$(options)` can be used to return a new instance of this method but with different default `options`. Consecutive calls are merged to previous ones.
2322
+
2323
+ This is the preferred method when executing multiple commands in a script file.
2324
+
2325
+ @returns A `ResultPromise` that is both:
2326
+ - the subprocess.
2327
+ - a `Promise` either resolving with its successful `result`, or rejecting with its `error`.
2328
+ @throws `ExecaError`
2329
+
2330
+ @example <caption>Basic</caption>
2331
+ ```
2332
+ import {$} from 'execa';
2333
+
2334
+ const branch = await $`git branch --show-current`;
2335
+ await $`dep deploy --branch=${branch}`;
2336
+ ```
2337
+
2338
+ @example <caption>Verbose mode</caption>
2339
+ ```
2340
+ $ node build.js
2341
+ Building application...
2342
+ Done building.
2343
+ Running tests...
2344
+ Error: the entrypoint is invalid.
2345
+
2346
+ $ NODE_DEBUG=execa node build.js
2347
+ [00:57:44.581] [0] $ npm run build
2348
+ [00:57:44.653] [0] Building application...
2349
+ [00:57:44.653] [0] Done building.
2350
+ [00:57:44.658] [0] ✔ (done in 78ms)
2351
+ [00:57:44.658] [1] $ npm run test
2352
+ [00:57:44.740] [1] Running tests...
2353
+ [00:57:44.740] [1] Error: the entrypoint is invalid.
2354
+ [00:57:44.747] [1] ✘ Command failed with exit code 1: npm run test
2355
+ [00:57:44.747] [1] ✘ (done in 89ms)
2356
+ ```
2357
+ */
2358
+ declare const $: ExecaScriptMethod<{}>;
2359
+
2360
+ /**
2361
+ `$()` method either exported by Execa, or bound using `$(options)`.
2362
+ */
2363
+ type ExecaScriptMethod<OptionsType extends CommonOptions = CommonOptions> =
2364
+ & ExecaScriptBind<OptionsType>
2365
+ & ExecaScriptTemplate<OptionsType>
2366
+ & ExecaScriptArrayLong<OptionsType>
2367
+ & ExecaScriptArrayShort<OptionsType>
2368
+ & {sync: ExecaScriptSyncMethod<OptionsType>}
2369
+ & {s: ExecaScriptSyncMethod<OptionsType>};
2370
+
2371
+ // `$(options)` binding
2372
+ type ExecaScriptBind<OptionsType extends CommonOptions> =
2373
+ <NewOptionsType extends Options = {}>(options: NewOptionsType)
2374
+ => ExecaScriptMethod<OptionsType & NewOptionsType>;
2375
+
2376
+ // `$`command`` template syntax
2377
+ type ExecaScriptTemplate<OptionsType extends CommonOptions> =
2378
+ (...templateString: TemplateString)
2379
+ => ResultPromise<StricterOptions<OptionsType, Options>>;
2380
+
2381
+ // `$('file', ['arg'], {})` array syntax
2382
+ type ExecaScriptArrayLong<OptionsType extends CommonOptions> =
2383
+ <NewOptionsType extends Options = {}>(file: string | URL, arguments?: readonly string[], options?: NewOptionsType)
2384
+ => ResultPromise<StricterOptions<OptionsType & NewOptionsType, Options>>;
2385
+
2386
+ // `$('file', {})` array syntax
2387
+ type ExecaScriptArrayShort<OptionsType extends CommonOptions> =
2388
+ <NewOptionsType extends Options = {}>(file: string | URL, options?: NewOptionsType)
2389
+ => ResultPromise<StricterOptions<OptionsType & NewOptionsType, Options>>;
2390
+
2391
+ // We must intersect the overloaded methods with & instead of using a simple object as a workaround for a TypeScript bug
2392
+ // See https://github.com/microsoft/TypeScript/issues/58765
2393
+ /**
2394
+ `$.sync()` method either exported by Execa, or bound using `$.sync(options)`.
2395
+ */
2396
+ type ExecaScriptSyncMethod<OptionsType extends CommonOptions = CommonOptions> =
2397
+ & ExecaScriptSyncBind<OptionsType>
2398
+ & ExecaScriptSyncTemplate<OptionsType>
2399
+ & ExecaScriptSyncArrayLong<OptionsType>
2400
+ & ExecaScriptSyncArrayShort<OptionsType>;
2401
+
2402
+ // `$.sync(options)` binding
2403
+ type ExecaScriptSyncBind<OptionsType extends CommonOptions> =
2404
+ <NewOptionsType extends SyncOptions = {}>(options: NewOptionsType)
2405
+ => ExecaScriptSyncMethod<OptionsType & NewOptionsType>;
2406
+
2407
+ // $.sync`command` template syntax
2408
+ type ExecaScriptSyncTemplate<OptionsType extends CommonOptions> =
2409
+ (...templateString: TemplateString)
2410
+ => SyncResult<StricterOptions<OptionsType, SyncOptions>>;
2411
+
2412
+ // `$.sync('file', ['arg'], {})` array syntax
2413
+ type ExecaScriptSyncArrayLong<OptionsType extends CommonOptions> =
2414
+ <NewOptionsType extends SyncOptions = {}>(file: string | URL, arguments?: readonly string[], options?: NewOptionsType)
2415
+ => SyncResult<StricterOptions<OptionsType & NewOptionsType, SyncOptions>>;
2416
+
2417
+ // `$.sync('file', {})` array syntax
2418
+ type ExecaScriptSyncArrayShort<OptionsType extends CommonOptions> =
2419
+ <NewOptionsType extends SyncOptions = {}>(file: string | URL, options?: NewOptionsType)
2420
+ => SyncResult<StricterOptions<OptionsType & NewOptionsType, SyncOptions>>;
2421
+
2422
+ /**
2423
+ Same as `execa()` but using the `node: true` option.
2424
+ Executes a Node.js file using `node scriptPath ...arguments`.
2425
+
2426
+ When `command` is a template string, it includes both the `file` and its `arguments`.
2427
+
2428
+ `execaNode(options)` can be used to return a new instance of this method but with different default `options`. Consecutive calls are merged to previous ones.
2429
+
2430
+ This is the preferred method when executing Node.js files.
2431
+
2432
+ @param scriptPath - Node.js script to execute, as a string or file URL
2433
+ @param arguments - Arguments to pass to `scriptPath` on execution.
2434
+ @returns A `ResultPromise` that is both:
2435
+ - the subprocess.
2436
+ - a `Promise` either resolving with its successful `result`, or rejecting with its `error`.
2437
+ @throws `ExecaError`
2438
+
2439
+ @example
2440
+ ```
2441
+ import {execaNode, execa} from 'execa';
2442
+
2443
+ await execaNode`file.js argument`;
2444
+ // Is the same as:
2445
+ await execa({node: true})`file.js argument`;
2446
+ // Or:
2447
+ await execa`node file.js argument`;
2448
+ ```
2449
+ */
2450
+ declare const execaNode: ExecaNodeMethod<{}>;
2451
+
2452
+ /**
2453
+ `execaNode()` method either exported by Execa, or bound using `execaNode(options)`.
2454
+ */
2455
+ type ExecaNodeMethod<OptionsType extends Options = Options> =
2456
+ & ExecaNodeBind<OptionsType>
2457
+ & ExecaNodeTemplate<OptionsType>
2458
+ & ExecaNodeArrayLong<OptionsType>
2459
+ & ExecaNodeArrayShort<OptionsType>;
2460
+
2461
+ // `execaNode(options)` binding
2462
+ type ExecaNodeBind<OptionsType extends Options> =
2463
+ <NewOptionsType extends Options = {}>(options: NewOptionsType)
2464
+ => ExecaNodeMethod<OptionsType & NewOptionsType>;
2465
+
2466
+ // `execaNode`command`` template syntax
2467
+ type ExecaNodeTemplate<OptionsType extends Options> =
2468
+ (...templateString: TemplateString)
2469
+ => ResultPromise<NodeOptions<OptionsType>>;
2470
+
2471
+ // `execaNode('script', ['argument'], {})` array syntax
2472
+ type ExecaNodeArrayLong<OptionsType extends Options> =
2473
+ <NewOptionsType extends Options = {}>(scriptPath: string | URL, arguments?: readonly string[], options?: NewOptionsType)
2474
+ => ResultPromise<NodeOptions<OptionsType & NewOptionsType>>;
2475
+
2476
+ // `execaNode('script', {})` array syntax
2477
+ type ExecaNodeArrayShort<OptionsType extends Options> =
2478
+ <NewOptionsType extends Options = {}>(scriptPath: string | URL, options?: NewOptionsType)
2479
+ => ResultPromise<NodeOptions<OptionsType & NewOptionsType>>;
2480
+
2481
+ // `execaNode()` always uses the `node` option, which also enables the `ipc` option by default
2482
+ type NodeOptions<OptionsType extends Options> = OptionsType & {readonly node: true};
2483
+
2484
+ export { $, ExecaError, ExecaSyncError, execa, execaNode, execaSync, getCancelSignal, getEachMessage, getOneMessage, parseCommandString, sendMessage };
2485
+ export type { ExecaMethod, ExecaNodeMethod, ExecaScriptMethod, ExecaScriptSyncMethod, ExecaSyncMethod, Message, Options, Result, ResultPromise, StdinOption, StdinSyncOption, StdoutStderrOption, StdoutStderrSyncOption, Subprocess, SyncOptions, SyncResult, SyncVerboseObject, TemplateExpression, VerboseObject };