pnpm 12.9.0 → 12.10.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 (607) hide show
  1. package/CHANGELOG.md +130 -0
  2. package/bin/pnpm.mjs +2 -3
  3. package/dist/node_modules/.bin/get-pnpm +10 -6
  4. package/dist/node_modules/.bin/node-gyp +10 -6
  5. package/dist/node_modules/.bin/node-which +10 -6
  6. package/dist/node_modules/.bin/nopt +10 -6
  7. package/dist/node_modules/.bin/semver +10 -6
  8. package/dist/node_modules/.pnpm-workspace-state-v1.json +14 -13
  9. package/install.js +8 -11
  10. package/package.json +15 -15
  11. package/pn +76 -2
  12. package/pnpm +98 -2
  13. package/pnpx +76 -2
  14. package/pnx +76 -2
  15. package/dist/wasm/LICENSE +0 -22
  16. package/dist/wasm/README.md +0 -140
  17. package/dist/wasm/THIRD-PARTY-NOTICES.md +0 -42
  18. package/dist/wasm/host/atomic-waits.mjs +0 -43
  19. package/dist/wasm/host/cancellation.mjs +0 -6
  20. package/dist/wasm/host/executable-mode.mjs +0 -8
  21. package/dist/wasm/host/file-locks.mjs +0 -40
  22. package/dist/wasm/host/filesystem.mjs +0 -318
  23. package/dist/wasm/host/guest-imports.mjs +0 -45
  24. package/dist/wasm/host/guest-operations.mjs +0 -148
  25. package/dist/wasm/host/lock-registry.mjs +0 -167
  26. package/dist/wasm/host/network.mjs +0 -76
  27. package/dist/wasm/host/operations.mjs +0 -67
  28. package/dist/wasm/host/poll.mjs +0 -74
  29. package/dist/wasm/host/process-stdio.mjs +0 -41
  30. package/dist/wasm/host/process-tree.mjs +0 -54
  31. package/dist/wasm/host/process.mjs +0 -126
  32. package/dist/wasm/host/protocol.mjs +0 -1
  33. package/dist/wasm/host/resources.mjs +0 -76
  34. package/dist/wasm/host/shell-runner.mjs +0 -8
  35. package/dist/wasm/host/shell.mjs +0 -19
  36. package/dist/wasm/host/signals.mjs +0 -49
  37. package/dist/wasm/host/terminal-input.mjs +0 -7
  38. package/dist/wasm/host/terminal-password.mjs +0 -32
  39. package/dist/wasm/host/terminal-session.mjs +0 -114
  40. package/dist/wasm/host/terminal.mjs +0 -61
  41. package/dist/wasm/host/thread-spawn.mjs +0 -21
  42. package/dist/wasm/host/upload.mjs +0 -21
  43. package/dist/wasm/host/wait-for-reply.mjs +0 -7
  44. package/dist/wasm/host/wasi-errno.mjs +0 -81
  45. package/dist/wasm/host/wasi-imports.mjs +0 -58
  46. package/dist/wasm/node_modules/.bin/js-yaml +0 -91
  47. package/dist/wasm/node_modules/.bin/node-which +0 -91
  48. package/dist/wasm/node_modules/.bin/shell +0 -91
  49. package/dist/wasm/node_modules/.pnpm-workspace-state-v1.json +0 -355
  50. package/dist/wasm/node_modules/@emnapi/wasi-threads/LICENSE +0 -21
  51. package/dist/wasm/node_modules/@emnapi/wasi-threads/README.md +0 -203
  52. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.js +0 -894
  53. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.d.ts +0 -272
  54. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.cjs.min.js +0 -1
  55. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.mts +0 -272
  56. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.d.ts +0 -274
  57. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.esm-bundler.js +0 -942
  58. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.js +0 -954
  59. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.d.mts +0 -272
  60. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.js +0 -1
  61. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.min.mjs +0 -1
  62. package/dist/wasm/node_modules/@emnapi/wasi-threads/dist/wasi-threads.mjs +0 -889
  63. package/dist/wasm/node_modules/@emnapi/wasi-threads/index.js +0 -5
  64. package/dist/wasm/node_modules/@emnapi/wasi-threads/package.json +0 -50
  65. package/dist/wasm/node_modules/@nodelib/fs.scandir/LICENSE +0 -21
  66. package/dist/wasm/node_modules/@nodelib/fs.scandir/README.md +0 -171
  67. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +0 -20
  68. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +0 -19
  69. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/constants.d.ts +0 -4
  70. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/constants.js +0 -17
  71. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/index.d.ts +0 -12
  72. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/index.js +0 -26
  73. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +0 -7
  74. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/async.js +0 -104
  75. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +0 -1
  76. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/common.js +0 -13
  77. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +0 -5
  78. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/providers/sync.js +0 -54
  79. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/settings.d.ts +0 -20
  80. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/settings.js +0 -24
  81. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +0 -20
  82. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/types/index.js +0 -2
  83. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +0 -2
  84. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/fs.js +0 -19
  85. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +0 -2
  86. package/dist/wasm/node_modules/@nodelib/fs.scandir/out/utils/index.js +0 -5
  87. package/dist/wasm/node_modules/@nodelib/fs.scandir/package.json +0 -44
  88. package/dist/wasm/node_modules/@nodelib/fs.stat/LICENSE +0 -21
  89. package/dist/wasm/node_modules/@nodelib/fs.stat/README.md +0 -126
  90. package/dist/wasm/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +0 -13
  91. package/dist/wasm/node_modules/@nodelib/fs.stat/out/adapters/fs.js +0 -17
  92. package/dist/wasm/node_modules/@nodelib/fs.stat/out/index.d.ts +0 -12
  93. package/dist/wasm/node_modules/@nodelib/fs.stat/out/index.js +0 -26
  94. package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +0 -4
  95. package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/async.js +0 -36
  96. package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +0 -3
  97. package/dist/wasm/node_modules/@nodelib/fs.stat/out/providers/sync.js +0 -23
  98. package/dist/wasm/node_modules/@nodelib/fs.stat/out/settings.d.ts +0 -16
  99. package/dist/wasm/node_modules/@nodelib/fs.stat/out/settings.js +0 -16
  100. package/dist/wasm/node_modules/@nodelib/fs.stat/out/types/index.d.ts +0 -4
  101. package/dist/wasm/node_modules/@nodelib/fs.stat/out/types/index.js +0 -2
  102. package/dist/wasm/node_modules/@nodelib/fs.stat/package.json +0 -37
  103. package/dist/wasm/node_modules/@nodelib/fs.walk/LICENSE +0 -21
  104. package/dist/wasm/node_modules/@nodelib/fs.walk/README.md +0 -215
  105. package/dist/wasm/node_modules/@nodelib/fs.walk/out/index.d.ts +0 -14
  106. package/dist/wasm/node_modules/@nodelib/fs.walk/out/index.js +0 -34
  107. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +0 -12
  108. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/async.js +0 -30
  109. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +0 -4
  110. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/index.js +0 -9
  111. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +0 -12
  112. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/stream.js +0 -34
  113. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +0 -10
  114. package/dist/wasm/node_modules/@nodelib/fs.walk/out/providers/sync.js +0 -14
  115. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +0 -30
  116. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/async.js +0 -97
  117. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +0 -7
  118. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/common.js +0 -31
  119. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +0 -6
  120. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/reader.js +0 -11
  121. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +0 -15
  122. package/dist/wasm/node_modules/@nodelib/fs.walk/out/readers/sync.js +0 -59
  123. package/dist/wasm/node_modules/@nodelib/fs.walk/out/settings.d.ts +0 -30
  124. package/dist/wasm/node_modules/@nodelib/fs.walk/out/settings.js +0 -26
  125. package/dist/wasm/node_modules/@nodelib/fs.walk/out/types/index.d.ts +0 -8
  126. package/dist/wasm/node_modules/@nodelib/fs.walk/out/types/index.js +0 -2
  127. package/dist/wasm/node_modules/@nodelib/fs.walk/package.json +0 -44
  128. package/dist/wasm/node_modules/@tybys/wasm-util/LICENSE +0 -21
  129. package/dist/wasm/node_modules/@tybys/wasm-util/README.md +0 -193
  130. package/dist/wasm/node_modules/@tybys/wasm-util/dist/tsdoc-metadata.json +0 -11
  131. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.d.ts +0 -423
  132. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.esm-bundler.js +0 -2932
  133. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.esm.js +0 -2932
  134. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.esm.min.js +0 -1
  135. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.js +0 -2954
  136. package/dist/wasm/node_modules/@tybys/wasm-util/dist/wasm-util.min.js +0 -1
  137. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/asyncify.js +0 -158
  138. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/index.js +0 -13
  139. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/jspi.js +0 -46
  140. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/load.js +0 -97
  141. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/memory.js +0 -35
  142. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/error.js +0 -103
  143. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/fd.js +0 -268
  144. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/fs.js +0 -3
  145. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/index.js +0 -192
  146. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/path.js +0 -316
  147. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/preview1.js +0 -1599
  148. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/rights.js +0 -141
  149. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/types.js +0 -220
  150. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/wasi/util.js +0 -128
  151. package/dist/wasm/node_modules/@tybys/wasm-util/lib/cjs/webassembly.js +0 -13
  152. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/asyncify.mjs +0 -153
  153. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/index.mjs +0 -9
  154. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/jspi.mjs +0 -39
  155. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/load.mjs +0 -89
  156. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/memory.mjs +0 -28
  157. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/error.mjs +0 -97
  158. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/fd.mjs +0 -256
  159. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/fs.mjs +0 -1
  160. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/index.mjs +0 -186
  161. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/path.mjs +0 -310
  162. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/preview1.mjs +0 -1593
  163. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/rights.mjs +0 -135
  164. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/types.mjs +0 -216
  165. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/wasi/util.mjs +0 -113
  166. package/dist/wasm/node_modules/@tybys/wasm-util/lib/mjs/webassembly.mjs +0 -9
  167. package/dist/wasm/node_modules/@tybys/wasm-util/package.json +0 -58
  168. package/dist/wasm/node_modules/@types/braces/LICENSE +0 -21
  169. package/dist/wasm/node_modules/@types/braces/README.md +0 -15
  170. package/dist/wasm/node_modules/@types/braces/index.d.ts +0 -100
  171. package/dist/wasm/node_modules/@types/braces/package.json +0 -36
  172. package/dist/wasm/node_modules/@types/micromatch/LICENSE +0 -21
  173. package/dist/wasm/node_modules/@types/micromatch/README.md +0 -15
  174. package/dist/wasm/node_modules/@types/micromatch/index.d.ts +0 -670
  175. package/dist/wasm/node_modules/@types/micromatch/package.json +0 -28
  176. package/dist/wasm/node_modules/@yarnpkg/fslib/README.md +0 -17
  177. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/AliasFS.d.ts +0 -16
  178. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/AliasFS.js +0 -24
  179. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/CwdFS.d.ts +0 -15
  180. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/CwdFS.js +0 -36
  181. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/FakeFS.d.ts +0 -398
  182. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/FakeFS.js +0 -451
  183. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/JailFS.d.ts +0 -16
  184. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/JailFS.js +0 -35
  185. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/LazyFS.d.ts +0 -13
  186. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/LazyFS.js +0 -26
  187. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/MountFS.d.ts +0 -278
  188. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/MountFS.js +0 -873
  189. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NoFS.d.ts +0 -78
  190. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NoFS.js +0 -229
  191. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodeFS.d.ts +0 -223
  192. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodeFS.js +0 -476
  193. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodePathFS.d.ts +0 -18
  194. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/NodePathFS.js +0 -47
  195. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/PosixFS.d.ts +0 -9
  196. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/PosixFS.js +0 -18
  197. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/ProxiedFS.d.ts +0 -229
  198. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/ProxiedFS.js +0 -255
  199. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/VirtualFS.d.ts +0 -19
  200. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/VirtualFS.js +0 -89
  201. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.d.ts +0 -19
  202. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js +0 -271
  203. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.d.ts +0 -22
  204. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js +0 -65
  205. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.d.ts +0 -59
  206. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js +0 -139
  207. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.d.ts +0 -6
  208. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js +0 -67
  209. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/constants.d.ts +0 -13
  210. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/constants.js +0 -16
  211. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/errors.d.ts +0 -36
  212. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/errors.js +0 -54
  213. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/index.d.ts +0 -48
  214. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/index.js +0 -55
  215. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.d.ts +0 -81
  216. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js +0 -254
  217. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.d.ts +0 -5
  218. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js +0 -265
  219. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/path.d.ts +0 -84
  220. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/path.js +0 -103
  221. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/statUtils.d.ts +0 -81
  222. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/statUtils.js +0 -238
  223. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/xfs.d.ts +0 -18
  224. package/dist/wasm/node_modules/@yarnpkg/fslib/lib/xfs.js +0 -123
  225. package/dist/wasm/node_modules/@yarnpkg/fslib/package.json +0 -42
  226. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/resolution.d.ts +0 -1
  227. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js +0 -530
  228. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/resolution.pegjs +0 -17
  229. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/shell.d.ts +0 -92
  230. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/shell.js +0 -3653
  231. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/shell.pegjs +0 -189
  232. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/syml.d.ts +0 -1
  233. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/syml.js +0 -1911
  234. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/grammars/syml.pegjs +0 -125
  235. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/index.d.ts +0 -6
  236. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/index.js +0 -24
  237. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/resolution.d.ts +0 -12
  238. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/resolution.js +0 -31
  239. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/shell.d.ts +0 -19
  240. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/shell.js +0 -170
  241. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/syml.d.ts +0 -11
  242. package/dist/wasm/node_modules/@yarnpkg/parsers/lib/syml.js +0 -132
  243. package/dist/wasm/node_modules/@yarnpkg/parsers/package.json +0 -46
  244. package/dist/wasm/node_modules/@yarnpkg/shell/README.md +0 -38
  245. package/dist/wasm/node_modules/@yarnpkg/shell/lib/boot-cli-dev.js +0 -3
  246. package/dist/wasm/node_modules/@yarnpkg/shell/lib/cli.d.ts +0 -2
  247. package/dist/wasm/node_modules/@yarnpkg/shell/lib/cli.js +0 -19
  248. package/dist/wasm/node_modules/@yarnpkg/shell/lib/commands/entry.d.ts +0 -8
  249. package/dist/wasm/node_modules/@yarnpkg/shell/lib/commands/entry.js +0 -60
  250. package/dist/wasm/node_modules/@yarnpkg/shell/lib/errors.d.ts +0 -6
  251. package/dist/wasm/node_modules/@yarnpkg/shell/lib/errors.js +0 -13
  252. package/dist/wasm/node_modules/@yarnpkg/shell/lib/globUtils.d.ts +0 -23
  253. package/dist/wasm/node_modules/@yarnpkg/shell/lib/globUtils.js +0 -47
  254. package/dist/wasm/node_modules/@yarnpkg/shell/lib/index.d.ts +0 -56
  255. package/dist/wasm/node_modules/@yarnpkg/shell/lib/index.js +0 -926
  256. package/dist/wasm/node_modules/@yarnpkg/shell/lib/pipe.d.ts +0 -54
  257. package/dist/wasm/node_modules/@yarnpkg/shell/lib/pipe.js +0 -281
  258. package/dist/wasm/node_modules/@yarnpkg/shell/package.json +0 -54
  259. package/dist/wasm/node_modules/ansi-styles/index.d.ts +0 -345
  260. package/dist/wasm/node_modules/ansi-styles/index.js +0 -163
  261. package/dist/wasm/node_modules/ansi-styles/license +0 -9
  262. package/dist/wasm/node_modules/ansi-styles/package.json +0 -56
  263. package/dist/wasm/node_modules/ansi-styles/readme.md +0 -152
  264. package/dist/wasm/node_modules/argparse/CHANGELOG.md +0 -216
  265. package/dist/wasm/node_modules/argparse/LICENSE +0 -254
  266. package/dist/wasm/node_modules/argparse/README.md +0 -84
  267. package/dist/wasm/node_modules/argparse/argparse.js +0 -3707
  268. package/dist/wasm/node_modules/argparse/lib/sub.js +0 -67
  269. package/dist/wasm/node_modules/argparse/lib/textwrap.js +0 -440
  270. package/dist/wasm/node_modules/argparse/package.json +0 -31
  271. package/dist/wasm/node_modules/braces/LICENSE +0 -21
  272. package/dist/wasm/node_modules/braces/README.md +0 -586
  273. package/dist/wasm/node_modules/braces/index.js +0 -170
  274. package/dist/wasm/node_modules/braces/lib/compile.js +0 -60
  275. package/dist/wasm/node_modules/braces/lib/constants.js +0 -57
  276. package/dist/wasm/node_modules/braces/lib/expand.js +0 -113
  277. package/dist/wasm/node_modules/braces/lib/parse.js +0 -331
  278. package/dist/wasm/node_modules/braces/lib/stringify.js +0 -32
  279. package/dist/wasm/node_modules/braces/lib/utils.js +0 -122
  280. package/dist/wasm/node_modules/braces/package.json +0 -77
  281. package/dist/wasm/node_modules/chalk/index.d.ts +0 -415
  282. package/dist/wasm/node_modules/chalk/license +0 -9
  283. package/dist/wasm/node_modules/chalk/package.json +0 -68
  284. package/dist/wasm/node_modules/chalk/readme.md +0 -341
  285. package/dist/wasm/node_modules/chalk/source/index.js +0 -229
  286. package/dist/wasm/node_modules/chalk/source/templates.js +0 -134
  287. package/dist/wasm/node_modules/chalk/source/util.js +0 -39
  288. package/dist/wasm/node_modules/clipanion/README.md +0 -98
  289. package/dist/wasm/node_modules/clipanion/lib/advanced/Cli.d.ts +0 -225
  290. package/dist/wasm/node_modules/clipanion/lib/advanced/Cli.js +0 -406
  291. package/dist/wasm/node_modules/clipanion/lib/advanced/Cli.mjs +0 -398
  292. package/dist/wasm/node_modules/clipanion/lib/advanced/Command.d.ts +0 -144
  293. package/dist/wasm/node_modules/clipanion/lib/advanced/Command.js +0 -91
  294. package/dist/wasm/node_modules/clipanion/lib/advanced/Command.mjs +0 -67
  295. package/dist/wasm/node_modules/clipanion/lib/advanced/HelpCommand.d.ts +0 -11
  296. package/dist/wasm/node_modules/clipanion/lib/advanced/HelpCommand.js +0 -54
  297. package/dist/wasm/node_modules/clipanion/lib/advanced/HelpCommand.mjs +0 -50
  298. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/definitions.d.ts +0 -8
  299. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/definitions.js +0 -17
  300. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/definitions.mjs +0 -13
  301. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/help.d.ts +0 -10
  302. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/help.js +0 -19
  303. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/help.mjs +0 -15
  304. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/index.d.ts +0 -3
  305. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/index.js +0 -13
  306. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/index.mjs +0 -3
  307. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/version.d.ts +0 -10
  308. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/version.js +0 -20
  309. package/dist/wasm/node_modules/clipanion/lib/advanced/builtins/version.mjs +0 -16
  310. package/dist/wasm/node_modules/clipanion/lib/advanced/index.d.ts +0 -7
  311. package/dist/wasm/node_modules/clipanion/lib/advanced/index.js +0 -19
  312. package/dist/wasm/node_modules/clipanion/lib/advanced/index.mjs +0 -8
  313. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Array.d.ts +0 -17
  314. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Array.js +0 -37
  315. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Array.mjs +0 -33
  316. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Boolean.d.ts +0 -14
  317. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Boolean.js +0 -34
  318. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Boolean.mjs +0 -30
  319. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Counter.d.ts +0 -15
  320. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Counter.js +0 -41
  321. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Counter.mjs +0 -37
  322. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Proxy.d.ts +0 -18
  323. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Proxy.js +0 -35
  324. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Proxy.mjs +0 -31
  325. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Rest.d.ts +0 -18
  326. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Rest.js +0 -51
  327. package/dist/wasm/node_modules/clipanion/lib/advanced/options/Rest.mjs +0 -47
  328. package/dist/wasm/node_modules/clipanion/lib/advanced/options/String.d.ts +0 -49
  329. package/dist/wasm/node_modules/clipanion/lib/advanced/options/String.js +0 -84
  330. package/dist/wasm/node_modules/clipanion/lib/advanced/options/String.mjs +0 -80
  331. package/dist/wasm/node_modules/clipanion/lib/advanced/options/index.d.ts +0 -7
  332. package/dist/wasm/node_modules/clipanion/lib/advanced/options/index.js +0 -26
  333. package/dist/wasm/node_modules/clipanion/lib/advanced/options/index.mjs +0 -7
  334. package/dist/wasm/node_modules/clipanion/lib/advanced/options/utils.d.ts +0 -25
  335. package/dist/wasm/node_modules/clipanion/lib/advanced/options/utils.js +0 -59
  336. package/dist/wasm/node_modules/clipanion/lib/advanced/options/utils.mjs +0 -50
  337. package/dist/wasm/node_modules/clipanion/lib/constants.d.ts +0 -11
  338. package/dist/wasm/node_modules/clipanion/lib/constants.js +0 -27
  339. package/dist/wasm/node_modules/clipanion/lib/constants.mjs +0 -13
  340. package/dist/wasm/node_modules/clipanion/lib/core.d.ts +0 -462
  341. package/dist/wasm/node_modules/clipanion/lib/core.js +0 -827
  342. package/dist/wasm/node_modules/clipanion/lib/core.mjs +0 -800
  343. package/dist/wasm/node_modules/clipanion/lib/demos/advanced.d.ts +0 -22
  344. package/dist/wasm/node_modules/clipanion/lib/errors.d.ts +0 -52
  345. package/dist/wasm/node_modules/clipanion/lib/errors.js +0 -70
  346. package/dist/wasm/node_modules/clipanion/lib/errors.mjs +0 -64
  347. package/dist/wasm/node_modules/clipanion/lib/format.d.ts +0 -19
  348. package/dist/wasm/node_modules/clipanion/lib/format.js +0 -74
  349. package/dist/wasm/node_modules/clipanion/lib/format.mjs +0 -68
  350. package/dist/wasm/node_modules/clipanion/package.json +0 -68
  351. package/dist/wasm/node_modules/color-convert/CHANGELOG.md +0 -54
  352. package/dist/wasm/node_modules/color-convert/LICENSE +0 -21
  353. package/dist/wasm/node_modules/color-convert/README.md +0 -68
  354. package/dist/wasm/node_modules/color-convert/conversions.js +0 -839
  355. package/dist/wasm/node_modules/color-convert/index.js +0 -81
  356. package/dist/wasm/node_modules/color-convert/package.json +0 -48
  357. package/dist/wasm/node_modules/color-convert/route.js +0 -97
  358. package/dist/wasm/node_modules/color-name/LICENSE +0 -8
  359. package/dist/wasm/node_modules/color-name/README.md +0 -11
  360. package/dist/wasm/node_modules/color-name/index.js +0 -152
  361. package/dist/wasm/node_modules/color-name/package.json +0 -28
  362. package/dist/wasm/node_modules/cross-spawn/LICENSE +0 -21
  363. package/dist/wasm/node_modules/cross-spawn/README.md +0 -89
  364. package/dist/wasm/node_modules/cross-spawn/index.js +0 -39
  365. package/dist/wasm/node_modules/cross-spawn/lib/enoent.js +0 -59
  366. package/dist/wasm/node_modules/cross-spawn/lib/parse.js +0 -91
  367. package/dist/wasm/node_modules/cross-spawn/lib/util/escape.js +0 -47
  368. package/dist/wasm/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  369. package/dist/wasm/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  370. package/dist/wasm/node_modules/cross-spawn/package.json +0 -73
  371. package/dist/wasm/node_modules/fast-glob/LICENSE +0 -21
  372. package/dist/wasm/node_modules/fast-glob/README.md +0 -830
  373. package/dist/wasm/node_modules/fast-glob/out/index.d.ts +0 -40
  374. package/dist/wasm/node_modules/fast-glob/out/index.js +0 -102
  375. package/dist/wasm/node_modules/fast-glob/out/managers/tasks.d.ts +0 -22
  376. package/dist/wasm/node_modules/fast-glob/out/managers/tasks.js +0 -110
  377. package/dist/wasm/node_modules/fast-glob/out/providers/async.d.ts +0 -9
  378. package/dist/wasm/node_modules/fast-glob/out/providers/async.js +0 -23
  379. package/dist/wasm/node_modules/fast-glob/out/providers/filters/deep.d.ts +0 -16
  380. package/dist/wasm/node_modules/fast-glob/out/providers/filters/deep.js +0 -62
  381. package/dist/wasm/node_modules/fast-glob/out/providers/filters/entry.d.ts +0 -17
  382. package/dist/wasm/node_modules/fast-glob/out/providers/filters/entry.js +0 -85
  383. package/dist/wasm/node_modules/fast-glob/out/providers/filters/error.d.ts +0 -8
  384. package/dist/wasm/node_modules/fast-glob/out/providers/filters/error.js +0 -15
  385. package/dist/wasm/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +0 -33
  386. package/dist/wasm/node_modules/fast-glob/out/providers/matchers/matcher.js +0 -45
  387. package/dist/wasm/node_modules/fast-glob/out/providers/matchers/partial.d.ts +0 -4
  388. package/dist/wasm/node_modules/fast-glob/out/providers/matchers/partial.js +0 -38
  389. package/dist/wasm/node_modules/fast-glob/out/providers/provider.d.ts +0 -19
  390. package/dist/wasm/node_modules/fast-glob/out/providers/provider.js +0 -48
  391. package/dist/wasm/node_modules/fast-glob/out/providers/stream.d.ts +0 -11
  392. package/dist/wasm/node_modules/fast-glob/out/providers/stream.js +0 -31
  393. package/dist/wasm/node_modules/fast-glob/out/providers/sync.d.ts +0 -9
  394. package/dist/wasm/node_modules/fast-glob/out/providers/sync.js +0 -23
  395. package/dist/wasm/node_modules/fast-glob/out/providers/transformers/entry.d.ts +0 -8
  396. package/dist/wasm/node_modules/fast-glob/out/providers/transformers/entry.js +0 -26
  397. package/dist/wasm/node_modules/fast-glob/out/readers/async.d.ts +0 -10
  398. package/dist/wasm/node_modules/fast-glob/out/readers/async.js +0 -35
  399. package/dist/wasm/node_modules/fast-glob/out/readers/reader.d.ts +0 -15
  400. package/dist/wasm/node_modules/fast-glob/out/readers/reader.js +0 -33
  401. package/dist/wasm/node_modules/fast-glob/out/readers/stream.d.ts +0 -14
  402. package/dist/wasm/node_modules/fast-glob/out/readers/stream.js +0 -55
  403. package/dist/wasm/node_modules/fast-glob/out/readers/sync.d.ts +0 -12
  404. package/dist/wasm/node_modules/fast-glob/out/readers/sync.js +0 -43
  405. package/dist/wasm/node_modules/fast-glob/out/settings.d.ts +0 -164
  406. package/dist/wasm/node_modules/fast-glob/out/settings.js +0 -59
  407. package/dist/wasm/node_modules/fast-glob/out/types/index.d.ts +0 -31
  408. package/dist/wasm/node_modules/fast-glob/out/types/index.js +0 -2
  409. package/dist/wasm/node_modules/fast-glob/out/utils/array.d.ts +0 -2
  410. package/dist/wasm/node_modules/fast-glob/out/utils/array.js +0 -22
  411. package/dist/wasm/node_modules/fast-glob/out/utils/errno.d.ts +0 -2
  412. package/dist/wasm/node_modules/fast-glob/out/utils/errno.js +0 -7
  413. package/dist/wasm/node_modules/fast-glob/out/utils/fs.d.ts +0 -4
  414. package/dist/wasm/node_modules/fast-glob/out/utils/fs.js +0 -19
  415. package/dist/wasm/node_modules/fast-glob/out/utils/index.d.ts +0 -8
  416. package/dist/wasm/node_modules/fast-glob/out/utils/index.js +0 -17
  417. package/dist/wasm/node_modules/fast-glob/out/utils/path.d.ts +0 -13
  418. package/dist/wasm/node_modules/fast-glob/out/utils/path.js +0 -68
  419. package/dist/wasm/node_modules/fast-glob/out/utils/pattern.d.ts +0 -49
  420. package/dist/wasm/node_modules/fast-glob/out/utils/pattern.js +0 -206
  421. package/dist/wasm/node_modules/fast-glob/out/utils/stream.d.ts +0 -4
  422. package/dist/wasm/node_modules/fast-glob/out/utils/stream.js +0 -17
  423. package/dist/wasm/node_modules/fast-glob/out/utils/string.d.ts +0 -2
  424. package/dist/wasm/node_modules/fast-glob/out/utils/string.js +0 -11
  425. package/dist/wasm/node_modules/fast-glob/package.json +0 -81
  426. package/dist/wasm/node_modules/fastq/LICENSE +0 -13
  427. package/dist/wasm/node_modules/fastq/README.md +0 -310
  428. package/dist/wasm/node_modules/fastq/SECURITY.md +0 -15
  429. package/dist/wasm/node_modules/fastq/bench.js +0 -66
  430. package/dist/wasm/node_modules/fastq/eslint.config.js +0 -11
  431. package/dist/wasm/node_modules/fastq/example.js +0 -14
  432. package/dist/wasm/node_modules/fastq/example.mjs +0 -9
  433. package/dist/wasm/node_modules/fastq/index.d.ts +0 -59
  434. package/dist/wasm/node_modules/fastq/package.json +0 -49
  435. package/dist/wasm/node_modules/fastq/queue.js +0 -348
  436. package/dist/wasm/node_modules/fastq/test/example.ts +0 -83
  437. package/dist/wasm/node_modules/fastq/test/promise.js +0 -356
  438. package/dist/wasm/node_modules/fastq/test/test.js +0 -808
  439. package/dist/wasm/node_modules/fastq/test/tsconfig.json +0 -11
  440. package/dist/wasm/node_modules/fill-range/LICENSE +0 -21
  441. package/dist/wasm/node_modules/fill-range/README.md +0 -237
  442. package/dist/wasm/node_modules/fill-range/index.js +0 -248
  443. package/dist/wasm/node_modules/fill-range/package.json +0 -74
  444. package/dist/wasm/node_modules/glob-parent/CHANGELOG.md +0 -110
  445. package/dist/wasm/node_modules/glob-parent/LICENSE +0 -15
  446. package/dist/wasm/node_modules/glob-parent/README.md +0 -137
  447. package/dist/wasm/node_modules/glob-parent/index.js +0 -42
  448. package/dist/wasm/node_modules/glob-parent/package.json +0 -48
  449. package/dist/wasm/node_modules/has-flag/index.d.ts +0 -39
  450. package/dist/wasm/node_modules/has-flag/index.js +0 -8
  451. package/dist/wasm/node_modules/has-flag/license +0 -9
  452. package/dist/wasm/node_modules/has-flag/package.json +0 -46
  453. package/dist/wasm/node_modules/has-flag/readme.md +0 -89
  454. package/dist/wasm/node_modules/is-extglob/LICENSE +0 -21
  455. package/dist/wasm/node_modules/is-extglob/README.md +0 -107
  456. package/dist/wasm/node_modules/is-extglob/index.js +0 -20
  457. package/dist/wasm/node_modules/is-extglob/package.json +0 -69
  458. package/dist/wasm/node_modules/is-glob/LICENSE +0 -21
  459. package/dist/wasm/node_modules/is-glob/README.md +0 -206
  460. package/dist/wasm/node_modules/is-glob/index.js +0 -150
  461. package/dist/wasm/node_modules/is-glob/package.json +0 -81
  462. package/dist/wasm/node_modules/is-number/LICENSE +0 -21
  463. package/dist/wasm/node_modules/is-number/README.md +0 -187
  464. package/dist/wasm/node_modules/is-number/index.js +0 -18
  465. package/dist/wasm/node_modules/is-number/package.json +0 -82
  466. package/dist/wasm/node_modules/isexe/.npmignore +0 -2
  467. package/dist/wasm/node_modules/isexe/LICENSE +0 -15
  468. package/dist/wasm/node_modules/isexe/README.md +0 -51
  469. package/dist/wasm/node_modules/isexe/index.js +0 -57
  470. package/dist/wasm/node_modules/isexe/mode.js +0 -41
  471. package/dist/wasm/node_modules/isexe/package.json +0 -31
  472. package/dist/wasm/node_modules/isexe/test/basic.js +0 -221
  473. package/dist/wasm/node_modules/isexe/windows.js +0 -42
  474. package/dist/wasm/node_modules/js-yaml/LICENSE +0 -21
  475. package/dist/wasm/node_modules/js-yaml/README.md +0 -246
  476. package/dist/wasm/node_modules/js-yaml/bin/js-yaml.js +0 -126
  477. package/dist/wasm/node_modules/js-yaml/dist/js-yaml.js +0 -3874
  478. package/dist/wasm/node_modules/js-yaml/dist/js-yaml.min.js +0 -2
  479. package/dist/wasm/node_modules/js-yaml/dist/js-yaml.mjs +0 -3851
  480. package/dist/wasm/node_modules/js-yaml/index.js +0 -30
  481. package/dist/wasm/node_modules/js-yaml/lib/common.js +0 -59
  482. package/dist/wasm/node_modules/js-yaml/lib/dumper.js +0 -979
  483. package/dist/wasm/node_modules/js-yaml/lib/exception.js +0 -55
  484. package/dist/wasm/node_modules/js-yaml/lib/loader.js +0 -1733
  485. package/dist/wasm/node_modules/js-yaml/lib/schema/core.js +0 -11
  486. package/dist/wasm/node_modules/js-yaml/lib/schema/default.js +0 -22
  487. package/dist/wasm/node_modules/js-yaml/lib/schema/failsafe.js +0 -17
  488. package/dist/wasm/node_modules/js-yaml/lib/schema/json.js +0 -19
  489. package/dist/wasm/node_modules/js-yaml/lib/schema.js +0 -121
  490. package/dist/wasm/node_modules/js-yaml/lib/snippet.js +0 -101
  491. package/dist/wasm/node_modules/js-yaml/lib/type/binary.js +0 -125
  492. package/dist/wasm/node_modules/js-yaml/lib/type/bool.js +0 -35
  493. package/dist/wasm/node_modules/js-yaml/lib/type/float.js +0 -97
  494. package/dist/wasm/node_modules/js-yaml/lib/type/int.js +0 -156
  495. package/dist/wasm/node_modules/js-yaml/lib/type/map.js +0 -8
  496. package/dist/wasm/node_modules/js-yaml/lib/type/merge.js +0 -12
  497. package/dist/wasm/node_modules/js-yaml/lib/type/null.js +0 -35
  498. package/dist/wasm/node_modules/js-yaml/lib/type/omap.js +0 -44
  499. package/dist/wasm/node_modules/js-yaml/lib/type/pairs.js +0 -53
  500. package/dist/wasm/node_modules/js-yaml/lib/type/seq.js +0 -8
  501. package/dist/wasm/node_modules/js-yaml/lib/type/set.js +0 -29
  502. package/dist/wasm/node_modules/js-yaml/lib/type/str.js +0 -8
  503. package/dist/wasm/node_modules/js-yaml/lib/type/timestamp.js +0 -88
  504. package/dist/wasm/node_modules/js-yaml/lib/type.js +0 -65
  505. package/dist/wasm/node_modules/js-yaml/package.json +0 -65
  506. package/dist/wasm/node_modules/merge2/LICENSE +0 -21
  507. package/dist/wasm/node_modules/merge2/README.md +0 -144
  508. package/dist/wasm/node_modules/merge2/index.js +0 -144
  509. package/dist/wasm/node_modules/merge2/package.json +0 -43
  510. package/dist/wasm/node_modules/micromatch/LICENSE +0 -21
  511. package/dist/wasm/node_modules/micromatch/README.md +0 -1024
  512. package/dist/wasm/node_modules/micromatch/index.js +0 -474
  513. package/dist/wasm/node_modules/micromatch/package.json +0 -119
  514. package/dist/wasm/node_modules/path-key/index.d.ts +0 -40
  515. package/dist/wasm/node_modules/path-key/index.js +0 -16
  516. package/dist/wasm/node_modules/path-key/license +0 -9
  517. package/dist/wasm/node_modules/path-key/package.json +0 -39
  518. package/dist/wasm/node_modules/path-key/readme.md +0 -61
  519. package/dist/wasm/node_modules/picomatch/LICENSE +0 -21
  520. package/dist/wasm/node_modules/picomatch/README.md +0 -716
  521. package/dist/wasm/node_modules/picomatch/index.js +0 -3
  522. package/dist/wasm/node_modules/picomatch/lib/constants.js +0 -184
  523. package/dist/wasm/node_modules/picomatch/lib/parse.js +0 -1392
  524. package/dist/wasm/node_modules/picomatch/lib/picomatch.js +0 -342
  525. package/dist/wasm/node_modules/picomatch/lib/scan.js +0 -391
  526. package/dist/wasm/node_modules/picomatch/lib/utils.js +0 -64
  527. package/dist/wasm/node_modules/picomatch/package.json +0 -81
  528. package/dist/wasm/node_modules/queue-microtask/LICENSE +0 -20
  529. package/dist/wasm/node_modules/queue-microtask/README.md +0 -90
  530. package/dist/wasm/node_modules/queue-microtask/index.d.ts +0 -2
  531. package/dist/wasm/node_modules/queue-microtask/index.js +0 -9
  532. package/dist/wasm/node_modules/queue-microtask/package.json +0 -55
  533. package/dist/wasm/node_modules/reusify/.github/dependabot.yml +0 -7
  534. package/dist/wasm/node_modules/reusify/.github/workflows/ci.yml +0 -96
  535. package/dist/wasm/node_modules/reusify/LICENSE +0 -22
  536. package/dist/wasm/node_modules/reusify/README.md +0 -139
  537. package/dist/wasm/node_modules/reusify/SECURITY.md +0 -15
  538. package/dist/wasm/node_modules/reusify/benchmarks/createNoCodeFunction.js +0 -30
  539. package/dist/wasm/node_modules/reusify/benchmarks/fib.js +0 -13
  540. package/dist/wasm/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +0 -38
  541. package/dist/wasm/node_modules/reusify/eslint.config.js +0 -14
  542. package/dist/wasm/node_modules/reusify/package.json +0 -50
  543. package/dist/wasm/node_modules/reusify/reusify.d.ts +0 -14
  544. package/dist/wasm/node_modules/reusify/reusify.js +0 -33
  545. package/dist/wasm/node_modules/reusify/test.js +0 -66
  546. package/dist/wasm/node_modules/reusify/tsconfig.json +0 -11
  547. package/dist/wasm/node_modules/run-parallel/LICENSE +0 -20
  548. package/dist/wasm/node_modules/run-parallel/README.md +0 -85
  549. package/dist/wasm/node_modules/run-parallel/index.js +0 -51
  550. package/dist/wasm/node_modules/run-parallel/package.json +0 -58
  551. package/dist/wasm/node_modules/shebang-command/index.js +0 -19
  552. package/dist/wasm/node_modules/shebang-command/license +0 -9
  553. package/dist/wasm/node_modules/shebang-command/package.json +0 -34
  554. package/dist/wasm/node_modules/shebang-command/readme.md +0 -34
  555. package/dist/wasm/node_modules/shebang-regex/index.d.ts +0 -22
  556. package/dist/wasm/node_modules/shebang-regex/index.js +0 -2
  557. package/dist/wasm/node_modules/shebang-regex/license +0 -9
  558. package/dist/wasm/node_modules/shebang-regex/package.json +0 -35
  559. package/dist/wasm/node_modules/shebang-regex/readme.md +0 -33
  560. package/dist/wasm/node_modules/supports-color/browser.js +0 -5
  561. package/dist/wasm/node_modules/supports-color/index.js +0 -135
  562. package/dist/wasm/node_modules/supports-color/license +0 -9
  563. package/dist/wasm/node_modules/supports-color/package.json +0 -53
  564. package/dist/wasm/node_modules/supports-color/readme.md +0 -76
  565. package/dist/wasm/node_modules/to-regex-range/LICENSE +0 -21
  566. package/dist/wasm/node_modules/to-regex-range/README.md +0 -305
  567. package/dist/wasm/node_modules/to-regex-range/index.js +0 -288
  568. package/dist/wasm/node_modules/to-regex-range/package.json +0 -88
  569. package/dist/wasm/node_modules/tslib/CopyrightNotice.txt +0 -15
  570. package/dist/wasm/node_modules/tslib/LICENSE.txt +0 -12
  571. package/dist/wasm/node_modules/tslib/README.md +0 -164
  572. package/dist/wasm/node_modules/tslib/SECURITY.md +0 -41
  573. package/dist/wasm/node_modules/tslib/modules/index.d.ts +0 -38
  574. package/dist/wasm/node_modules/tslib/modules/index.js +0 -70
  575. package/dist/wasm/node_modules/tslib/modules/package.json +0 -3
  576. package/dist/wasm/node_modules/tslib/package.json +0 -47
  577. package/dist/wasm/node_modules/tslib/tslib.d.ts +0 -460
  578. package/dist/wasm/node_modules/tslib/tslib.es6.html +0 -1
  579. package/dist/wasm/node_modules/tslib/tslib.es6.js +0 -402
  580. package/dist/wasm/node_modules/tslib/tslib.es6.mjs +0 -401
  581. package/dist/wasm/node_modules/tslib/tslib.html +0 -1
  582. package/dist/wasm/node_modules/tslib/tslib.js +0 -484
  583. package/dist/wasm/node_modules/typanion/README.md +0 -117
  584. package/dist/wasm/node_modules/typanion/lib/index.d.ts +0 -5
  585. package/dist/wasm/node_modules/typanion/lib/index.js +0 -1305
  586. package/dist/wasm/node_modules/typanion/lib/index.mjs +0 -1249
  587. package/dist/wasm/node_modules/typanion/lib/internal/format.d.ts +0 -5
  588. package/dist/wasm/node_modules/typanion/lib/internal/regexps.d.ts +0 -5
  589. package/dist/wasm/node_modules/typanion/lib/internal/tools.d.ts +0 -5
  590. package/dist/wasm/node_modules/typanion/lib/predicates/cascadingPredicates.d.ts +0 -114
  591. package/dist/wasm/node_modules/typanion/lib/predicates/helperPredicates.d.ts +0 -80
  592. package/dist/wasm/node_modules/typanion/lib/predicates/typePredicates.d.ts +0 -205
  593. package/dist/wasm/node_modules/typanion/lib/tools.d.ts +0 -90
  594. package/dist/wasm/node_modules/typanion/lib/types.d.ts +0 -22
  595. package/dist/wasm/node_modules/typanion/package.json +0 -40
  596. package/dist/wasm/node_modules/which/CHANGELOG.md +0 -166
  597. package/dist/wasm/node_modules/which/LICENSE +0 -15
  598. package/dist/wasm/node_modules/which/README.md +0 -54
  599. package/dist/wasm/node_modules/which/bin/node-which +0 -52
  600. package/dist/wasm/node_modules/which/package.json +0 -43
  601. package/dist/wasm/node_modules/which/which.js +0 -125
  602. package/dist/wasm/package.json +0 -10
  603. package/dist/wasm/pnpm.mjs +0 -8
  604. package/dist/wasm/pnpm.wasm +0 -4
  605. package/dist/wasm/pnpx.mjs +0 -8
  606. package/dist/wasm/run.mjs +0 -147
  607. package/dist/wasm/worker.mjs +0 -56
