@pnpm/exe 12.8.1 → 12.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (612) hide show
  1. package/bin/pnpm.mjs +5 -1
  2. package/bin/pnpx.mjs +1 -1
  3. package/dist/node_modules/.bin/get-pnpm +4 -1
  4. package/dist/node_modules/.bin/node-gyp +4 -1
  5. package/dist/node_modules/.bin/node-which +4 -1
  6. package/dist/node_modules/.bin/nopt +4 -1
  7. package/dist/node_modules/.bin/semver +4 -1
  8. package/dist/node_modules/.pnpm-workspace-state-v1.json +18 -11
  9. package/dist/node_modules/undici/lib/core/request.js +68 -2
  10. package/dist/node_modules/undici/lib/dispatcher/client-h1.js +18 -7
  11. package/dist/node_modules/undici/lib/dispatcher/client-h2.js +70 -18
  12. package/dist/node_modules/undici/lib/handler/retry-handler.js +4 -1
  13. package/dist/node_modules/undici/package.json +1 -1
  14. package/dist/wasm/LICENSE +22 -0
  15. package/dist/wasm/README.md +140 -0
  16. package/dist/wasm/THIRD-PARTY-NOTICES.md +42 -0
  17. package/dist/wasm/host/atomic-waits.mjs +43 -0
  18. package/dist/wasm/host/cancellation.mjs +6 -0
  19. package/dist/wasm/host/executable-mode.mjs +8 -0
  20. package/dist/wasm/host/file-locks.mjs +40 -0
  21. package/dist/wasm/host/filesystem.mjs +318 -0
  22. package/dist/wasm/host/guest-imports.mjs +45 -0
  23. package/dist/wasm/host/guest-operations.mjs +148 -0
  24. package/dist/wasm/host/lock-registry.mjs +167 -0
  25. package/dist/wasm/host/network.mjs +76 -0
  26. package/dist/wasm/host/operations.mjs +67 -0
  27. package/dist/wasm/host/poll.mjs +74 -0
  28. package/dist/wasm/host/process-stdio.mjs +41 -0
  29. package/dist/wasm/host/process-tree.mjs +54 -0
  30. package/dist/wasm/host/process.mjs +126 -0
  31. package/dist/wasm/host/protocol.mjs +1 -0
  32. package/dist/wasm/host/resources.mjs +76 -0
  33. package/dist/wasm/host/shell-runner.mjs +8 -0
  34. package/dist/wasm/host/shell.mjs +19 -0
  35. package/dist/wasm/host/signals.mjs +49 -0
  36. package/dist/wasm/host/terminal-input.mjs +7 -0
  37. package/dist/wasm/host/terminal-password.mjs +32 -0
  38. package/dist/wasm/host/terminal-session.mjs +114 -0
  39. package/dist/wasm/host/terminal.mjs +61 -0
  40. package/dist/wasm/host/thread-spawn.mjs +21 -0
  41. package/dist/wasm/host/upload.mjs +21 -0
  42. package/dist/wasm/host/wait-for-reply.mjs +7 -0
  43. package/dist/wasm/host/wasi-errno.mjs +81 -0
  44. package/dist/wasm/host/wasi-imports.mjs +58 -0
  45. package/dist/wasm/node_modules/.bin/js-yaml +91 -0
  46. package/dist/wasm/node_modules/.bin/node-which +91 -0
  47. package/dist/wasm/node_modules/.bin/shell +91 -0
  48. package/dist/wasm/node_modules/.pnpm-workspace-state-v1.json +355 -0
  49. package/dist/wasm/node_modules/@emnapi/wasi-threads/LICENSE +21 -0
  50. package/dist/wasm/node_modules/@emnapi/wasi-threads/README.md +203 -0
  51. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.js +894 -0
  52. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.d.ts +272 -0
  53. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.js +1 -0
  54. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.mts +272 -0
  55. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.ts +274 -0
  56. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.esm-bundler.js +942 -0
  57. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.js +954 -0
  58. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.d.mts +272 -0
  59. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.js +1 -0
  60. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.mjs +1 -0
  61. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.mjs +889 -0
  62. package/dist/wasm/node_modules/@emnapi/wasi-threads/index.js +5 -0
  63. package/dist/wasm/node_modules/@emnapi/wasi-threads/package.json +50 -0
  64. package/dist/wasm/node_modules/@nodelib/fs.scandir/LICENSE +21 -0
  65. package/dist/wasm/node_modules/@nodelib/fs.scandir/README.md +171 -0
  66. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +20 -0
  67. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +19 -0
  68. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/constants.d.ts +4 -0
  69. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/constants.js +17 -0
  70. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/index.d.ts +12 -0
  71. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/index.js +26 -0
  72. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +7 -0
  73. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/async.js +104 -0
  74. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +1 -0
  75. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/common.js +13 -0
  76. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +5 -0
  77. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/sync.js +54 -0
  78. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/settings.d.ts +20 -0
  79. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/settings.js +24 -0
  80. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +20 -0
  81. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/types/index.js +2 -0
  82. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +2 -0
  83. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/fs.js +19 -0
  84. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +2 -0
  85. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/index.js +5 -0
  86. package/dist/wasm/node_modules/@nodelib/fs.scandir/package.json +44 -0
  87. package/dist/wasm/node_modules/@nodelib/fs.stat/LICENSE +21 -0
  88. package/dist/wasm/node_modules/@nodelib/fs.stat/README.md +126 -0
  89. package/dist/wasm/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +13 -0
  90. package/dist/wasm/node_modules/@nodelib/fs.stat/out/adapters/fs.js +17 -0
  91. package/dist/wasm/node_modules/@nodelib/fs.stat/out/index.d.ts +12 -0
  92. package/dist/wasm/node_modules/@nodelib/fs.stat/out/index.js +26 -0
  93. package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +4 -0
  94. package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/async.js +36 -0
  95. package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +3 -0
  96. package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/sync.js +23 -0
  97. package/dist/wasm/node_modules/@nodelib/fs.stat/out/settings.d.ts +16 -0
  98. package/dist/wasm/node_modules/@nodelib/fs.stat/out/settings.js +16 -0
  99. package/dist/wasm/node_modules/@nodelib/fs.stat/out/types/index.d.ts +4 -0
  100. package/dist/wasm/node_modules/@nodelib/fs.stat/out/types/index.js +2 -0
  101. package/dist/wasm/node_modules/@nodelib/fs.stat/package.json +37 -0
  102. package/dist/wasm/node_modules/@nodelib/fs.walk/LICENSE +21 -0
  103. package/dist/wasm/node_modules/@nodelib/fs.walk/README.md +215 -0
  104. package/dist/wasm/node_modules/@nodelib/fs.walk/out/index.d.ts +14 -0
  105. package/dist/wasm/node_modules/@nodelib/fs.walk/out/index.js +34 -0
  106. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +12 -0
  107. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/async.js +30 -0
  108. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +4 -0
  109. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/index.js +9 -0
  110. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +12 -0
  111. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/stream.js +34 -0
  112. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +10 -0
  113. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/sync.js +14 -0
  114. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +30 -0
  115. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/async.js +97 -0
  116. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +7 -0
  117. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/common.js +31 -0
  118. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +6 -0
  119. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/reader.js +11 -0
  120. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +15 -0
  121. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/sync.js +59 -0
  122. package/dist/wasm/node_modules/@nodelib/fs.walk/out/settings.d.ts +30 -0
  123. package/dist/wasm/node_modules/@nodelib/fs.walk/out/settings.js +26 -0
  124. package/dist/wasm/node_modules/@nodelib/fs.walk/out/types/index.d.ts +8 -0
  125. package/dist/wasm/node_modules/@nodelib/fs.walk/out/types/index.js +2 -0
  126. package/dist/wasm/node_modules/@nodelib/fs.walk/package.json +44 -0
  127. package/dist/wasm/node_modules/@tybys/wasm-util/LICENSE +21 -0
  128. package/dist/wasm/node_modules/@tybys/wasm-util/README.md +193 -0
  129. package/dist/wasm/node_modules/@tybys/wasm-util/dist/tsdoc-metadata.json +11 -0
  130. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.d.ts +423 -0
  131. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.esm-bundler.js +2932 -0
  132. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.esm.js +2932 -0
  133. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.esm.min.js +1 -0
  134. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.js +2954 -0
  135. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.min.js +1 -0
  136. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/asyncify.js +158 -0
  137. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/index.js +13 -0
  138. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/jspi.js +46 -0
  139. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/load.js +97 -0
  140. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/memory.js +35 -0
  141. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/error.js +103 -0
  142. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/fd.js +268 -0
  143. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/fs.js +3 -0
  144. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/index.js +192 -0
  145. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/path.js +316 -0
  146. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/preview1.js +1599 -0
  147. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/rights.js +141 -0
  148. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/types.js +220 -0
  149. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/util.js +128 -0
  150. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/webassembly.js +13 -0
  151. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/asyncify.mjs +153 -0
  152. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/index.mjs +9 -0
  153. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/jspi.mjs +39 -0
  154. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/load.mjs +89 -0
  155. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/memory.mjs +28 -0
  156. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/error.mjs +97 -0
  157. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/fd.mjs +256 -0
  158. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/fs.mjs +1 -0
  159. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/index.mjs +186 -0
  160. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/path.mjs +310 -0
  161. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/preview1.mjs +1593 -0
  162. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/rights.mjs +135 -0
  163. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/types.mjs +216 -0
  164. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/util.mjs +113 -0
  165. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/webassembly.mjs +9 -0
  166. package/dist/wasm/node_modules/@tybys/wasm-util/package.json +58 -0
  167. package/dist/wasm/node_modules/@types/braces/LICENSE +21 -0
  168. package/dist/wasm/node_modules/@types/braces/README.md +15 -0
  169. package/dist/wasm/node_modules/@types/braces/index.d.ts +100 -0
  170. package/dist/wasm/node_modules/@types/braces/package.json +36 -0
  171. package/dist/wasm/node_modules/@types/micromatch/LICENSE +21 -0
  172. package/dist/wasm/node_modules/@types/micromatch/README.md +15 -0
  173. package/dist/wasm/node_modules/@types/micromatch/index.d.ts +670 -0
  174. package/dist/wasm/node_modules/@types/micromatch/package.json +28 -0
  175. package/dist/wasm/node_modules/@yarnpkg/fslib/README.md +17 -0
  176. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/AliasFS.d.ts +16 -0
  177. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/AliasFS.js +24 -0
  178. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/CwdFS.d.ts +15 -0
  179. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/CwdFS.js +36 -0
  180. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/FakeFS.d.ts +398 -0
  181. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/FakeFS.js +451 -0
  182. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/JailFS.d.ts +16 -0
  183. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/JailFS.js +35 -0
  184. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/LazyFS.d.ts +13 -0
  185. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/LazyFS.js +26 -0
  186. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/MountFS.d.ts +278 -0
  187. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/MountFS.js +873 -0
  188. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NoFS.d.ts +78 -0
  189. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NoFS.js +229 -0
  190. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodeFS.d.ts +223 -0
  191. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodeFS.js +476 -0
  192. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodePathFS.d.ts +18 -0
  193. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodePathFS.js +47 -0
  194. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/PosixFS.d.ts +9 -0
  195. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/PosixFS.js +18 -0
  196. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/ProxiedFS.d.ts +229 -0
  197. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/ProxiedFS.js +255 -0
  198. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/VirtualFS.d.ts +19 -0
  199. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/VirtualFS.js +89 -0
  200. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.d.ts +19 -0
  201. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js +271 -0
  202. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.d.ts +22 -0
  203. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js +65 -0
  204. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.d.ts +59 -0
  205. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js +139 -0
  206. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.d.ts +6 -0
  207. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js +67 -0
  208. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/constants.d.ts +13 -0
  209. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/constants.js +16 -0
  210. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/errors.d.ts +36 -0
  211. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/errors.js +54 -0
  212. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/index.d.ts +48 -0
  213. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/index.js +55 -0
  214. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.d.ts +81 -0
  215. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js +254 -0
  216. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.d.ts +5 -0
  217. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js +265 -0
  218. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/path.d.ts +84 -0
  219. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/path.js +103 -0
  220. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/statUtils.d.ts +81 -0
  221. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/statUtils.js +238 -0
  222. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/xfs.d.ts +18 -0
  223. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/xfs.js +123 -0
  224. package/dist/wasm/node_modules/@yarnpkg/fslib/package.json +42 -0
  225. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/resolution.d.ts +1 -0
  226. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js +530 -0
  227. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/resolution.pegjs +17 -0
  228. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/shell.d.ts +92 -0
  229. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/shell.js +3653 -0
  230. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/shell.pegjs +189 -0
  231. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/syml.d.ts +1 -0
  232. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/syml.js +1911 -0
  233. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/syml.pegjs +125 -0
  234. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/index.d.ts +6 -0
  235. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/index.js +24 -0
  236. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/resolution.d.ts +12 -0
  237. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/resolution.js +31 -0
  238. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/shell.d.ts +19 -0
  239. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/shell.js +170 -0
  240. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/syml.d.ts +11 -0
  241. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/syml.js +132 -0
  242. package/dist/wasm/node_modules/@yarnpkg/parsers/package.json +46 -0
  243. package/dist/wasm/node_modules/@yarnpkg/shell/README.md +38 -0
  244. package/dist/wasm/node_modules/@yarnpkg/shell/lib/boot-cli-dev.js +3 -0
  245. package/dist/wasm/node_modules/@yarnpkg/shell/lib/cli.d.ts +2 -0
  246. package/dist/wasm/node_modules/@yarnpkg/shell/lib/cli.js +19 -0
  247. package/dist/wasm/node_modules/@yarnpkg/shell/lib/commands/entry.d.ts +8 -0
  248. package/dist/wasm/node_modules/@yarnpkg/shell/lib/commands/entry.js +60 -0
  249. package/dist/wasm/node_modules/@yarnpkg/shell/lib/errors.d.ts +6 -0
  250. package/dist/wasm/node_modules/@yarnpkg/shell/lib/errors.js +13 -0
  251. package/dist/wasm/node_modules/@yarnpkg/shell/lib/globUtils.d.ts +23 -0
  252. package/dist/wasm/node_modules/@yarnpkg/shell/lib/globUtils.js +47 -0
  253. package/dist/wasm/node_modules/@yarnpkg/shell/lib/index.d.ts +56 -0
  254. package/dist/wasm/node_modules/@yarnpkg/shell/lib/index.js +926 -0
  255. package/dist/wasm/node_modules/@yarnpkg/shell/lib/pipe.d.ts +54 -0
  256. package/dist/wasm/node_modules/@yarnpkg/shell/lib/pipe.js +281 -0
  257. package/dist/wasm/node_modules/@yarnpkg/shell/package.json +54 -0
  258. package/dist/wasm/node_modules/ansi-styles/index.d.ts +345 -0
  259. package/dist/wasm/node_modules/ansi-styles/index.js +163 -0
  260. package/dist/wasm/node_modules/ansi-styles/license +9 -0
  261. package/dist/wasm/node_modules/ansi-styles/package.json +56 -0
  262. package/dist/wasm/node_modules/ansi-styles/readme.md +152 -0
  263. package/dist/wasm/node_modules/argparse/CHANGELOG.md +216 -0
  264. package/dist/wasm/node_modules/argparse/LICENSE +254 -0
  265. package/dist/wasm/node_modules/argparse/README.md +84 -0
  266. package/dist/wasm/node_modules/argparse/argparse.js +3707 -0
  267. package/dist/wasm/node_modules/argparse/lib/sub.js +67 -0
  268. package/dist/wasm/node_modules/argparse/lib/textwrap.js +440 -0
  269. package/dist/wasm/node_modules/argparse/package.json +31 -0
  270. package/dist/wasm/node_modules/braces/LICENSE +21 -0
  271. package/dist/wasm/node_modules/braces/README.md +586 -0
  272. package/dist/wasm/node_modules/braces/index.js +170 -0
  273. package/dist/wasm/node_modules/braces/lib/compile.js +60 -0
  274. package/dist/wasm/node_modules/braces/lib/constants.js +57 -0
  275. package/dist/wasm/node_modules/braces/lib/expand.js +113 -0
  276. package/dist/wasm/node_modules/braces/lib/parse.js +331 -0
  277. package/dist/wasm/node_modules/braces/lib/stringify.js +32 -0
  278. package/dist/wasm/node_modules/braces/lib/utils.js +122 -0
  279. package/dist/wasm/node_modules/braces/package.json +77 -0
  280. package/dist/wasm/node_modules/chalk/index.d.ts +415 -0
  281. package/dist/wasm/node_modules/chalk/license +9 -0
  282. package/dist/wasm/node_modules/chalk/package.json +68 -0
  283. package/dist/wasm/node_modules/chalk/readme.md +341 -0
  284. package/dist/wasm/node_modules/chalk/source/index.js +229 -0
  285. package/dist/wasm/node_modules/chalk/source/templates.js +134 -0
  286. package/dist/wasm/node_modules/chalk/source/util.js +39 -0
  287. package/dist/wasm/node_modules/clipanion/README.md +98 -0
  288. package/dist/wasm/node_modules/clipanion/lib/advanced/Cli.d.ts +225 -0
  289. package/dist/wasm/node_modules/clipanion/lib/advanced/Cli.js +406 -0
  290. package/dist/wasm/node_modules/clipanion/lib/advanced/Cli.mjs +398 -0
  291. package/dist/wasm/node_modules/clipanion/lib/advanced/Command.d.ts +144 -0
  292. package/dist/wasm/node_modules/clipanion/lib/advanced/Command.js +91 -0
  293. package/dist/wasm/node_modules/clipanion/lib/advanced/Command.mjs +67 -0
  294. package/dist/wasm/node_modules/clipanion/lib/advanced/HelpCommand.d.ts +11 -0
  295. package/dist/wasm/node_modules/clipanion/lib/advanced/HelpCommand.js +54 -0
  296. package/dist/wasm/node_modules/clipanion/lib/advanced/HelpCommand.mjs +50 -0
  297. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/definitions.d.ts +8 -0
  298. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/definitions.js +17 -0
  299. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/definitions.mjs +13 -0
  300. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/help.d.ts +10 -0
  301. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/help.js +19 -0
  302. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/help.mjs +15 -0
  303. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/index.d.ts +3 -0
  304. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/index.js +13 -0
  305. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/index.mjs +3 -0
  306. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/version.d.ts +10 -0
  307. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/version.js +20 -0
  308. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/version.mjs +16 -0
  309. package/dist/wasm/node_modules/clipanion/lib/advanced/index.d.ts +7 -0
  310. package/dist/wasm/node_modules/clipanion/lib/advanced/index.js +19 -0
  311. package/dist/wasm/node_modules/clipanion/lib/advanced/index.mjs +8 -0
  312. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Array.d.ts +17 -0
  313. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Array.js +37 -0
  314. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Array.mjs +33 -0
  315. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Boolean.d.ts +14 -0
  316. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Boolean.js +34 -0
  317. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Boolean.mjs +30 -0
  318. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Counter.d.ts +15 -0
  319. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Counter.js +41 -0
  320. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Counter.mjs +37 -0
  321. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Proxy.d.ts +18 -0
  322. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Proxy.js +35 -0
  323. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Proxy.mjs +31 -0
  324. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Rest.d.ts +18 -0
  325. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Rest.js +51 -0
  326. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Rest.mjs +47 -0
  327. package/dist/wasm/node_modules/clipanion/lib/advanced/options/String.d.ts +49 -0
  328. package/dist/wasm/node_modules/clipanion/lib/advanced/options/String.js +84 -0
  329. package/dist/wasm/node_modules/clipanion/lib/advanced/options/String.mjs +80 -0
  330. package/dist/wasm/node_modules/clipanion/lib/advanced/options/index.d.ts +7 -0
  331. package/dist/wasm/node_modules/clipanion/lib/advanced/options/index.js +26 -0
  332. package/dist/wasm/node_modules/clipanion/lib/advanced/options/index.mjs +7 -0
  333. package/dist/wasm/node_modules/clipanion/lib/advanced/options/utils.d.ts +25 -0
  334. package/dist/wasm/node_modules/clipanion/lib/advanced/options/utils.js +59 -0
  335. package/dist/wasm/node_modules/clipanion/lib/advanced/options/utils.mjs +50 -0
  336. package/dist/wasm/node_modules/clipanion/lib/constants.d.ts +11 -0
  337. package/dist/wasm/node_modules/clipanion/lib/constants.js +27 -0
  338. package/dist/wasm/node_modules/clipanion/lib/constants.mjs +13 -0
  339. package/dist/wasm/node_modules/clipanion/lib/core.d.ts +462 -0
  340. package/dist/wasm/node_modules/clipanion/lib/core.js +827 -0
  341. package/dist/wasm/node_modules/clipanion/lib/core.mjs +800 -0
  342. package/dist/wasm/node_modules/clipanion/lib/demos/advanced.d.ts +22 -0
  343. package/dist/wasm/node_modules/clipanion/lib/errors.d.ts +52 -0
  344. package/dist/wasm/node_modules/clipanion/lib/errors.js +70 -0
  345. package/dist/wasm/node_modules/clipanion/lib/errors.mjs +64 -0
  346. package/dist/wasm/node_modules/clipanion/lib/format.d.ts +19 -0
  347. package/dist/wasm/node_modules/clipanion/lib/format.js +74 -0
  348. package/dist/wasm/node_modules/clipanion/lib/format.mjs +68 -0
  349. package/dist/wasm/node_modules/clipanion/package.json +68 -0
  350. package/dist/wasm/node_modules/color-convert/CHANGELOG.md +54 -0
  351. package/dist/wasm/node_modules/color-convert/LICENSE +21 -0
  352. package/dist/wasm/node_modules/color-convert/README.md +68 -0
  353. package/dist/wasm/node_modules/color-convert/conversions.js +839 -0
  354. package/dist/wasm/node_modules/color-convert/index.js +81 -0
  355. package/dist/wasm/node_modules/color-convert/package.json +48 -0
  356. package/dist/wasm/node_modules/color-convert/route.js +97 -0
  357. package/dist/wasm/node_modules/color-name/LICENSE +8 -0
  358. package/dist/wasm/node_modules/color-name/README.md +11 -0
  359. package/dist/wasm/node_modules/color-name/index.js +152 -0
  360. package/dist/wasm/node_modules/color-name/package.json +28 -0
  361. package/dist/wasm/node_modules/cross-spawn/LICENSE +21 -0
  362. package/dist/wasm/node_modules/cross-spawn/README.md +89 -0
  363. package/dist/wasm/node_modules/cross-spawn/index.js +39 -0
  364. package/dist/wasm/node_modules/cross-spawn/lib/enoent.js +59 -0
  365. package/dist/wasm/node_modules/cross-spawn/lib/parse.js +91 -0
  366. package/dist/wasm/node_modules/cross-spawn/lib/util/escape.js +47 -0
  367. package/dist/wasm/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  368. package/dist/wasm/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  369. package/dist/wasm/node_modules/cross-spawn/package.json +73 -0
  370. package/dist/wasm/node_modules/fast-glob/LICENSE +21 -0
  371. package/dist/wasm/node_modules/fast-glob/README.md +830 -0
  372. package/dist/wasm/node_modules/fast-glob/out/index.d.ts +40 -0
  373. package/dist/wasm/node_modules/fast-glob/out/index.js +102 -0
  374. package/dist/wasm/node_modules/fast-glob/out/managers/tasks.d.ts +22 -0
  375. package/dist/wasm/node_modules/fast-glob/out/managers/tasks.js +110 -0
  376. package/dist/wasm/node_modules/fast-glob/out/providers/async.d.ts +9 -0
  377. package/dist/wasm/node_modules/fast-glob/out/providers/async.js +23 -0
  378. package/dist/wasm/node_modules/fast-glob/out/providers/filters/deep.d.ts +16 -0
  379. package/dist/wasm/node_modules/fast-glob/out/providers/filters/deep.js +62 -0
  380. package/dist/wasm/node_modules/fast-glob/out/providers/filters/entry.d.ts +17 -0
  381. package/dist/wasm/node_modules/fast-glob/out/providers/filters/entry.js +85 -0
  382. package/dist/wasm/node_modules/fast-glob/out/providers/filters/error.d.ts +8 -0
  383. package/dist/wasm/node_modules/fast-glob/out/providers/filters/error.js +15 -0
  384. package/dist/wasm/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +33 -0
  385. package/dist/wasm/node_modules/fast-glob/out/providers/matchers/matcher.js +45 -0
  386. package/dist/wasm/node_modules/fast-glob/out/providers/matchers/partial.d.ts +4 -0
  387. package/dist/wasm/node_modules/fast-glob/out/providers/matchers/partial.js +38 -0
  388. package/dist/wasm/node_modules/fast-glob/out/providers/provider.d.ts +19 -0
  389. package/dist/wasm/node_modules/fast-glob/out/providers/provider.js +48 -0
  390. package/dist/wasm/node_modules/fast-glob/out/providers/stream.d.ts +11 -0
  391. package/dist/wasm/node_modules/fast-glob/out/providers/stream.js +31 -0
  392. package/dist/wasm/node_modules/fast-glob/out/providers/sync.d.ts +9 -0
  393. package/dist/wasm/node_modules/fast-glob/out/providers/sync.js +23 -0
  394. package/dist/wasm/node_modules/fast-glob/out/providers/transformers/entry.d.ts +8 -0
  395. package/dist/wasm/node_modules/fast-glob/out/providers/transformers/entry.js +26 -0
  396. package/dist/wasm/node_modules/fast-glob/out/readers/async.d.ts +10 -0
  397. package/dist/wasm/node_modules/fast-glob/out/readers/async.js +35 -0
  398. package/dist/wasm/node_modules/fast-glob/out/readers/reader.d.ts +15 -0
  399. package/dist/wasm/node_modules/fast-glob/out/readers/reader.js +33 -0
  400. package/dist/wasm/node_modules/fast-glob/out/readers/stream.d.ts +14 -0
  401. package/dist/wasm/node_modules/fast-glob/out/readers/stream.js +55 -0
  402. package/dist/wasm/node_modules/fast-glob/out/readers/sync.d.ts +12 -0
  403. package/dist/wasm/node_modules/fast-glob/out/readers/sync.js +43 -0
  404. package/dist/wasm/node_modules/fast-glob/out/settings.d.ts +164 -0
  405. package/dist/wasm/node_modules/fast-glob/out/settings.js +59 -0
  406. package/dist/wasm/node_modules/fast-glob/out/types/index.d.ts +31 -0
  407. package/dist/wasm/node_modules/fast-glob/out/types/index.js +2 -0
  408. package/dist/wasm/node_modules/fast-glob/out/utils/array.d.ts +2 -0
  409. package/dist/wasm/node_modules/fast-glob/out/utils/array.js +22 -0
  410. package/dist/wasm/node_modules/fast-glob/out/utils/errno.d.ts +2 -0
  411. package/dist/wasm/node_modules/fast-glob/out/utils/errno.js +7 -0
  412. package/dist/wasm/node_modules/fast-glob/out/utils/fs.d.ts +4 -0
  413. package/dist/wasm/node_modules/fast-glob/out/utils/fs.js +19 -0
  414. package/dist/wasm/node_modules/fast-glob/out/utils/index.d.ts +8 -0
  415. package/dist/wasm/node_modules/fast-glob/out/utils/index.js +17 -0
  416. package/dist/wasm/node_modules/fast-glob/out/utils/path.d.ts +13 -0
  417. package/dist/wasm/node_modules/fast-glob/out/utils/path.js +68 -0
  418. package/dist/wasm/node_modules/fast-glob/out/utils/pattern.d.ts +49 -0
  419. package/dist/wasm/node_modules/fast-glob/out/utils/pattern.js +206 -0
  420. package/dist/wasm/node_modules/fast-glob/out/utils/stream.d.ts +4 -0
  421. package/dist/wasm/node_modules/fast-glob/out/utils/stream.js +17 -0
  422. package/dist/wasm/node_modules/fast-glob/out/utils/string.d.ts +2 -0
  423. package/dist/wasm/node_modules/fast-glob/out/utils/string.js +11 -0
  424. package/dist/wasm/node_modules/fast-glob/package.json +81 -0
  425. package/dist/wasm/node_modules/fastq/LICENSE +13 -0
  426. package/dist/wasm/node_modules/fastq/README.md +310 -0
  427. package/dist/wasm/node_modules/fastq/SECURITY.md +15 -0
  428. package/dist/wasm/node_modules/fastq/bench.js +66 -0
  429. package/dist/wasm/node_modules/fastq/eslint.config.js +11 -0
  430. package/dist/wasm/node_modules/fastq/example.js +14 -0
  431. package/dist/wasm/node_modules/fastq/example.mjs +9 -0
  432. package/dist/wasm/node_modules/fastq/index.d.ts +59 -0
  433. package/dist/wasm/node_modules/fastq/package.json +49 -0
  434. package/dist/wasm/node_modules/fastq/queue.js +348 -0
  435. package/dist/wasm/node_modules/fastq/test/example.ts +83 -0
  436. package/dist/wasm/node_modules/fastq/test/promise.js +356 -0
  437. package/dist/wasm/node_modules/fastq/test/test.js +808 -0
  438. package/dist/wasm/node_modules/fastq/test/tsconfig.json +11 -0
  439. package/dist/wasm/node_modules/fill-range/LICENSE +21 -0
  440. package/dist/wasm/node_modules/fill-range/README.md +237 -0
  441. package/dist/wasm/node_modules/fill-range/index.js +248 -0
  442. package/dist/wasm/node_modules/fill-range/package.json +74 -0
  443. package/dist/wasm/node_modules/glob-parent/CHANGELOG.md +110 -0
  444. package/dist/wasm/node_modules/glob-parent/LICENSE +15 -0
  445. package/dist/wasm/node_modules/glob-parent/README.md +137 -0
  446. package/dist/wasm/node_modules/glob-parent/index.js +42 -0
  447. package/dist/wasm/node_modules/glob-parent/package.json +48 -0
  448. package/dist/wasm/node_modules/has-flag/index.d.ts +39 -0
  449. package/dist/wasm/node_modules/has-flag/index.js +8 -0
  450. package/dist/wasm/node_modules/has-flag/license +9 -0
  451. package/dist/wasm/node_modules/has-flag/package.json +46 -0
  452. package/dist/wasm/node_modules/has-flag/readme.md +89 -0
  453. package/dist/wasm/node_modules/is-extglob/LICENSE +21 -0
  454. package/dist/wasm/node_modules/is-extglob/README.md +107 -0
  455. package/dist/wasm/node_modules/is-extglob/index.js +20 -0
  456. package/dist/wasm/node_modules/is-extglob/package.json +69 -0
  457. package/dist/wasm/node_modules/is-glob/LICENSE +21 -0
  458. package/dist/wasm/node_modules/is-glob/README.md +206 -0
  459. package/dist/wasm/node_modules/is-glob/index.js +150 -0
  460. package/dist/wasm/node_modules/is-glob/package.json +81 -0
  461. package/dist/wasm/node_modules/is-number/LICENSE +21 -0
  462. package/dist/wasm/node_modules/is-number/README.md +187 -0
  463. package/dist/wasm/node_modules/is-number/index.js +18 -0
  464. package/dist/wasm/node_modules/is-number/package.json +82 -0
  465. package/dist/wasm/node_modules/isexe/.npmignore +2 -0
  466. package/dist/wasm/node_modules/isexe/LICENSE +15 -0
  467. package/dist/wasm/node_modules/isexe/README.md +51 -0
  468. package/dist/wasm/node_modules/isexe/index.js +57 -0
  469. package/dist/wasm/node_modules/isexe/mode.js +41 -0
  470. package/dist/wasm/node_modules/isexe/package.json +31 -0
  471. package/dist/wasm/node_modules/isexe/test/basic.js +221 -0
  472. package/dist/wasm/node_modules/isexe/windows.js +42 -0
  473. package/dist/wasm/node_modules/js-yaml/LICENSE +21 -0
  474. package/dist/wasm/node_modules/js-yaml/README.md +246 -0
  475. package/dist/wasm/node_modules/js-yaml/bin/js-yaml.js +126 -0
  476. package/dist/wasm/node_modules/js-yaml/dist/js-yaml.js +3874 -0
  477. package/dist/wasm/node_modules/js-yaml/dist/js-yaml.min.js +2 -0
  478. package/dist/wasm/node_modules/js-yaml/dist/js-yaml.mjs +3851 -0
  479. package/dist/wasm/node_modules/js-yaml/index.js +30 -0
  480. package/dist/wasm/node_modules/js-yaml/lib/common.js +59 -0
  481. package/dist/wasm/node_modules/js-yaml/lib/dumper.js +979 -0
  482. package/dist/wasm/node_modules/js-yaml/lib/exception.js +55 -0
  483. package/dist/wasm/node_modules/js-yaml/lib/loader.js +1733 -0
  484. package/dist/wasm/node_modules/js-yaml/lib/schema/core.js +11 -0
  485. package/dist/wasm/node_modules/js-yaml/lib/schema/default.js +22 -0
  486. package/dist/wasm/node_modules/js-yaml/lib/schema/failsafe.js +17 -0
  487. package/dist/wasm/node_modules/js-yaml/lib/schema/json.js +19 -0
  488. package/dist/wasm/node_modules/js-yaml/lib/schema.js +121 -0
  489. package/dist/wasm/node_modules/js-yaml/lib/snippet.js +101 -0
  490. package/dist/wasm/node_modules/js-yaml/lib/type/binary.js +125 -0
  491. package/dist/wasm/node_modules/js-yaml/lib/type/bool.js +35 -0
  492. package/dist/wasm/node_modules/js-yaml/lib/type/float.js +97 -0
  493. package/dist/wasm/node_modules/js-yaml/lib/type/int.js +156 -0
  494. package/dist/wasm/node_modules/js-yaml/lib/type/map.js +8 -0
  495. package/dist/wasm/node_modules/js-yaml/lib/type/merge.js +12 -0
  496. package/dist/wasm/node_modules/js-yaml/lib/type/null.js +35 -0
  497. package/dist/wasm/node_modules/js-yaml/lib/type/omap.js +44 -0
  498. package/dist/wasm/node_modules/js-yaml/lib/type/pairs.js +53 -0
  499. package/dist/wasm/node_modules/js-yaml/lib/type/seq.js +8 -0
  500. package/dist/wasm/node_modules/js-yaml/lib/type/set.js +29 -0
  501. package/dist/wasm/node_modules/js-yaml/lib/type/str.js +8 -0
  502. package/dist/wasm/node_modules/js-yaml/lib/type/timestamp.js +88 -0
  503. package/dist/wasm/node_modules/js-yaml/lib/type.js +65 -0
  504. package/dist/wasm/node_modules/js-yaml/package.json +65 -0
  505. package/dist/wasm/node_modules/merge2/LICENSE +21 -0
  506. package/dist/wasm/node_modules/merge2/README.md +144 -0
  507. package/dist/wasm/node_modules/merge2/index.js +144 -0
  508. package/dist/wasm/node_modules/merge2/package.json +43 -0
  509. package/dist/wasm/node_modules/micromatch/LICENSE +21 -0
  510. package/dist/wasm/node_modules/micromatch/README.md +1024 -0
  511. package/dist/wasm/node_modules/micromatch/index.js +474 -0
  512. package/dist/wasm/node_modules/micromatch/package.json +119 -0
  513. package/dist/wasm/node_modules/path-key/index.d.ts +40 -0
  514. package/dist/wasm/node_modules/path-key/index.js +16 -0
  515. package/dist/wasm/node_modules/path-key/license +9 -0
  516. package/dist/wasm/node_modules/path-key/package.json +39 -0
  517. package/dist/wasm/node_modules/path-key/readme.md +61 -0
  518. package/dist/wasm/node_modules/picomatch/LICENSE +21 -0
  519. package/dist/wasm/node_modules/picomatch/README.md +716 -0
  520. package/dist/wasm/node_modules/picomatch/index.js +3 -0
  521. package/dist/wasm/node_modules/picomatch/lib/constants.js +184 -0
  522. package/dist/wasm/node_modules/picomatch/lib/parse.js +1392 -0
  523. package/dist/wasm/node_modules/picomatch/lib/picomatch.js +342 -0
  524. package/dist/wasm/node_modules/picomatch/lib/scan.js +391 -0
  525. package/dist/wasm/node_modules/picomatch/lib/utils.js +64 -0
  526. package/dist/wasm/node_modules/picomatch/package.json +81 -0
  527. package/dist/wasm/node_modules/queue-microtask/LICENSE +20 -0
  528. package/dist/wasm/node_modules/queue-microtask/README.md +90 -0
  529. package/dist/wasm/node_modules/queue-microtask/index.d.ts +2 -0
  530. package/dist/wasm/node_modules/queue-microtask/index.js +9 -0
  531. package/dist/wasm/node_modules/queue-microtask/package.json +55 -0
  532. package/dist/wasm/node_modules/reusify/.github/dependabot.yml +7 -0
  533. package/dist/wasm/node_modules/reusify/.github/workflows/ci.yml +96 -0
  534. package/dist/wasm/node_modules/reusify/LICENSE +22 -0
  535. package/dist/wasm/node_modules/reusify/README.md +139 -0
  536. package/dist/wasm/node_modules/reusify/SECURITY.md +15 -0
  537. package/dist/wasm/node_modules/reusify/benchmarks/createNoCodeFunction.js +30 -0
  538. package/dist/wasm/node_modules/reusify/benchmarks/fib.js +13 -0
  539. package/dist/wasm/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +38 -0
  540. package/dist/wasm/node_modules/reusify/eslint.config.js +14 -0
  541. package/dist/wasm/node_modules/reusify/package.json +50 -0
  542. package/dist/wasm/node_modules/reusify/reusify.d.ts +14 -0
  543. package/dist/wasm/node_modules/reusify/reusify.js +33 -0
  544. package/dist/wasm/node_modules/reusify/test.js +66 -0
  545. package/dist/wasm/node_modules/reusify/tsconfig.json +11 -0
  546. package/dist/wasm/node_modules/run-parallel/LICENSE +20 -0
  547. package/dist/wasm/node_modules/run-parallel/README.md +85 -0
  548. package/dist/wasm/node_modules/run-parallel/index.js +51 -0
  549. package/dist/wasm/node_modules/run-parallel/package.json +58 -0
  550. package/dist/wasm/node_modules/shebang-command/index.js +19 -0
  551. package/dist/wasm/node_modules/shebang-command/license +9 -0
  552. package/dist/wasm/node_modules/shebang-command/package.json +34 -0
  553. package/dist/wasm/node_modules/shebang-command/readme.md +34 -0
  554. package/dist/wasm/node_modules/shebang-regex/index.d.ts +22 -0
  555. package/dist/wasm/node_modules/shebang-regex/index.js +2 -0
  556. package/dist/wasm/node_modules/shebang-regex/license +9 -0
  557. package/dist/wasm/node_modules/shebang-regex/package.json +35 -0
  558. package/dist/wasm/node_modules/shebang-regex/readme.md +33 -0
  559. package/dist/wasm/node_modules/supports-color/browser.js +5 -0
  560. package/dist/wasm/node_modules/supports-color/index.js +135 -0
  561. package/dist/wasm/node_modules/supports-color/license +9 -0
  562. package/dist/wasm/node_modules/supports-color/package.json +53 -0
  563. package/dist/wasm/node_modules/supports-color/readme.md +76 -0
  564. package/dist/wasm/node_modules/to-regex-range/LICENSE +21 -0
  565. package/dist/wasm/node_modules/to-regex-range/README.md +305 -0
  566. package/dist/wasm/node_modules/to-regex-range/index.js +288 -0
  567. package/dist/wasm/node_modules/to-regex-range/package.json +88 -0
  568. package/dist/wasm/node_modules/tslib/CopyrightNotice.txt +15 -0
  569. package/dist/wasm/node_modules/tslib/LICENSE.txt +12 -0
  570. package/dist/wasm/node_modules/tslib/README.md +164 -0
  571. package/dist/wasm/node_modules/tslib/SECURITY.md +41 -0
  572. package/dist/wasm/node_modules/tslib/modules/index.d.ts +38 -0
  573. package/dist/wasm/node_modules/tslib/modules/index.js +70 -0
  574. package/dist/wasm/node_modules/tslib/modules/package.json +3 -0
  575. package/dist/wasm/node_modules/tslib/package.json +47 -0
  576. package/dist/wasm/node_modules/tslib/tslib.d.ts +460 -0
  577. package/dist/wasm/node_modules/tslib/tslib.es6.html +1 -0
  578. package/dist/wasm/node_modules/tslib/tslib.es6.js +402 -0
  579. package/dist/wasm/node_modules/tslib/tslib.es6.mjs +401 -0
  580. package/dist/wasm/node_modules/tslib/tslib.html +1 -0
  581. package/dist/wasm/node_modules/tslib/tslib.js +484 -0
  582. package/dist/wasm/node_modules/typanion/README.md +117 -0
  583. package/dist/wasm/node_modules/typanion/lib/index.d.ts +5 -0
  584. package/dist/wasm/node_modules/typanion/lib/index.js +1305 -0
  585. package/dist/wasm/node_modules/typanion/lib/index.mjs +1249 -0
  586. package/dist/wasm/node_modules/typanion/lib/internal/format.d.ts +5 -0
  587. package/dist/wasm/node_modules/typanion/lib/internal/regexps.d.ts +5 -0
  588. package/dist/wasm/node_modules/typanion/lib/internal/tools.d.ts +5 -0
  589. package/dist/wasm/node_modules/typanion/lib/predicates/cascadingPredicates.d.ts +114 -0
  590. package/dist/wasm/node_modules/typanion/lib/predicates/helperPredicates.d.ts +80 -0
  591. package/dist/wasm/node_modules/typanion/lib/predicates/typePredicates.d.ts +205 -0
  592. package/dist/wasm/node_modules/typanion/lib/tools.d.ts +90 -0
  593. package/dist/wasm/node_modules/typanion/lib/types.d.ts +22 -0
  594. package/dist/wasm/node_modules/typanion/package.json +40 -0
  595. package/dist/wasm/node_modules/which/CHANGELOG.md +166 -0
  596. package/dist/wasm/node_modules/which/LICENSE +15 -0
  597. package/dist/wasm/node_modules/which/README.md +54 -0
  598. package/dist/wasm/node_modules/which/bin/node-which +52 -0
  599. package/dist/wasm/node_modules/which/package.json +43 -0
  600. package/dist/wasm/node_modules/which/which.js +125 -0
  601. package/dist/wasm/package.json +10 -0
  602. package/dist/wasm/pnpm.mjs +8 -0
  603. package/dist/wasm/pnpm.wasm +4 -0
  604. package/dist/wasm/pnpx.mjs +8 -0
  605. package/dist/wasm/run.mjs +147 -0
  606. package/dist/wasm/worker.mjs +56 -0
  607. package/install.js +18 -21
  608. package/package.json +16 -16
  609. package/pn +2 -70
  610. package/pnpm +2 -90
  611. package/pnpx +2 -70
  612. package/pnx +2 -70