@@ -1,318 +0,0 @@
1
- import fs from 'node:fs'
2
- import { Buffer } from 'node:buffer'
3
- import path from 'node:path'
4
- import process from 'node:process'
5
- import { TextDecoder } from 'node:util'
6
-
7
- import { WASI } from '@tybys/wasm-util'
8
-
9
- import { createFileLocks } from './file-locks.mjs'
10
- import { hasExecutableMode } from './executable-mode.mjs'
11
- import { createPoll } from './poll.mjs'
12
- import { errno } from './wasi-errno.mjs'
13
-
14
- const readRights = 2n | 4n | 16n | 32n | 2097152n
15
- const writeRights = readRights | 1n | 64n | 4194304n
16
- // Node does not expose Linux O_PATH through fs.constants.
17
- const linuxOPath = 0o10000000
18
-
19
- export function createWasiFilesystem (options, memory) {
20
- const locks = createFileLocks()
21
- const leases = createDescriptorLeases(locks)
22
- const sqliteFiles = new Map()
23
- const randomDevices = new Set()
24
- const descriptors = new Map([[0, 0], [1, 1], [2, 2]])
25
- const rootDescriptor = Object.keys(options.preopens ?? {}).indexOf('/') + 3
26
- const state = { leases, sqliteFiles, randomDevices, descriptors, constructing: true, nextPreopen: 3 }
27
- const wasi = new WASI({ ...options, fs: createFilesystemAdapter(state) })
28
- const polling = createPoll(memory)
29
- wasi.wasiImport.poll_oneoff = polling.poll
30
- state.constructing = false
31
- const open = trackPathOpens(wasi, state, memory)
32
- trackAbsoluteSymlinks(wasi, state, { options, memory })
33
- trackDescriptorChanges(wasi, descriptors)
34
- function resolveDescriptor (descriptor) {
35
- const native = descriptors.get(descriptor)
36
- if (native == null) throw Object.assign(new Error('Unknown WASI file descriptor'), { code: 'EBADF' })
37
- return native
38
- }
39
- const imports = createFilesystemImports({ memory, resolveDescriptor, open, rootDescriptor, options, locks, sqliteFiles })
40
- return { wasi, imports, resolveDescriptor, cancelPending: polling.close, acquireDescriptor (descriptor) {
41
- return leases.acquire(resolveDescriptor(descriptor))
42
- }, close () {
43
- polling.close()
44
- for (const descriptor of descriptors.keys()) {
45
- if (descriptor > 2) wasi.wasiImport.fd_close(descriptor)
46
- }
47
- } }
48
- }
49
-
50
- function trackPathOpens (wasi, state, memory) {
51
- const originalOpen = wasi.wasiImport.path_open
52
- function open (args, mode) {
53
- state.opening = { mode, follow: (args[1] & 1) !== 0 }
54
- try {
55
- new DataView(memory.buffer).getUint32(args[8] >>> 0, true)
56
- const result = originalOpen(...args)
57
- if (result === 0) {
58
- const descriptor = new DataView(memory.buffer).getUint32(args[8], true)
59
- state.descriptors.set(descriptor, state.opening.descriptor)
60
- }
61
- return result
62
- } catch (error) {
63
- return errorNumber(error)
64
- } finally {
65
- state.opening = undefined
66
- }
67
- }
68
- wasi.wasiImport.path_open = (...args) => open(args)
69
- return open
70
- }
71
-
72
- function trackAbsoluteSymlinks (wasi, state, { options, memory }) {
73
- const symlink = wasi.wasiImport.path_symlink
74
- wasi.wasiImport.path_symlink = (target, length, descriptor, link, linkLength) => {
75
- if (options.preopens?.['/'] !== '/' || new Uint8Array(memory.buffer)[target >>> 0] !== 47) {
76
- return symlink(target, length, descriptor, link, linkLength)
77
- }
78
- try {
79
- state.symlinkTarget = new TextDecoder('utf-8', { fatal: true }).decode(Uint8Array.from(new Uint8Array(memory.buffer, target >>> 0, length >>> 0)))
80
- return symlink(target + 1, length - 1, descriptor, link, linkLength)
81
- } catch (error) {
82
- return errorNumber(error)
83
- } finally {
84
- state.symlinkTarget = undefined
85
- }
86
- }
87
- }
88
-
89
- function createFilesystemAdapter (state) {
90
- const { leases, sqliteFiles, randomDevices, descriptors } = state
91
- return {
92
- ...fs,
93
- closeSync (descriptor) {
94
- randomDevices.delete(descriptor)
95
- leases.close(descriptor)
96
- },
97
- readSync (descriptor, buffer, offset, length, position) {
98
- if (!randomDevices.has(descriptor)) return fs.readSync(descriptor, buffer, offset, length, position)
99
- // WebContainer random devices use WebCrypto, which rejects shared views.
100
- const temporary = Buffer.alloc(Math.min(length, 65536))
101
- const count = fs.readSync(descriptor, temporary, 0, temporary.length, position)
102
- buffer.set(temporary.subarray(0, count), offset)
103
- return count
104
- },
105
- openSync (file, flags, mode) {
106
- if (state.opening && !state.opening.follow) flags |= fs.constants.O_NOFOLLOW
107
- const database = sqliteFiles.get(file)
108
- const sqliteMode = database ? fs.statSync(database).mode & 0o777 : undefined
109
- const descriptor = fs.openSync(file, flags, state.opening?.mode ?? sqliteMode ?? mode)
110
- if (file === '/dev/urandom' || file === '/dev/random') randomDevices.add(descriptor)
111
- if (state.constructing) descriptors.set(state.nextPreopen++, descriptor)
112
- else if (state.opening) state.opening.descriptor = descriptor
113
- return descriptor
114
- },
115
- symlinkSync (target, file, ...args) {
116
- fs.symlinkSync(state.symlinkTarget ?? target, file, ...args)
117
- },
118
- readlinkSync (file, ...args) {
119
- const target = fs.readlinkSync(file, ...args)
120
- return state.opening?.follow ? path.resolve(path.dirname(file), target) : target
121
- },
122
- }
123
- }
124
-
125
- function createDescriptorLeases (locks) {
126
- const active = new Map()
127
- function close (descriptor) {
128
- const state = active.get(descriptor)
129
- if (state) {
130
- state.closed = true
131
- return
132
- }
133
- fs.closeSync(descriptor)
134
- locks.release(descriptor)
135
- }
136
- return { close, acquire (descriptor) {
137
- let state = active.get(descriptor)
138
- if (!state) {
139
- state = { count: 0, closed: false }
140
- active.set(descriptor, state)
141
- }
142
- state.count++
143
- let released = false
144
- return { fd: descriptor, release () {
145
- if (released) return
146
- released = true
147
- if (--state.count !== 0) return
148
- active.delete(descriptor)
149
- if (state.closed) close(descriptor)
150
- } }
151
- } }
152
- }
153
-
154
- function trackDescriptorChanges (wasi, descriptors) {
155
- const close = wasi.wasiImport.fd_close
156
- wasi.wasiImport.fd_close = descriptor => {
157
- if (!descriptors.has(descriptor)) return errno.EBADF
158
- const result = close(descriptor)
159
- if (result === 0) {
160
- descriptors.delete(descriptor)
161
- }
162
- return result
163
- }
164
- const renumber = wasi.wasiImport.fd_renumber
165
- wasi.wasiImport.fd_renumber = (source, destination) => {
166
- if (!descriptors.has(source) || !descriptors.has(destination)) return errno.EBADF
167
- const result = renumber(source, destination)
168
- if (result === 0 && source !== destination) {
169
- descriptors.set(destination, descriptors.get(source))
170
- descriptors.delete(source)
171
- }
172
- return result
173
- }
174
- }
175
-
176
- function createFilesystemImports ({ memory, resolveDescriptor, open, rootDescriptor, options, locks, sqliteFiles }) {
177
- function guestPath (pointer, length) {
178
- const value = new TextDecoder('utf-8', { fatal: true }).decode(Uint8Array.from(new Uint8Array(memory.buffer, pointer >>> 0, length >>> 0)))
179
- if (!value.startsWith('/') || value.includes('\0')) throw Object.assign(new Error('Expected an absolute guest path'), { code: 'EINVAL' })
180
- const root = options.preopens?.['/']
181
- if (root !== '/') throw Object.assign(new Error('Filesystem extensions require the host root preopen'), { code: 'EACCES' })
182
- return path.resolve(root, `.${value}`)
183
- }
184
- function descendantComponents (directory, template) {
185
- const suffix = path.relative(template, directory)
186
- if (!suffix || suffix === '..' || suffix.startsWith(`..${path.sep}`) || path.isAbsolute(suffix)) {
187
- throw Object.assign(new Error('Permission target is not below its template'), { code: 'EINVAL' })
188
- }
189
- return suffix.split(path.sep)
190
- }
191
- return {
192
- ...createOpenImports({ options, rootDescriptor, open }),
193
- open_directory_nofollow_beneath (pointer, length, templatePointer, templateLength, output) {
194
- try {
195
- const directory = guestPath(pointer, length)
196
- const template = guestPath(templatePointer, templateLength)
197
- let current = template
198
- for (const component of descendantComponents(directory, template)) {
199
- current = path.join(current, component)
200
- const metadata = fs.lstatSync(current)
201
- if (metadata.isSymbolicLink()) return errno.ELOOP
202
- if (!metadata.isDirectory()) return errno.ENOTDIR
203
- }
204
- return open([rootDescriptor, 0, pointer, length, 0, readRights, 0n, 4, output])
205
- } catch (error) {
206
- return errorNumber(error)
207
- }
208
- },
209
- grant_directory_mode_beneath (pointer, length, templatePointer, templateLength, extra) {
210
- if ('webcontainer' in process.versions) return errno.ENOTSUP
211
- if (process.platform !== 'linux' || !fs.existsSync('/proc/self/fd')) return errno.ENOTSUP
212
- if (extra < 0 || extra > 0o7777) return errno.EINVAL
213
- try {
214
- const directory = guestPath(pointer, length)
215
- const template = guestPath(templatePointer, templateLength)
216
- const components = descendantComponents(directory, template)
217
- let descriptor = fs.openSync(template, linuxOPath | fs.constants.O_DIRECTORY)
218
- try {
219
- for (const component of components) {
220
- const child = fs.openSync(`/proc/self/fd/${descriptor}/${component}`, linuxOPath | fs.constants.O_DIRECTORY | fs.constants.O_NOFOLLOW)
221
- fs.closeSync(descriptor)
222
- descriptor = child
223
- }
224
- const metadata = fs.fstatSync(descriptor)
225
- if (metadata.uid !== process.getuid()) return errno.EACCES
226
- const current = metadata.mode & 0o7777
227
- if ((current | extra) !== current) fs.chmodSync(`/proc/self/fd/${descriptor}`, current | extra)
228
- return 0
229
- } finally {
230
- fs.closeSync(descriptor)
231
- }
232
- } catch (error) {
233
- return errorNumber(error)
234
- }
235
- },
236
- try_lock (descriptor, exclusive) {
237
- try { return locks.tryLock(resolveDescriptor(descriptor), exclusive !== 0) } catch (error) { return errorNumber(error) }
238
- },
239
- sqlite_register: checked((pointer, length, registered) => {
240
- const database = guestPath(pointer, length)
241
- for (const suffix of ['-journal', '-wal', '-shm']) {
242
- const file = database + suffix
243
- if (registered) sqliteFiles.set(file, database)
244
- else sqliteFiles.delete(file)
245
- }
246
- }),
247
- path_access_executable: checked((pointer, length) => executableAccess(guestPath(pointer, length))),
248
- check_owner: checked(descriptor => {
249
- if (fs.fstatSync(resolveDescriptor(descriptor)).uid !== process.getuid()) {
250
- throw Object.assign(new Error('WASM SQLite stores must belong to the current user'), { code: 'EACCES' })
251
- }
252
- }),
253
- fchmod: checked((descriptor, mode) => fs.fchmodSync(resolveDescriptor(descriptor), mode)),
254
- fmode: checked((descriptor, output) => {
255
- new DataView(memory.buffer).setUint32(output >>> 0, fs.fstatSync(resolveDescriptor(descriptor)).mode, true)
256
- }),
257
- lmode: checked((pointer, length, output) => {
258
- new DataView(memory.buffer).setUint32(output >>> 0, fs.lstatSync(guestPath(pointer, length)).mode, true)
259
- }),
260
- umask () { return process.umask() },
261
- uid () { return process.getuid() },
262
- secure_directory: checked((pointer, length) => secureDirectory(guestPath(pointer, length))),
263
- }
264
- }
265
-
266
- function executableAccess (file) {
267
- fs.accessSync(file, fs.constants.X_OK)
268
- // WebContainer accessSync ignores X_OK, although stat exposes permission bits.
269
- if (!hasExecutableMode(fs.statSync(file))) {
270
- throw Object.assign(new Error(`File is not executable: ${file}`), { code: 'EACCES' })
271
- }
272
- }
273
-
274
- function secureDirectory (directory) {
275
- fs.mkdirSync(directory, { recursive: true, mode: 0o700 })
276
- const descriptor = fs.openSync(directory, fs.constants.O_RDONLY | fs.constants.O_DIRECTORY | fs.constants.O_NOFOLLOW)
277
- try {
278
- const metadata = fs.fstatSync(descriptor)
279
- if (metadata.uid !== process.getuid()) throw Object.assign(new Error('Lock directory has a different owner'), { code: 'EACCES' })
280
- fs.fchmodSync(descriptor, 0o700)
281
- } finally {
282
- fs.closeSync(descriptor)
283
- }
284
- }
285
-
286
- function createOpenImports ({ options, rootDescriptor, open }) {
287
- return {
288
- create_new (pointer, length, mode, output) {
289
- if (mode < 0 || mode > 0o7777) return errno.EINVAL
290
- if (options.preopens?.['/'] !== '/') return errno.EACCES
291
- return open([rootDescriptor, 0, pointer, length, 1 | 4, writeRights, 0n, 0, output], mode)
292
- },
293
- open_nofollow (pointer, length, output) {
294
- if (options.preopens?.['/'] !== '/') return errno.EACCES
295
- return open([rootDescriptor, 0, pointer, length, 0, readRights, 0n, 4, output])
296
- },
297
- open_lock (pointer, length, output) {
298
- if (options.preopens?.['/'] !== '/') return errno.EACCES
299
- return open([rootDescriptor, 0, pointer, length, 0, writeRights, 0n, 4, output])
300
- },
301
- }
302
- }
303
-
304
- function checked (operation) {
305
- return (...args) => {
306
- try {
307
- operation(...args)
308
- return 0
309
- } catch (error) {
310
- return errorNumber(error)
311
- }
312
- }
313
- }
314
-
315
- function errorNumber (error) {
316
- if (error instanceof RangeError) return errno.EFAULT
317
- return errno[error.code] ?? errno.EIO
318
- }
@@ -1,45 +0,0 @@
1
- import { RESPONSE_CAPACITY } from './protocol.mjs'
2
- import { waitForReply } from './wait-for-reply.mjs'
3
-
4
- export function createGuestImports (memory, postMessage, checkCancelled) {
5
- const buffer = new SharedArrayBuffer(RESPONSE_CAPACITY + 12)
6
- const header = new Int32Array(buffer, 0, 3)
7
-
8
- function call (method, args) {
9
- Atomics.store(header, 0, 0)
10
- postMessage({ pnpmHostRpc: { method, args, buffer } })
11
- waitForReply(header, 0, checkCancelled)
12
- return Atomics.load(header, 1)
13
- }
14
-
15
- function view (pointer, length) {
16
- return new Uint8Array(memory.buffer, pointer >>> 0, length >>> 0)
17
- }
18
-
19
- return {
20
- operation_start (pointer, length) {
21
- if ((length >>> 0) > RESPONSE_CAPACITY) return -2
22
- const bytes = Uint8Array.from(view(pointer, length))
23
- const request = JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(bytes))
24
- return call('start', [request])
25
- },
26
- response_len (id) {
27
- return call('length', [id])
28
- },
29
- response_read (id, pointer, length) {
30
- const target = view(pointer, length)
31
- const result = call('read', [id, target.length])
32
- if (result >= 0) target.set(new Uint8Array(buffer, 12, Atomics.load(header, 2)))
33
- return result
34
- },
35
- operation_cancel (id) {
36
- call('cancel', [id])
37
- },
38
- resource_close (handle) {
39
- return call('close-resource', [handle])
40
- },
41
- wait_completion () {
42
- return call('wait', [])
43
- },
44
- }
45
- }
@@ -1,148 +0,0 @@
1
- import { createHostServices } from './operations.mjs'
2
- import { RESPONSE_CAPACITY } from './protocol.mjs'
3
-
4
- export function createGuestOperations (services = createHostServices()) {
5
- const pending = new Map()
6
- const completed = []
7
- const waiters = []
8
- const inFlight = new Set()
9
- const cleanupErrors = []
10
- let nextId = 1
11
- let closed = false
12
-
13
- function start (request) {
14
- if (closed || nextId > 0x7fffffff) return -2
15
- const id = nextId++
16
- const entry = { controller: new AbortController(), response: null, operation: request.operation, result: null }
17
- pending.set(id, entry)
18
- if (request.operation === 'process.write') request.bytes = Uint8Array.from(request.bytes)
19
- if (request.operation === 'network.request' && Array.isArray(request.body)) request.body = Uint8Array.from(request.body)
20
- const task = Promise.resolve().then(() => services.dispatch(request, { signal: entry.controller.signal })).then(
21
- value => settle(id, entry, { ok: true, value }),
22
- error => settle(id, entry, { ok: false, error: { message: error.message, code: errorCode(error) } }),
23
- )
24
- track(task)
25
- return id
26
- }
27
-
28
- function track (task) {
29
- inFlight.add(task)
30
- task.then(() => inFlight.delete(task), error => {
31
- inFlight.delete(task)
32
- cleanupErrors.push(error)
33
- })
34
- }
35
-
36
- async function releaseResult (operation, result) {
37
- if (!result?.ok) return
38
- const handles = ['network.request', 'upload.create', 'terminal.open'].includes(operation) ? [result.value.handle]
39
- : ['process.spawn', 'shell.spawn'].includes(operation) ? [result.value.stdout, result.value.stderr, result.value.handle] : []
40
- await Promise.all(handles.filter(handle => handle != null)
41
- .map(handle => services.dispatch({ operation: 'resource.close', handle })))
42
- }
43
-
44
- async function settle (id, entry, result) {
45
- if (!pending.has(id)) return closed ? undefined : releaseResult(entry.operation, result)
46
- let bytes
47
- try {
48
- bytes = new TextEncoder().encode(JSON.stringify(result, (_key, value) => value instanceof Uint8Array ? [...value] : value))
49
- if (bytes.length > RESPONSE_CAPACITY) throw new Error('WASM host response exceeds the transfer limit')
50
- } catch (error) {
51
- try {
52
- await releaseResult(entry.operation, result)
53
- } catch (cleanupError) {
54
- cleanupErrors.push(cleanupError)
55
- }
56
- result = { ok: false, error: { message: error.message } }
57
- bytes = new TextEncoder().encode(JSON.stringify(result))
58
- }
59
- if (!pending.has(id)) return
60
- entry.result = result
61
- entry.response = bytes
62
- const waiter = waiters.shift()
63
- if (waiter) waiter(id)
64
- else completed.push(id)
65
- }
66
-
67
- async function dispatch (method, args) {
68
- switch (method) {
69
- case 'start': return start(args[0])
70
- case 'length': return pending.get(args[0])?.response?.length ?? (pending.has(args[0]) ? -1 : -2)
71
- case 'read': {
72
- const entry = pending.get(args[0])
73
- if (!entry?.response || entry.response.length > args[1]) return -2
74
- pending.delete(args[0])
75
- return entry.response
76
- }
77
- case 'cancel': {
78
- const entry = pending.get(args[0])
79
- pending.delete(args[0])
80
- entry?.controller.abort()
81
- if (entry?.result) await releaseResult(entry.operation, entry.result)
82
- return 0
83
- }
84
- case 'close-resource': {
85
- await services.dispatch({ operation: 'resource.close', handle: args[0] })
86
- return 0
87
- }
88
- case 'wait': {
89
- while (completed.length > 0) {
90
- const id = completed.shift()
91
- if (pending.has(id)) return id
92
- }
93
- return closed ? 0 : new Promise(resolve => waiters.push(resolve))
94
- }
95
- default: throw new Error(`Unknown guest operation: ${method}`)
96
- }
97
- }
98
-
99
- return {
100
- dispatch,
101
- attach (worker) {
102
- const listener = message => {
103
- if (!message.pnpmHostRpc) return
104
- const { method, args, buffer } = message.pnpmHostRpc
105
- respond(buffer, dispatch(method, args)).catch(error => worker.emit('error', error))
106
- }
107
- worker.on('message', listener)
108
- return () => worker.off('message', listener)
109
- },
110
- async close () {
111
- closed = true
112
- for (const entry of pending.values()) entry.controller.abort()
113
- pending.clear()
114
- for (const waiter of waiters.splice(0)) waiter(0)
115
- try {
116
- await services.close()
117
- } finally {
118
- await Promise.allSettled([...inFlight])
119
- }
120
- if (cleanupErrors.length) throw new AggregateError(cleanupErrors, 'Failed to clean up cancelled WASM operations')
121
- },
122
- }
123
- }
124
-
125
- async function respond (buffer, response) {
126
- const header = new Int32Array(buffer, 0, 3)
127
- Atomics.store(header, 1, -2)
128
- Atomics.store(header, 2, 0)
129
- try {
130
- const value = await response
131
- if (value instanceof Uint8Array) {
132
- new Uint8Array(buffer, 12).set(value)
133
- Atomics.store(header, 1, value.length)
134
- Atomics.store(header, 2, value.length)
135
- } else {
136
- Atomics.store(header, 1, value)
137
- Atomics.store(header, 2, 0)
138
- }
139
- } finally {
140
- Atomics.store(header, 0, 1)
141
- Atomics.notify(header, 0)
142
- }
143
- }
144
-
145
- function errorCode (error) {
146
- const code = error.code ?? error.cause?.code
147
- return typeof code === 'string' ? code : undefined
148
- }
@@ -1,167 +0,0 @@
1
- import { randomUUID } from 'node:crypto'
2
- import fs from 'node:fs'
3
- import { createConnection, createServer } from 'node:net'
4
- import os from 'node:os'
5
- import path from 'node:path'
6
- import process from 'node:process'
7
-
8
- const mutexPort = 29753
9
- const tokens = new Set()
10
- let listener
11
- let acquiring = 0
12
-
13
- // The rendezvous port protects only registry updates. Held file locks use
14
- // ephemeral ports, so unrelated nested locks cannot collide or reverse order.
15
- export async function acquireFileLease (identity, exclusive, previous) {
16
- acquiring++
17
- try {
18
- return await acquireRegisteredLease(identity, exclusive, previous)
19
- } finally {
20
- acquiring--
21
- closeIdleListener()
22
- }
23
- }
24
-
25
- async function acquireRegisteredLease (identity, exclusive, previous) {
26
- const mutex = await listen(createServer(socket => socket.destroy()), mutexPort)
27
- if (!mutex) return undefined
28
- let token
29
- try {
30
- const file = registryPath(identity)
31
- const owners = await liveOwners(file)
32
- if (owners.some(owner => owner.token !== previous?.token && (exclusive || owner.exclusive))) return undefined
33
- const server = await leaseListener()
34
- token = previous?.token ?? randomUUID()
35
- tokens.add(token)
36
- const owner = { port: server.address().port, token, exclusive, pid: process.pid }
37
- writeOwners(file, [...owners.filter(entry => entry.token !== token), owner])
38
- return { token, exclusive, release () { tokens.delete(token); closeIdleListener() } }
39
- } catch (error) {
40
- if (token && token !== previous?.token) tokens.delete(token)
41
- throw error
42
- } finally {
43
- await new Promise(resolve => mutex.close(resolve))
44
- }
45
- }
46
-
47
- function registryPath (identity) {
48
- const directory = path.join(os.tmpdir(), `pnpm-wasm-file-locks-${process.getuid()}`)
49
- fs.mkdirSync(directory, { recursive: true, mode: 0o700 })
50
- const descriptor = fs.openSync(directory, fs.constants.O_RDONLY | fs.constants.O_DIRECTORY | fs.constants.O_NOFOLLOW)
51
- try {
52
- if (fs.fstatSync(descriptor).uid !== process.getuid()) throw new Error('WASM lock registry belongs to another user')
53
- fs.fchmodSync(descriptor, 0o700)
54
- } finally {
55
- fs.closeSync(descriptor)
56
- }
57
- return path.join(directory, identity.replace(':', '-'))
58
- }
59
-
60
- async function liveOwners (file) {
61
- let descriptor
62
- try {
63
- descriptor = fs.openSync(file, fs.constants.O_RDONLY | fs.constants.O_NOFOLLOW | fs.constants.O_NONBLOCK)
64
- } catch (error) {
65
- if (error.code === 'ENOENT') return []
66
- throw error
67
- }
68
- let owners
69
- try {
70
- const metadata = fs.fstatSync(descriptor)
71
- if (!metadata.isFile() || metadata.size > 1024 * 1024) throw new Error('Invalid WASM lock ownership record')
72
- owners = JSON.parse(fs.readFileSync(descriptor, 'utf8'))
73
- } finally {
74
- fs.closeSync(descriptor)
75
- }
76
- if (!Array.isArray(owners) || owners.length > 4096 || !owners.every(validOwner)) throw new Error('Invalid WASM lock ownership record')
77
- const live = await Promise.all(owners.map(async owner => await isAlive(owner) ? owner : undefined))
78
- return live.filter(Boolean)
79
- }
80
-
81
- function validOwner (owner) {
82
- return Number.isInteger(owner?.port) && owner.port > 0 && owner.port < 65536 &&
83
- typeof owner.token === 'string' && /^[\da-f-]{36}$/.test(owner.token) && typeof owner.exclusive === 'boolean' &&
84
- (owner.pid == null || (Number.isSafeInteger(owner.pid) && owner.pid > 0))
85
- }
86
-
87
- function writeOwners (file, owners) {
88
- const temporary = `${file}.${randomUUID()}`
89
- try {
90
- fs.writeFileSync(temporary, JSON.stringify(owners), { flag: 'wx', mode: 0o600 })
91
- fs.renameSync(temporary, file)
92
- } catch (error) {
93
- try { fs.unlinkSync(temporary) } catch (cleanup) { if (cleanup.code !== 'ENOENT') throw cleanup }
94
- throw error
95
- }
96
- }
97
-
98
- async function leaseListener () {
99
- listener ??= listen(createServer(socket => {
100
- let request = ''
101
- socket.setTimeout(1000, () => socket.destroy())
102
- socket.on('error', () => { /* A probing process may exit before receiving the response. */ })
103
- socket.on('data', chunk => {
104
- request += chunk.toString()
105
- if (request.length > 37) return socket.destroy()
106
- if (request.endsWith('\n')) socket.end(tokens.has(request.trim()) ? 'alive\n' : 'released\n')
107
- })
108
- }), 0)
109
- return listener
110
- }
111
-
112
- function listen (server, port) {
113
- return new Promise((resolve, reject) => {
114
- server.once('error', error => {
115
- if (error.code === 'EADDRINUSE') resolve(undefined)
116
- else reject(error)
117
- })
118
- server.listen({ host: '127.0.0.1', port, exclusive: true }, () => {
119
- server.unref()
120
- resolve(server)
121
- })
122
- })
123
- }
124
-
125
- function isAlive (owner) {
126
- if (owner.pid != null && processIsAbsent(owner.pid)) return Promise.resolve(false)
127
- return new Promise((resolve, reject) => {
128
- const socket = createConnection({ host: '127.0.0.1', port: owner.port })
129
- let response = ''
130
- function finish (value) {
131
- socket.destroy()
132
- resolve(value)
133
- }
134
- // A slow live owner must never be reaped. Only refusal or an explicit
135
- // different token proves that this ownership record is abandoned.
136
- socket.setTimeout(1000, () => finish(true))
137
- socket.on('connect', () => socket.write(`${owner.token}\n`))
138
- socket.on('data', chunk => {
139
- response += chunk.toString()
140
- if (response.endsWith('\n') || response.length > 32) finish(response !== 'released\n')
141
- })
142
- socket.on('end', () => finish(response !== 'released\n'))
143
- socket.on('error', error => {
144
- socket.destroy()
145
- if (error.code === 'ECONNREFUSED') resolve(false)
146
- else if (error.code === 'ECONNRESET') resolve(true)
147
- else reject(error)
148
- })
149
- })
150
- }
151
-
152
- function processIsAbsent (pid) {
153
- try {
154
- process.kill(pid, 0)
155
- } catch (error) {
156
- if (error.code === 'ESRCH') return true
157
- if (!['EPERM', 'EINVAL', 'ENOSYS'].includes(error.code)) throw error
158
- }
159
- return false
160
- }
161
-
162
- function closeIdleListener () {
163
- if (tokens.size || acquiring || !listener) return
164
- const closing = listener
165
- listener = undefined
166
- void closing.then(server => server.close(), () => { /* The acquisition already reports a failed listener. */ })
167
- }