@@ -0,0 +1,126 @@
1
+ import { spawn } from 'node:child_process'
2
+ import { once } from 'node:events'
3
+ import { constants } from 'node:os'
4
+
5
+ import { killProcessTree } from './process-tree.mjs'
6
+ import { createStream } from './resources.mjs'
7
+ import { bridgeDescriptors, prepareStdio } from './process-stdio.mjs'
8
+
9
+ export async function spawnProcess (resources, options, { signal, acquireDescriptor } = {}) {
10
+ const stdio = prepareStdio(options, acquireDescriptor)
11
+ const child = startProcess(options, stdio)
12
+ const processResource = trackProcess(child, bridgeDescriptors(child, stdio.redirects))
13
+ const abort = () => {
14
+ processResource.cancellation = processResource.close().then(() => signal.reason, error => error)
15
+ }
16
+ signal?.addEventListener('abort', abort, { once: true })
17
+ void processResource.completion.then(() => signal?.removeEventListener('abort', abort))
18
+ const handle = resources.add(processResource)
19
+ const stdout = addPipe(resources, stdio.redirects.has(1) ? null : child.stdout)
20
+ const stderr = addPipe(resources, stdio.redirects.has(2) ? null : child.stderr)
21
+ try {
22
+ await once(child, 'spawn')
23
+ signal?.throwIfAborted()
24
+ } catch (error) {
25
+ resources.remove(handle)
26
+ if (stdout !== null) resources.remove(stdout)
27
+ if (stderr !== null) resources.remove(stderr)
28
+ await processResource.close()
29
+ throw error
30
+ }
31
+ return {
32
+ handle,
33
+ pid: child.pid,
34
+ stdout,
35
+ stderr,
36
+ }
37
+ }
38
+
39
+ export async function writeStdin (resource, bytes) {
40
+ if (resource.inputError) throw resource.inputError
41
+ if (!(bytes instanceof Uint8Array)) throw new TypeError('Process input must be a Uint8Array')
42
+ if (!resource.child.stdin) throw new Error('Process stdin is not piped')
43
+ await new Promise((resolve, reject) => {
44
+ resource.child.stdin.write(bytes, error => error ? reject(error) : resolve())
45
+ })
46
+ }
47
+
48
+ export async function endStdin (resource) {
49
+ if (resource.inputError) throw resource.inputError
50
+ if (!resource.child.stdin) throw new Error('Process stdin is not piped')
51
+ await new Promise((resolve, reject) => {
52
+ resource.child.stdin.end(error => error ? reject(error) : resolve())
53
+ })
54
+ }
55
+
56
+ export async function waitProcess (resource) {
57
+ const result = await resource.completion
58
+ const cancellationError = await resource.cancellation
59
+ if (cancellationError) throw cancellationError
60
+ if (result.error) throw result.error
61
+ return result
62
+ }
63
+
64
+ export function tryWaitProcess (resource) {
65
+ if (resource.status?.error) throw resource.status.error
66
+ return resource.status
67
+ }
68
+
69
+ function addPipe (resources, pipe) {
70
+ if (!pipe) return null
71
+ const iterator = pipe[Symbol.asyncIterator]()
72
+ const next = () => iterator.next().then(result => ({ result }), error => ({ error }))
73
+ let pending = next()
74
+ return resources.add(createStream(async () => {
75
+ const settled = await pending
76
+ if (settled.error) throw settled.error
77
+ if (!settled.result.done) pending = next()
78
+ return settled.result
79
+ }, () => pipe.destroy()))
80
+ }
81
+
82
+ function startProcess (options, stdio) {
83
+ try {
84
+ return spawn(options.program, options.args ?? [], {
85
+ cwd: options.cwd, env: options.env, stdio: stdio.modes,
86
+ })
87
+ } catch (error) {
88
+ stdio.release()
89
+ throw error
90
+ }
91
+ }
92
+
93
+ function trackProcess (child, redirected) {
94
+ const completion = new Promise(resolve => {
95
+ child.once('error', error => resolve({ error }))
96
+ child.once('exit', (code, signal) => resolve(exitStatus(code, signal)))
97
+ }).then(async result => {
98
+ const error = result.error ?? await redirected
99
+ return error ? { error } : result
100
+ })
101
+ const resource = {
102
+ kind: 'process',
103
+ child,
104
+ completion,
105
+ kill: signal => killProcessTree(child, signal),
106
+ inputError: null,
107
+ status: null,
108
+ async close () {
109
+ try {
110
+ await killProcessTree(child, 'SIGKILL')
111
+ } finally {
112
+ child.stdin?.destroy()
113
+ child.stdout?.destroy()
114
+ child.stderr?.destroy()
115
+ await completion
116
+ }
117
+ },
118
+ }
119
+ child.stdin?.on('error', error => { resource.inputError = error })
120
+ void completion.then(result => { resource.status = result })
121
+ return resource
122
+ }
123
+
124
+ function exitStatus (code, signal) {
125
+ return { code, signal, signalNumber: signal === null ? null : constants.signals[signal] ?? null }
126
+ }
@@ -0,0 +1 @@
1
+ export const RESPONSE_CAPACITY = 1024 * 1024
@@ -0,0 +1,76 @@
1
+ export function createResources () {
2
+ const resources = new Map()
3
+ let nextHandle = 1
4
+ let closed = false
5
+ return {
6
+ add (resource) {
7
+ if (closed) throw new Error('WASM host resources are closed')
8
+ if (nextHandle > 0x7fffffff) throw new Error('WASM host resource handles exhausted')
9
+ const handle = nextHandle++
10
+ resources.set(handle, resource)
11
+ return handle
12
+ },
13
+ get (handle, kind) {
14
+ const resource = resources.get(handle)
15
+ if (!resource || resource.kind !== kind) throw new Error(`Invalid ${kind} handle: ${handle}`)
16
+ return resource
17
+ },
18
+ findProcess (pid) {
19
+ const resource = [...resources.values()].find(resource => resource.kind === 'process' && resource.child.pid === pid)
20
+ if (!resource) throw Object.assign(new Error(`No owned process with PID ${pid}`), { code: 'ESRCH' })
21
+ return resource
22
+ },
23
+ remove (handle) {
24
+ resources.delete(handle)
25
+ },
26
+ async close (handle) {
27
+ const resource = resources.get(handle)
28
+ if (!resource) throw new Error(`Invalid resource handle: ${handle}`)
29
+ resources.delete(handle)
30
+ await resource.close()
31
+ },
32
+ async closeAll () {
33
+ closed = true
34
+ const pending = [...resources.values()]
35
+ resources.clear()
36
+ const results = await Promise.allSettled(pending.map(resource => resource.close()))
37
+ const errors = results.filter(result => result.status === 'rejected').map(result => result.reason)
38
+ if (errors.length) throw new AggregateError(errors, 'Failed to close WASM host resources')
39
+ },
40
+ }
41
+ }
42
+
43
+ export function createStream (reader, cancel) {
44
+ let remainder = new Uint8Array()
45
+ let reading = false
46
+ let closed = false
47
+ return {
48
+ kind: 'stream',
49
+ async read (maxBytes = 65536) {
50
+ if (!Number.isInteger(maxBytes) || maxBytes < 1 || maxBytes > 65536) {
51
+ throw new RangeError('Stream read size must be between 1 and 65536')
52
+ }
53
+ if (reading) throw new Error('Concurrent reads of one stream are not supported')
54
+ if (closed) throw new Error('Stream is closed')
55
+ reading = true
56
+ try {
57
+ while (remainder.length === 0) {
58
+ // eslint-disable-next-line no-await-in-loop -- Empty chunks must be consumed before returning stream bytes.
59
+ const result = await reader()
60
+ if (result.done) return { bytes: new Uint8Array(), done: true }
61
+ remainder = result.value
62
+ }
63
+ const bytes = Uint8Array.from(remainder.subarray(0, maxBytes))
64
+ remainder = remainder.subarray(bytes.length)
65
+ return { bytes, done: false }
66
+ } finally {
67
+ reading = false
68
+ }
69
+ },
70
+ async close () {
71
+ closed = true
72
+ remainder = new Uint8Array()
73
+ await cancel()
74
+ },
75
+ }
76
+ }
@@ -0,0 +1,8 @@
1
+ import { execute } from '@yarnpkg/shell'
2
+
3
+ try {
4
+ process.exitCode = await execute(process.argv[2], process.argv.slice(3))
5
+ } catch (error) {
6
+ console.error(error.message)
7
+ process.exitCode = 1
8
+ }
@@ -0,0 +1,19 @@
1
+ import { fileURLToPath } from 'node:url'
2
+
3
+ import { parseShell } from '@yarnpkg/parsers'
4
+ import { globUtils } from '@yarnpkg/shell'
5
+
6
+ import { spawnProcess } from './process.mjs'
7
+
8
+ export function spawnShell (resources, options, configuration) {
9
+ try {
10
+ parseShell(options.script, globUtils)
11
+ } catch (error) {
12
+ throw Object.assign(new Error(error.message, { cause: error }), { code: 'ESHELLPARSE' })
13
+ }
14
+ return spawnProcess(resources, {
15
+ ...options,
16
+ program: process.execPath,
17
+ args: [fileURLToPath(new URL('./shell-runner.mjs', import.meta.url)), options.script, ...(options.args ?? [])],
18
+ }, configuration)
19
+ }
@@ -0,0 +1,49 @@
1
+ export function createSignals (source = process) {
2
+ const queued = []
3
+ const waiters = []
4
+ let handlers
5
+ let closed = false
6
+
7
+ function subscribe () {
8
+ if (handlers) return
9
+ handlers = ['SIGINT', 'SIGTERM'].map(signal => {
10
+ const listener = () => {
11
+ const value = { signal, number: signal === 'SIGINT' ? 2 : 15 }
12
+ const waiter = waiters.shift()
13
+ if (waiter) waiter.resolve(value)
14
+ else queued.push(value)
15
+ }
16
+ source.on(signal, listener)
17
+ return [signal, listener]
18
+ })
19
+ }
20
+
21
+ return {
22
+ next ({ signal } = {}) {
23
+ if (closed) return Promise.reject(new Error('Signal subscription is closed'))
24
+ signal?.throwIfAborted()
25
+ subscribe()
26
+ if (queued.length) return Promise.resolve(queued.shift())
27
+ return new Promise((resolve, reject) => {
28
+ const abort = () => {
29
+ const index = waiters.indexOf(waiter)
30
+ if (index !== -1) waiters.splice(index, 1)
31
+ waiter.reject(signal.reason)
32
+ }
33
+ const finish = callback => value => {
34
+ signal?.removeEventListener('abort', abort)
35
+ callback(value)
36
+ }
37
+ const waiter = { resolve: finish(resolve), reject: finish(reject) }
38
+ waiters.push(waiter)
39
+ signal?.addEventListener('abort', abort, { once: true })
40
+ })
41
+ },
42
+ close () {
43
+ closed = true
44
+ for (const [signal, listener] of handlers ?? []) source.off(signal, listener)
45
+ for (const waiter of waiters.splice(0)) waiter.reject(new Error('Signal subscription is closed'))
46
+ queued.length = 0
47
+ },
48
+ }
49
+ }
@@ -0,0 +1,7 @@
1
+ const activeInputs = new WeakSet()
2
+
3
+ export function claimTerminalInput (input) {
4
+ if (activeInputs.has(input)) throw new Error('A terminal prompt is already active')
5
+ activeInputs.add(input)
6
+ return () => activeInputs.delete(input)
7
+ }
@@ -0,0 +1,32 @@
1
+ import { createResources } from './resources.mjs'
2
+ import { openTerminal, writeTerminal } from './terminal-session.mjs'
3
+
4
+ export async function password (options, context = {}) {
5
+ if (typeof options.message !== 'string') throw new TypeError('Password prompt message must be a string')
6
+ context.signal?.throwIfAborted()
7
+ const resources = createResources()
8
+ try {
9
+ const { handle } = await openTerminal(resources, { ...context, output: context.output ?? process.stderr, maxQueuedKeys: 65536 })
10
+ const session = resources.get(handle, 'terminal')
11
+ await writeTerminal(session, `${options.message}: `)
12
+ return await readPassword(session, options.allowEmpty, context.signal)
13
+ } finally {
14
+ await resources.closeAll()
15
+ }
16
+ }
17
+
18
+ async function readPassword (session, allowEmpty, signal) {
19
+ const characters = []
20
+ while (true) {
21
+ // eslint-disable-next-line no-await-in-loop -- input must be consumed in key order
22
+ const key = await session.read(signal)
23
+ if (['ctrl-c', 'escape', 'eof'].includes(key.name)) throw Object.assign(new Error('Password input cancelled'), { code: 'EINTR' })
24
+ if (key.name === 'enter' && (allowEmpty || characters.length)) {
25
+ await writeTerminal(session, '\n') // eslint-disable-line no-await-in-loop -- newline is emitted only after accepting the complete password
26
+ return characters.join('')
27
+ }
28
+ if (key.name === 'backspace' || key.name === 'delete') characters.pop()
29
+ else if (key.character && Array.from(key.character).every(character => character >= ' ' && character !== '\x7f')) characters.push(key.character)
30
+ if (characters.length > 65536) throw new Error('Password input exceeds the terminal limit')
31
+ }
32
+ }
@@ -0,0 +1,114 @@
1
+ import { emitKeypressEvents } from 'node:readline'
2
+ import { PassThrough } from 'node:stream'
3
+
4
+ import { claimTerminalInput } from './terminal-input.mjs'
5
+
6
+ export async function openTerminal (resources, { input = process.stdin, output = selectOutput(), maxQueuedKeys = 128 } = {}) {
7
+ if (!input.isTTY || !output?.isTTY || typeof input.setRawMode !== 'function') {
8
+ throw Object.assign(new Error('Interactive terminal input is unavailable'), { code: 'ENOTTY' })
9
+ }
10
+ const release = claimTerminalInput(input)
11
+ let session
12
+ try {
13
+ session = createSession(input, output, { release, maxQueuedKeys })
14
+ return { handle: resources.add(session), rows: output.rows ?? null, columns: output.columns ?? null }
15
+ } catch (error) {
16
+ await session?.close()
17
+ release()
18
+ throw error
19
+ }
20
+ }
21
+
22
+ export function writeTerminal (session, text) {
23
+ if (typeof text !== 'string' || text.length > 65536) throw new TypeError('Invalid terminal output')
24
+ return new Promise((resolve, reject) => {
25
+ session.output.write(text, error => error ? reject(error) : resolve(null))
26
+ })
27
+ }
28
+
29
+ function createSession (input, output, { release, maxQueuedKeys }) {
30
+ const keys = new PassThrough()
31
+ const state = { queue: [], pending: null, error: null, closed: false, maxQueuedKeys }
32
+ const wasRaw = Boolean(input.isRaw)
33
+ const wasFlowing = input.readableFlowing === true
34
+ const onData = chunk => keys.write(chunk)
35
+ const onError = error => fail(state, error)
36
+ const onEnd = () => fail(state, Object.assign(new Error('Terminal input closed'), { code: 'EINTR' }))
37
+ emitKeypressEvents(keys)
38
+ keys.on('keypress', (character, key) => receiveKey(state, decodeKey(character, key)))
39
+ input.setRawMode(true)
40
+ input.on('data', onData).on('error', onError).on('end', onEnd)
41
+ output.on('error', onError)
42
+ input.resume()
43
+ return {
44
+ kind: 'terminal', output,
45
+ read: signal => readKey(state, signal),
46
+ async close () {
47
+ if (state.closed) return
48
+ state.closed = true
49
+ fail(state, new Error('Terminal session closed'))
50
+ input.off('data', onData).off('error', onError).off('end', onEnd)
51
+ keys.destroy()
52
+ try {
53
+ try {
54
+ input.setRawMode(wasRaw)
55
+ } finally {
56
+ if (!wasFlowing) input.pause()
57
+ release()
58
+ }
59
+ await writeTerminal({ output }, '\x1b[?25h')
60
+ } finally {
61
+ output.off('error', onError)
62
+ }
63
+ },
64
+ }
65
+ }
66
+
67
+ function readKey (state, signal) {
68
+ signal?.throwIfAborted()
69
+ if (state.error) return Promise.reject(state.error)
70
+ if (state.pending) throw new Error('A terminal key read is already pending')
71
+ if (state.queue.length) return Promise.resolve(state.queue.shift())
72
+ return new Promise((resolve, reject) => {
73
+ const abort = () => {
74
+ state.pending = null
75
+ reject(signal.reason)
76
+ }
77
+ state.pending = {
78
+ resolve: key => { signal?.removeEventListener('abort', abort); resolve(key) },
79
+ reject: error => { signal?.removeEventListener('abort', abort); reject(error) },
80
+ }
81
+ signal?.addEventListener('abort', abort, { once: true })
82
+ })
83
+ }
84
+
85
+ function receiveKey (state, key) {
86
+ if (state.closed || state.error) return
87
+ if (state.pending) {
88
+ const pending = state.pending
89
+ state.pending = null
90
+ pending.resolve(key)
91
+ } else if (state.queue.length < state.maxQueuedKeys) state.queue.push(key)
92
+ else fail(state, new Error(`Terminal input queue exceeded ${state.maxQueuedKeys} keys`))
93
+ }
94
+
95
+ function fail (state, error) {
96
+ state.error ??= error
97
+ state.queue.length = 0
98
+ state.pending?.reject(state.error)
99
+ state.pending = null
100
+ }
101
+
102
+ function decodeKey (character, key) {
103
+ if (key.ctrl && key.name === 'c') return { name: 'ctrl-c' }
104
+ if (key.ctrl && key.name === 'd') return { name: 'eof' }
105
+ if (['escape', 'backspace', 'delete', 'left', 'right', 'home', 'end'].includes(key.name)) return { name: key.name }
106
+ if (key.name === 'tab') return { name: key.shift ? 'backtab' : 'tab' }
107
+ if (['return', 'enter'].includes(key.name)) return { name: 'enter' }
108
+ if (['up', 'down'].includes(key.name)) return { name: key.name }
109
+ return { name: 'other', ...(!key.ctrl && !key.meta && character ? { character } : {}) }
110
+ }
111
+
112
+ function selectOutput () {
113
+ return process.stdout.isTTY ? process.stdout : process.stderr
114
+ }
@@ -0,0 +1,61 @@
1
+ import { createInterface } from 'node:readline'
2
+
3
+ import { claimTerminalInput } from './terminal-input.mjs'
4
+
5
+ export async function prompt (options, { signal, input = process.stdin, output = process.stderr } = {}) {
6
+ if (typeof options.message !== 'string') throw new TypeError('Terminal prompt message must be a string')
7
+ signal?.throwIfAborted()
8
+ const release = claimTerminalInput(input)
9
+ let terminal
10
+ let abort
11
+ let keypress
12
+ try {
13
+ terminal = createInterface({ input, output, terminal: Boolean(input.isTTY && output.isTTY) })
14
+ return await new Promise((resolve, reject) => {
15
+ abort = () => reject(signal.reason)
16
+ signal?.addEventListener('abort', abort, { once: true })
17
+ terminal.once('SIGINT', () => resolve({ cancelled: true }))
18
+ keypress = (_text, key) => {
19
+ if (options.cancelOnEscape && key?.name === 'escape') resolve({ cancelled: true })
20
+ }
21
+ input.on('keypress', keypress)
22
+ terminal.once('close', () => resolve({ value: null }))
23
+ terminal.once('error', reject)
24
+ terminal.question(`${options.message}: `, value => resolve({ value }))
25
+ })
26
+ } finally {
27
+ signal?.removeEventListener('abort', abort)
28
+ if (keypress) input.off('keypress', keypress)
29
+ terminal?.close()
30
+ release()
31
+ }
32
+ }
33
+
34
+ export async function confirm (options, context = {}) {
35
+ const input = context.input ?? process.stdin
36
+ const output = context.output ?? process.stderr
37
+ if (!input.isTTY || !output.isTTY) throw Object.assign(new Error('Confirmation requires an interactive terminal'), { code: 'ENOTTY' })
38
+ if (options.default != null && typeof options.default !== 'boolean') throw new TypeError('Confirmation default must be a boolean')
39
+ const suffix = options.default == null ? '(y/n)' : options.default ? '(Y/n)' : '(y/N)'
40
+ while (true) {
41
+ // eslint-disable-next-line no-await-in-loop -- each answer determines whether another prompt is needed
42
+ const answer = await prompt({ message: `${options.message} ${suffix}`, cancelOnEscape: true }, { ...context, input, output })
43
+ if (answer.cancelled || answer.value == null) throw Object.assign(new Error('Confirmation cancelled'), { code: 'EINTR' })
44
+ const value = answer.value.trim().toLowerCase()
45
+ if (value === 'y' || value === 'yes') return true
46
+ if (value === 'n' || value === 'no') return false
47
+ if (value === '' && options.default != null) return options.default
48
+ }
49
+ }
50
+
51
+ export async function input (options, context = {}) {
52
+ if (!(context.input ?? process.stdin).isTTY || !(context.output ?? process.stderr).isTTY) {
53
+ throw Object.assign(new Error('Input requires an interactive terminal'), { code: 'ENOTTY' })
54
+ }
55
+ while (true) {
56
+ // eslint-disable-next-line no-await-in-loop -- empty input must be retried when the caller requires a value
57
+ const answer = await prompt({ message: options.message, cancelOnEscape: true }, context)
58
+ if (answer.cancelled || answer.value == null) throw Object.assign(new Error('Input cancelled'), { code: 'EINTR' })
59
+ if (options.allowEmpty || answer.value !== '') return answer.value
60
+ }
61
+ }
@@ -0,0 +1,21 @@
1
+ import { waitForReply } from './wait-for-reply.mjs'
2
+
3
+ // Keep the upstream supervisor's spawn protocol while making the child wait interruptible.
4
+ export function createThreadSpawn (memory, postMessage, options) {
5
+ return (startArg, errorOrTid) => {
6
+ const ownsResult = errorOrTid === undefined
7
+ const exports = options.instance().exports
8
+ if (ownsResult) errorOrTid = exports.malloc(8) >>> 0
9
+ if (ownsResult && !errorOrTid) return -48
10
+ const result = new Int32Array(memory.buffer, errorOrTid, 2)
11
+ Atomics.store(result, 0, 0)
12
+ Atomics.store(result, 1, 0)
13
+ postMessage({ __emnapi__: { type: 'spawn-thread', payload: { startArg, errorOrTid } } })
14
+ waitForReply(result, 1, options.checkCancelled)
15
+ const failed = Atomics.load(result, 0)
16
+ const thread = Atomics.load(result, 1)
17
+ if (!ownsResult) return failed
18
+ exports.free(errorOrTid)
19
+ return failed ? -thread : thread
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ export function createUpload (resources) {
2
+ let controller
3
+ const stream = new TransformStream({ start (value) { controller = value } }, { highWaterMark: 1 }, { highWaterMark: 1 })
4
+ const writer = stream.writable.getWriter()
5
+ return { handle: resources.add({
6
+ kind: 'upload',
7
+ readable: stream.readable,
8
+ writer,
9
+ close: () => controller.error(new Error('HTTP upload cancelled')),
10
+ }) }
11
+ }
12
+
13
+ export async function writeUpload (upload, bytes) {
14
+ if (Array.isArray(bytes) && bytes.every(byte => Number.isInteger(byte) && byte >= 0 && byte <= 255)) {
15
+ bytes = Uint8Array.from(bytes)
16
+ }
17
+ if (!(bytes instanceof Uint8Array) || bytes.length > 65536) {
18
+ throw new TypeError('HTTP upload chunks must contain at most 65536 bytes')
19
+ }
20
+ await upload.writer.write(bytes)
21
+ }
@@ -0,0 +1,7 @@
1
+ // WebContainers cannot interrupt a worker parked in an indefinite Atomics.wait.
2
+ export function waitForReply (state, index, checkCancelled) {
3
+ while (Atomics.load(state, index) === 0) {
4
+ checkCancelled?.()
5
+ Atomics.wait(state, index, 0, 100)
6
+ }
7
+ }
@@ -0,0 +1,81 @@
1
+ // WASI preview1 errno numbers, shared by filesystem extensions and syscall RPC.
2
+ export const errno = {
3
+ E2BIG: 1,
4
+ EACCES: 2,
5
+ EADDRINUSE: 3,
6
+ EADDRNOTAVAIL: 4,
7
+ EAFNOSUPPORT: 5,
8
+ EAGAIN: 6,
9
+ EALREADY: 7,
10
+ EBADF: 8,
11
+ EBADMSG: 9,
12
+ EBUSY: 10,
13
+ ECANCELED: 11,
14
+ ECHILD: 12,
15
+ ECONNABORTED: 13,
16
+ ECONNREFUSED: 14,
17
+ ECONNRESET: 15,
18
+ EDEADLK: 16,
19
+ EDESTADDRREQ: 17,
20
+ EDOM: 18,
21
+ EDQUOT: 19,
22
+ EEXIST: 20,
23
+ EFAULT: 21,
24
+ EFBIG: 22,
25
+ EHOSTUNREACH: 23,
26
+ EIDRM: 24,
27
+ EILSEQ: 25,
28
+ EINPROGRESS: 26,
29
+ EINTR: 27,
30
+ EINVAL: 28,
31
+ EIO: 29,
32
+ EISCONN: 30,
33
+ EISDIR: 31,
34
+ ELOOP: 32,
35
+ EMFILE: 33,
36
+ EMLINK: 34,
37
+ EMSGSIZE: 35,
38
+ EMULTIHOP: 36,
39
+ ENAMETOOLONG: 37,
40
+ ENETDOWN: 38,
41
+ ENETRESET: 39,
42
+ ENETUNREACH: 40,
43
+ ENFILE: 41,
44
+ ENOBUFS: 42,
45
+ ENODEV: 43,
46
+ ENOENT: 44,
47
+ ENOEXEC: 45,
48
+ ENOLCK: 46,
49
+ ENOLINK: 47,
50
+ ENOMEM: 48,
51
+ ENOMSG: 49,
52
+ ENOPROTOOPT: 50,
53
+ ENOSPC: 51,
54
+ ENOSYS: 52,
55
+ ENOTCONN: 53,
56
+ ENOTDIR: 54,
57
+ ENOTEMPTY: 55,
58
+ ENOTRECOVERABLE: 56,
59
+ ENOTSOCK: 57,
60
+ ENOTSUP: 58,
61
+ ENOTTY: 59,
62
+ ENXIO: 60,
63
+ EOVERFLOW: 61,
64
+ EOWNERDEAD: 62,
65
+ EPERM: 63,
66
+ EPIPE: 64,
67
+ EPROTO: 65,
68
+ EPROTONOSUPPORT: 66,
69
+ EPROTOTYPE: 67,
70
+ ERANGE: 68,
71
+ EROFS: 69,
72
+ ESPIPE: 70,
73
+ ESRCH: 71,
74
+ ESTALE: 72,
75
+ ETIMEDOUT: 73,
76
+ ETXTBSY: 74,
77
+ EXDEV: 75,
78
+ ENOTCAPABLE: 76,
79
+ EOPNOTSUPP: 58,
80
+ EWOULDBLOCK: 6,
81
+ }