binary-collections 2.0.12 → 2.0.14

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 (418) hide show
  1. package/binaries/binary-executor.cjs +307 -162
  2. package/binaries/clean-nodemodule.cjs +307 -162
  3. package/binaries/clean-nodemodules.cjs +307 -162
  4. package/binaries/composer.cjs +323 -0
  5. package/binaries/composer.cmd +2 -0
  6. package/binaries/composer.phar +0 -0
  7. package/binaries/dev.cjs +307 -162
  8. package/binaries/empty.cjs +307 -162
  9. package/binaries/git-reduce-size.cjs +307 -162
  10. package/binaries/javakill.cjs +307 -162
  11. package/binaries/kill-process.cjs +307 -162
  12. package/binaries/nodekill.cjs +307 -162
  13. package/binaries/prod.cjs +307 -162
  14. package/binaries/py.cjs +307 -162
  15. package/binaries/rmfind.cjs +307 -162
  16. package/binaries/rmx.cjs +307 -162
  17. package/binaries/submodule-token.cjs +307 -162
  18. package/binaries/test-cjs.cjs +307 -162
  19. package/binaries/test-esm.cjs +307 -162
  20. package/binaries/yarn-clean.cjs +307 -162
  21. package/binaries/yc +22 -1
  22. package/binaries/yc.cjs +307 -162
  23. package/binaries/ycw +256 -0
  24. package/binaries/ycw.cjs +323 -0
  25. package/docs-src/binary-collections.md +34 -0
  26. package/docs-src/changelog.md +26 -0
  27. package/docs-src/clean-github-actions-caches.md +115 -0
  28. package/docs-src/copy-move-file.md +56 -0
  29. package/docs-src/del-gradle.md +17 -0
  30. package/docs-src/del-ps.md +28 -0
  31. package/docs-src/downloader.md +62 -0
  32. package/docs-src/env-helpers.md +29 -0
  33. package/docs-src/find-node-modules.md +17 -0
  34. package/docs-src/free-chatgpt.md +26 -0
  35. package/docs-src/generate-test-ci.md +56 -0
  36. package/docs-src/get-latest-workflow-status.md +100 -0
  37. package/docs-src/git-diff.md +33 -0
  38. package/docs-src/git-fix.md +34 -0
  39. package/docs-src/git-purge.md +17 -0
  40. package/docs-src/git-reduce-size.md +17 -0
  41. package/docs-src/git-undo.md +21 -0
  42. package/docs-src/kill-night-crows.md +26 -0
  43. package/docs-src/node-cache-cleaner.md +182 -0
  44. package/docs-src/node-executor.md +50 -0
  45. package/docs-src/node-package-packer.md +48 -0
  46. package/docs-src/npm-run-series.md +43 -0
  47. package/docs-src/opencode-cli.md +127 -0
  48. package/docs-src/package-resolutions-updater.md +22 -0
  49. package/docs-src/php-cs-fixer-staged.md +19 -0
  50. package/docs-src/print-directory-tree.md +35 -0
  51. package/docs-src/print-tarball-tree.md +55 -0
  52. package/docs-src/py.md +19 -0
  53. package/docs-src/remove-module.md +32 -0
  54. package/docs-src/rmfind-rmx.md +21 -0
  55. package/docs-src/rmpath.md +38 -0
  56. package/docs-src/run-by-checksum.md +87 -0
  57. package/docs-src/submodule-install.md +31 -0
  58. package/docs-src/submodule-remove.md +22 -0
  59. package/docs-src/submodule-token.md +17 -0
  60. package/docs-src/test-runners.md +21 -0
  61. package/docs-src/upload-backend.md +29 -0
  62. package/docs-src/vscode-cli.md +84 -0
  63. package/docs-src/workflow-badge.md +120 -0
  64. package/docs-src/yarn-install.md +31 -0
  65. package/docs-src/yarn-reinstall.md +27 -0
  66. package/lib/binary-collections/config.cjs +15 -3
  67. package/lib/binary-collections/config.d.cts +10 -0
  68. package/lib/binary-collections/config.mjs +2 -2
  69. package/lib/binary-collections/findScript.cjs +75 -28
  70. package/lib/binary-collections/findScript.mjs +2 -2
  71. package/lib/binary-collections/listScript.cjs +75 -28
  72. package/lib/binary-collections/listScript.mjs +2 -2
  73. package/lib/binary-collections.cjs +85 -43
  74. package/lib/binary-collections.mjs +8 -8
  75. package/lib/changelog.cjs +7 -12
  76. package/lib/changelog.mjs +2 -2
  77. package/lib/chunk-2SJKVOTN.mjs +146 -0
  78. package/lib/{chunk-SPTECFE5.mjs → chunk-3F6EIHYG.mjs} +87 -21
  79. package/lib/chunk-546KAIYT.mjs +113 -0
  80. package/lib/chunk-56BVU63B.mjs +86 -0
  81. package/lib/chunk-5WAOOOGZ.mjs +77 -0
  82. package/lib/{chunk-V2IBPCEV.mjs → chunk-6C7KTYGZ.mjs} +3 -1
  83. package/lib/{chunk-5RTXZVCW.mjs → chunk-6RK5UCTP.mjs} +5 -10
  84. package/lib/chunk-72XTQ3CK.mjs +45 -0
  85. package/lib/chunk-7N52Z4IJ.mjs +39 -0
  86. package/lib/chunk-7Q6YEUQF.mjs +246 -0
  87. package/lib/{chunk-ZOWVMII3.mjs → chunk-AJ3OIYYP.mjs} +75 -28
  88. package/lib/chunk-AQZ7LMFS.mjs +100 -0
  89. package/lib/chunk-BDCMTOZI.mjs +246 -0
  90. package/lib/chunk-BEUM4LH4.mjs +184 -0
  91. package/lib/{chunk-66KDU4TX.mjs → chunk-BO4TZS4Q.mjs} +39 -61
  92. package/lib/chunk-CM3IC5YC.mjs +226 -0
  93. package/lib/{chunk-6PU7BAHB.mjs → chunk-D42YBRZW.mjs} +1 -1
  94. package/lib/chunk-FR3DMHJC.mjs +146 -0
  95. package/lib/chunk-I3O5ZRYU.mjs +77 -0
  96. package/lib/chunk-J4M5EL5P.mjs +108 -0
  97. package/lib/chunk-JK3MG2KF.mjs +236 -0
  98. package/lib/chunk-JMUFQSPE.mjs +184 -0
  99. package/lib/chunk-JVMLKHD2.mjs +62 -0
  100. package/lib/chunk-KAT2JNLZ.mjs +146 -0
  101. package/lib/chunk-KLKAIFKI.mjs +40 -0
  102. package/lib/{chunk-FB2WKVJD.mjs → chunk-KRCPFWIF.mjs} +72 -37
  103. package/lib/chunk-LACQTD5V.mjs +225 -0
  104. package/lib/chunk-LVSPEFU2.mjs +86 -0
  105. package/lib/chunk-MCCMMZSM.mjs +60 -0
  106. package/lib/{chunk-2LSRSEXF.mjs → chunk-MGPYPKIE.mjs} +2 -2
  107. package/lib/chunk-OA2RKEY3.mjs +162 -0
  108. package/lib/{chunk-C6D2TTYU.mjs → chunk-OBXLTXFJ.mjs} +4 -2
  109. package/lib/{chunk-G5UUEWUO.mjs → chunk-PAZH45HS.mjs} +8 -2
  110. package/lib/chunk-QD4T255Z.mjs +40 -0
  111. package/lib/{chunk-XPJGCDOD.mjs → chunk-QII2EKCS.mjs} +14 -2
  112. package/lib/chunk-QZMGBDSA.mjs +32 -0
  113. package/lib/chunk-RDGDLSPD.mjs +76 -0
  114. package/lib/chunk-RJKTSUAX.mjs +123 -0
  115. package/lib/chunk-RKPIBGKE.mjs +61 -0
  116. package/lib/chunk-SARIXFHP.mjs +44 -0
  117. package/lib/chunk-SJYP66BO.mjs +62 -0
  118. package/lib/chunk-SWUAEY4H.mjs +44 -0
  119. package/lib/chunk-TP3O2JGW.mjs +88 -0
  120. package/lib/chunk-UAIF5VIA.mjs +89 -0
  121. package/lib/chunk-UDZBVKXH.mjs +94 -0
  122. package/lib/chunk-UEOWRYAN.mjs +32 -0
  123. package/lib/chunk-UHPFLJXH.mjs +227 -0
  124. package/lib/{chunk-M3YIYRHT.mjs → chunk-UY5VUEA3.mjs} +1 -1
  125. package/lib/chunk-UYNBNLV5.mjs +113 -0
  126. package/lib/chunk-WOC4FZ6F.mjs +164 -0
  127. package/lib/chunk-WSHVPGNM.mjs +44 -0
  128. package/lib/chunk-X7UVQ6ZC.mjs +183 -0
  129. package/lib/{chunk-NCZPTKDV.mjs → chunk-XI67TI46.mjs} +1 -1
  130. package/lib/chunk-XW5NZAKI.mjs +82 -0
  131. package/lib/chunk-YLV4QATP.mjs +86 -0
  132. package/lib/chunk-YWSLMAQ7.mjs +65 -0
  133. package/lib/chunk-ZB4IQ6VJ.mjs +46 -0
  134. package/lib/cross-env/command.cjs +2 -2
  135. package/lib/cross-env/command.js +2 -2
  136. package/lib/cross-env/command.mjs +2 -2
  137. package/lib/cross-env/index.cjs +2 -2
  138. package/lib/cross-env/index.mjs +5 -5
  139. package/lib/cross-env/variable.mjs +2 -2
  140. package/lib/del-gradle.cjs +7 -12
  141. package/lib/del-gradle.mjs +23 -17
  142. package/lib/del-node-modules.cjs +186 -4
  143. package/lib/del-node-modules.mjs +151 -142
  144. package/lib/{del-ps.cjs → del-ps-cli.cjs} +36 -41
  145. package/lib/del-ps-cli.mjs +44 -0
  146. package/lib/del-yarn-caches.cjs +6 -11
  147. package/lib/del-yarn-caches.mjs +1 -1
  148. package/lib/downloader-cli.cjs +256 -0
  149. package/lib/downloader-cli.mjs +90 -0
  150. package/lib/file/copy-cli.cjs +183 -2
  151. package/lib/file/copy-cli.mjs +6 -2
  152. package/lib/file/move-cli.cjs +183 -2
  153. package/lib/file/move-cli.mjs +6 -2
  154. package/lib/find-node-modules-cli.cjs +2 -2
  155. package/lib/find-node-modules-cli.mjs +11 -5
  156. package/lib/find-node-modules.cjs +1 -1
  157. package/lib/find-node-modules.mjs +1 -1
  158. package/lib/free-chatgpt.cjs +6 -11
  159. package/lib/free-chatgpt.mjs +1 -1
  160. package/lib/{git-diff-cli.cjs → git/git-diff-cli.cjs} +109 -36
  161. package/lib/{git-diff-cli.mjs → git/git-diff-cli.mjs} +7 -7
  162. package/lib/{git-diff.cjs → git/git-diff.cjs} +107 -34
  163. package/lib/{git-diff.js → git/git-diff.js} +88 -31
  164. package/lib/{git-diff.mjs → git/git-diff.mjs} +6 -6
  165. package/lib/{git-fix.cjs → git/git-fix.cjs} +140 -14
  166. package/lib/git/git-fix.d.cts +2 -0
  167. package/lib/{git-fix.mjs → git/git-fix.mjs} +19 -14
  168. package/lib/{git-purge.cjs → git/git-purge.cjs} +8 -13
  169. package/lib/{git-purge.mjs → git/git-purge.mjs} +5 -5
  170. package/lib/git/user-config.cjs +137 -12
  171. package/lib/git/user-config.mjs +4 -2
  172. package/lib/{clean-github-actions-caches-cli.cjs → github-workflows/clean-github-actions-caches-cli.cjs} +292 -222
  173. package/lib/{clean-github-actions-caches-cli.mjs → github-workflows/clean-github-actions-caches-cli.mjs} +30 -11
  174. package/lib/github-workflows/clean-github-actions-caches.cjs +473 -0
  175. package/lib/github-workflows/clean-github-actions-caches.d.cts +53 -0
  176. package/lib/{clean-github-actions-caches.mjs → github-workflows/clean-github-actions-caches.mjs} +5 -3
  177. package/lib/github-workflows/generate-test-ci-step-cli.cjs +240 -0
  178. package/lib/github-workflows/generate-test-ci-step-cli.d.mts +2 -0
  179. package/lib/github-workflows/generate-test-ci-step-cli.mjs +132 -0
  180. package/lib/github-workflows/get-latest-workflow-status-cli.cjs +541 -0
  181. package/lib/github-workflows/get-latest-workflow-status-cli.d.mts +2 -0
  182. package/lib/github-workflows/get-latest-workflow-status-cli.mjs +61 -0
  183. package/lib/github-workflows/get-latest-workflow-status.cjs +56 -0
  184. package/lib/github-workflows/get-latest-workflow-status.d.mts +1 -0
  185. package/lib/{ps/isWin.mjs → github-workflows/get-latest-workflow-status.mjs} +3 -5
  186. package/lib/github-workflows/utils.cjs +271 -0
  187. package/lib/github-workflows/utils.d.cts +76 -0
  188. package/lib/github-workflows/utils.mjs +8 -0
  189. package/lib/github-workflows/workflow-badge-cli.cjs +722 -0
  190. package/lib/github-workflows/workflow-badge-cli.d.mts +2 -0
  191. package/lib/github-workflows/workflow-badge-cli.mjs +98 -0
  192. package/lib/github-workflows/workflow-badge-generator.cjs +200 -0
  193. package/lib/github-workflows/workflow-badge-generator.d.mts +14 -0
  194. package/lib/github-workflows/workflow-badge-generator.mjs +8 -0
  195. package/lib/github-workflows/workflow-test-data.cjs +73 -0
  196. package/lib/github-workflows/workflow-test-data.d.cts +63 -0
  197. package/lib/github-workflows/workflow-test-data.mjs +6 -0
  198. package/lib/index.cjs +1 -1
  199. package/lib/index.mjs +1 -1
  200. package/lib/node-cache-cleaner-cli.cjs +185 -2
  201. package/lib/node-cache-cleaner-cli.js +2 -5
  202. package/lib/node-cache-cleaner-cli.mjs +8 -4
  203. package/lib/node-executor.cjs +183 -2
  204. package/lib/node-executor.mjs +5 -2
  205. package/lib/node-package-packer/build-readme.cjs +150 -0
  206. package/lib/node-package-packer/build-readme.d.mts +10 -0
  207. package/lib/node-package-packer/build-readme.mjs +10 -0
  208. package/lib/node-package-packer/build-tarball.cjs +495 -0
  209. package/lib/node-package-packer/build-tarball.d.mts +33 -0
  210. package/lib/node-package-packer/build-tarball.mjs +175 -0
  211. package/lib/node-package-packer-cli.cjs +525 -0
  212. package/lib/node-package-packer-cli.d.mts +1 -0
  213. package/lib/node-package-packer-cli.mjs +34 -0
  214. package/lib/npm-run-series.cjs +7 -12
  215. package/lib/npm-run-series.mjs +2 -2
  216. package/lib/opencode/cli/auth-rotate.cjs +143 -0
  217. package/lib/opencode/cli/auth-rotate.d.ts +1 -0
  218. package/lib/opencode/cli/auth-rotate.js +70 -0
  219. package/lib/opencode/cli/auth-rotate.mjs +10 -0
  220. package/lib/opencode/cli/list-projects.cjs +184 -0
  221. package/lib/opencode/cli/list-projects.d.ts +1 -0
  222. package/lib/opencode/cli/list-projects.js +32 -0
  223. package/lib/opencode/cli/list-projects.mjs +11 -0
  224. package/lib/opencode/cli/list-sessions.cjs +215 -0
  225. package/lib/opencode/cli/list-sessions.d.ts +1 -0
  226. package/lib/opencode/cli/list-sessions.js +45 -0
  227. package/lib/opencode/cli/list-sessions.mjs +11 -0
  228. package/lib/opencode/database.cjs +349 -0
  229. package/lib/opencode/database.d.ts +91 -0
  230. package/lib/opencode/database.js +252 -0
  231. package/lib/opencode/database.mjs +28 -0
  232. package/lib/opencode/database.runner.cjs +145 -0
  233. package/lib/opencode/database.runner.d.ts +1 -0
  234. package/lib/opencode/database.runner.js +56 -0
  235. package/lib/opencode/database.runner.mjs +37 -0
  236. package/lib/opencode/opencode-zen.runner.cjs +48 -0
  237. package/lib/opencode/opencode-zen.runner.d.mts +1 -0
  238. package/lib/opencode/opencode-zen.runner.mjs +31 -0
  239. package/lib/opencode/sqlite.cjs +114 -0
  240. package/lib/opencode/sqlite.d.ts +18 -0
  241. package/lib/opencode/sqlite.js +82 -0
  242. package/lib/opencode/sqlite.mjs +10 -0
  243. package/lib/opencode/storage.cjs +124 -0
  244. package/lib/opencode/storage.d.ts +27 -0
  245. package/lib/opencode/storage.js +101 -0
  246. package/lib/opencode/storage.mjs +38 -0
  247. package/lib/opencode/storage.runner.cjs +50 -0
  248. package/lib/opencode/storage.runner.d.ts +1 -0
  249. package/lib/opencode/storage.runner.js +13 -0
  250. package/lib/opencode/storage.runner.mjs +29 -0
  251. package/lib/{ps/isWin.cjs → opencode/types.cjs} +3 -12
  252. package/lib/opencode/types.d.ts +31 -0
  253. package/lib/{ps/isWin.js → opencode/types.js} +0 -2
  254. package/lib/opencode/types.mjs +7 -0
  255. package/lib/opencode/utils/check-api.cjs +59 -0
  256. package/lib/opencode/utils/check-api.d.ts +12 -0
  257. package/lib/opencode/utils/check-api.js +46 -0
  258. package/lib/opencode/utils/check-api.mjs +8 -0
  259. package/lib/opencode-cli.cjs +473 -0
  260. package/lib/opencode-cli.d.ts +2 -0
  261. package/lib/opencode-cli.js +115 -0
  262. package/lib/opencode-cli.mjs +111 -0
  263. package/lib/package-resolutions-updater-cli.cjs +218 -194
  264. package/lib/package-resolutions-updater-cli.mjs +6 -4
  265. package/lib/package-resolutions-updater.cjs +216 -192
  266. package/lib/package-resolutions-updater.d.mts +44 -1
  267. package/lib/package-resolutions-updater.mjs +5 -3
  268. package/lib/php-cs-fixer-staged.cjs +1 -1
  269. package/lib/php-cs-fixer-staged.mjs +1 -1
  270. package/lib/print-directory-tree.cjs +147 -21
  271. package/lib/print-directory-tree.mjs +17 -11
  272. package/lib/print-tarball-tree.cjs +262 -0
  273. package/lib/print-tarball-tree.d.mts +1 -0
  274. package/lib/print-tarball-tree.mjs +68 -0
  275. package/lib/ps/index.cjs +10 -10
  276. package/lib/ps/index.mjs +4 -4
  277. package/lib/ps/table-parser.d.ts +3 -4
  278. package/lib/ps/table-parser.js +9 -16
  279. package/lib/remove-module.cjs +17 -22
  280. package/lib/remove-module.mjs +2 -2
  281. package/lib/rm-node-module-cli.cjs +171 -4
  282. package/lib/rm-node-module-cli.mjs +7 -4
  283. package/lib/rmpath-cli.cjs +411 -0
  284. package/lib/rmpath-cli.d.mts +1 -0
  285. package/lib/rmpath-cli.mjs +25 -0
  286. package/lib/rmpath.cjs +113 -188
  287. package/lib/rmpath.mjs +7 -101
  288. package/lib/run-by-checksum/cache.cjs +69 -0
  289. package/lib/run-by-checksum/cache.d.ts +19 -0
  290. package/lib/run-by-checksum/cache.js +50 -0
  291. package/lib/run-by-checksum/cache.mjs +12 -0
  292. package/lib/run-by-checksum/hash.cjs +88 -0
  293. package/lib/run-by-checksum/hash.d.ts +17 -0
  294. package/lib/run-by-checksum/hash.js +119 -0
  295. package/lib/run-by-checksum/hash.mjs +10 -0
  296. package/lib/run-by-checksum/run.cjs +185 -0
  297. package/lib/run-by-checksum/run.d.ts +22 -0
  298. package/lib/run-by-checksum/run.js +93 -0
  299. package/lib/run-by-checksum/run.mjs +10 -0
  300. package/lib/run-by-checksum-cli.cjs +398 -0
  301. package/lib/run-by-checksum-cli.d.ts +2 -0
  302. package/lib/run-by-checksum-cli.js +43 -0
  303. package/lib/run-by-checksum-cli.mjs +56 -0
  304. package/lib/submodule-install.cjs +137 -16
  305. package/lib/submodule-install.mjs +7 -6
  306. package/lib/submodule-remove-cli.cjs +300 -7
  307. package/lib/submodule-remove-cli.js +2 -2
  308. package/lib/submodule-remove-cli.mjs +8 -3
  309. package/lib/submodule-remove.cjs +146 -5
  310. package/lib/submodule-remove.mjs +3 -1
  311. package/lib/utils/fetchResponse.cjs +24 -0
  312. package/lib/utils/fetchResponse.d.cts +25 -0
  313. package/lib/utils/fetchResponse.mjs +6 -0
  314. package/lib/utils/findEnvFiles.cjs +3 -0
  315. package/lib/utils/findEnvFiles.d.cts +2 -2
  316. package/lib/utils/findEnvFiles.mjs +1 -1
  317. package/lib/utils/index.cjs +5 -10
  318. package/lib/utils/index.d.cts +2 -9
  319. package/lib/utils/index.mjs +1 -1
  320. package/lib/utils/isWindows.mjs +3 -1
  321. package/lib/utils/runBash.cjs +1 -1
  322. package/lib/utils/runBash.mjs +1 -1
  323. package/lib/vscode/project.cjs +0 -0
  324. package/lib/vscode/project.d.ts +0 -0
  325. package/lib/vscode/project.js +1 -0
  326. package/lib/vscode/project.mjs +7 -0
  327. package/lib/vscode/storage.cjs +138 -0
  328. package/lib/vscode/storage.d.ts +51 -0
  329. package/lib/vscode/storage.js +169 -0
  330. package/lib/vscode/storage.mjs +42 -0
  331. package/lib/vscode/storage.runner.cjs +125 -0
  332. package/lib/vscode/storage.runner.d.ts +1 -0
  333. package/lib/vscode/storage.runner.js +47 -0
  334. package/lib/vscode/storage.runner.mjs +60 -0
  335. package/lib/vscode-cli.cjs +155 -0
  336. package/lib/vscode-cli.d.ts +2 -0
  337. package/lib/vscode-cli.js +80 -0
  338. package/lib/vscode-cli.mjs +71 -0
  339. package/lib/yarn-per-branch-lock-installer.cjs +202 -11
  340. package/lib/yarn-per-branch-lock-installer.mjs +24 -11
  341. package/lib/yarn-reinstall.cjs +6 -11
  342. package/lib/yarn-reinstall.mjs +1 -1
  343. package/package.json +75 -28
  344. package/readme.html +2 -2
  345. package/readme.md +44 -11
  346. package/releases/readme.md +6 -3
  347. package/src/github-workflows/generate-test-ci-step-cli.mjs +126 -0
  348. package/tmp/test-repo-runChecksum/test-complex-glob/README.md +1 -0
  349. package/tmp/test-repo-runChecksum/test-mixed-args/README.md +1 -0
  350. package/vendor/clue/ndjson-react/README.md +365 -0
  351. package/vendor/composer/pcre/README.md +189 -0
  352. package/vendor/composer/semver/README.md +99 -0
  353. package/vendor/composer/xdebug-handler/README.md +305 -0
  354. package/vendor/ergebnis/agent-detector/README.md +107 -0
  355. package/vendor/evenement/evenement/README.md +64 -0
  356. package/vendor/fidry/cpu-core-counter/README.md +138 -0
  357. package/vendor/friendsofphp/php-cs-fixer/README.md +97 -0
  358. package/vendor/psr/container/README.md +13 -0
  359. package/vendor/psr/event-dispatcher/README.md +6 -0
  360. package/vendor/psr/log/README.md +58 -0
  361. package/vendor/react/cache/README.md +367 -0
  362. package/vendor/react/child-process/README.md +619 -0
  363. package/vendor/react/dns/README.md +453 -0
  364. package/vendor/react/event-loop/README.md +930 -0
  365. package/vendor/react/promise/README.md +722 -0
  366. package/vendor/react/socket/README.md +1564 -0
  367. package/vendor/react/stream/README.md +1249 -0
  368. package/vendor/sebastian/diff/README.md +151 -0
  369. package/vendor/symfony/console/README.md +30 -0
  370. package/vendor/symfony/deprecation-contracts/README.md +26 -0
  371. package/vendor/symfony/event-dispatcher/README.md +25 -0
  372. package/vendor/symfony/event-dispatcher-contracts/README.md +9 -0
  373. package/vendor/symfony/filesystem/README.md +23 -0
  374. package/vendor/symfony/finder/README.md +24 -0
  375. package/vendor/symfony/options-resolver/README.md +25 -0
  376. package/vendor/symfony/polyfill-ctype/README.md +12 -0
  377. package/vendor/symfony/polyfill-intl-grapheme/README.md +32 -0
  378. package/vendor/symfony/polyfill-intl-normalizer/README.md +14 -0
  379. package/vendor/symfony/polyfill-mbstring/README.md +13 -0
  380. package/vendor/symfony/polyfill-php80/README.md +25 -0
  381. package/vendor/symfony/polyfill-php81/README.md +18 -0
  382. package/vendor/symfony/polyfill-php84/README.md +23 -0
  383. package/vendor/symfony/polyfill-php85/README.md +20 -0
  384. package/vendor/symfony/process/README.md +23 -0
  385. package/vendor/symfony/service-contracts/README.md +9 -0
  386. package/vendor/symfony/stopwatch/README.md +52 -0
  387. package/vendor/symfony/string/README.md +24 -0
  388. package/.opencode/package.json +0 -5
  389. package/lib/chunk-6S4NXESK.mjs +0 -26
  390. package/lib/clean-github-actions-caches.cjs +0 -249
  391. package/lib/clean-github-actions-caches.d.cts +0 -15
  392. package/lib/del-gradle.js +0 -16
  393. package/lib/del-node-modules.js +0 -211
  394. package/lib/del-ps.js +0 -32
  395. package/lib/del-ps.mjs +0 -43
  396. package/lib/find-node-modules-cli.js +0 -4
  397. package/lib/ps/isWin.d.ts +0 -2
  398. package/test/package.json +0 -20
  399. package/test-project/package.json +0 -22
  400. package/test-project/workspaces/workspace-a/package.json +0 -135
  401. package/test-project/workspaces/workspace-a/test/demo/package.json +0 -25
  402. package/test-project/workspaces/workspace-b/package.json +0 -139
  403. package/test-project/workspaces/workspace-b/test/sample-project/package.json +0 -7
  404. package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/package.json +0 -96
  405. package/tmp/rm-node-modules-test-project/package.json +0 -17
  406. package/tmp/rm-node-modules-test-project/packages/workspace-a/package.json +0 -16
  407. package/tmp/rm-node-modules-test-project/packages/workspace-b/package.json +0 -16
  408. package/tmp/test-repo/package.json +0 -17
  409. /package/lib/{clean-github-actions-caches-cli.d.cts → del-gradle.d.cts} +0 -0
  410. /package/lib/{del-gradle.d.ts → del-node-modules.d.cts} +0 -0
  411. /package/lib/{del-node-modules.d.ts → del-ps-cli.d.mts} +0 -0
  412. /package/lib/{find-node-modules-cli.d.ts → downloader-cli.d.cts} +0 -0
  413. /package/lib/{git-diff-cli.d.ts → find-node-modules-cli.d.cts} +0 -0
  414. /package/lib/{git-fix.d.cts → git/git-diff-cli.d.ts} +0 -0
  415. /package/lib/{git-diff-cli.js → git/git-diff-cli.js} +0 -0
  416. /package/lib/{git-diff.d.ts → git/git-diff.d.ts} +0 -0
  417. /package/lib/{git-purge.d.cts → git/git-purge.d.cts} +0 -0
  418. /package/lib/{del-ps.d.ts → github-workflows/clean-github-actions-caches-cli.d.cts} +0 -0
@@ -0,0 +1,113 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_utils as require_utils2
4
+ } from "./chunk-A3VUZEJK.mjs";
5
+ import {
6
+ require_config
7
+ } from "./chunk-SWUAEY4H.mjs";
8
+ import {
9
+ require_utils
10
+ } from "./chunk-6RK5UCTP.mjs";
11
+ import {
12
+ __commonJS,
13
+ __require,
14
+ init_esm_shims
15
+ } from "./chunk-QQ4A6DLD.mjs";
16
+
17
+ // src/git/user-config.cjs
18
+ var require_user_config = __commonJS({
19
+ "src/git/user-config.cjs"(exports, module) {
20
+ init_esm_shims();
21
+ var { loadDotenv } = require_config();
22
+ var gch = __require("git-command-helper");
23
+ var { runGitCommand, runGitCommandOutput } = require_utils2();
24
+ var { getArgs } = require_utils();
25
+ loadDotenv();
26
+ function configureGitUser(cliUser = null, cliEmail = null, options = {}) {
27
+ console.log("\n=== Configuring Git User ===");
28
+ let username, email;
29
+ if (cliUser && cliEmail) {
30
+ username = cliUser.trim();
31
+ email = cliEmail.trim();
32
+ console.log("[i] Using CLI-provided user configuration");
33
+ } else {
34
+ username = process.env.GITHUB_USER ? process.env.GITHUB_USER.trim() : void 0;
35
+ email = process.env.GITHUB_EMAIL ? process.env.GITHUB_EMAIL.trim() : void 0;
36
+ if (username || email) {
37
+ console.log("[i] Using environment variable user configuration");
38
+ }
39
+ }
40
+ if (!username && !email) {
41
+ console.log("[i] No Git user configuration needed (no CLI args or environment variables set)");
42
+ return;
43
+ }
44
+ if (username) {
45
+ const success = runGitCommand(["config", "user.name", username], `Set Git username to "${username}"`);
46
+ if (!success) {
47
+ console.log("[i] Failed to set Git username, but continuing...");
48
+ }
49
+ } else {
50
+ console.log("[i] No username provided, skipping username configuration");
51
+ }
52
+ if (email) {
53
+ const success = runGitCommand(["config", "user.email", email], `Set Git email to "${email}"`);
54
+ if (!success) {
55
+ console.log("[i] Failed to set Git email, but continuing...");
56
+ }
57
+ } else {
58
+ console.log("[i] No email provided, skipping email configuration");
59
+ }
60
+ if (username || email) {
61
+ console.log("[\u2713] Git user configuration completed");
62
+ }
63
+ if (username) {
64
+ const remoteUrl = runGitCommandOutput(["remote", "get-url", "origin"], "Fetching remote URL for verification");
65
+ if (remoteUrl) {
66
+ console.log(`[i] Remote URL: ${remoteUrl}`);
67
+ const parsedUrl = gch.parseGitHubUrl(remoteUrl);
68
+ if (parsedUrl && parsedUrl.owner && username && parsedUrl.owner.toLowerCase() !== username.toLowerCase()) {
69
+ console.warn(
70
+ `
71
+ [!] The GitHub remote owner ("${parsedUrl.owner}") does not match the configured username ("${username}").`
72
+ );
73
+ console.warn(`[!] If this is not intentional, consider updating the remote URL to use your username.`);
74
+ console.warn(`[!] Example: git remote set-url origin https://github.com/${username}/<repo>.git
75
+ `);
76
+ const args = getArgs();
77
+ const updateRemote = options.updateRemote || args["update-remote"] === true;
78
+ if (updateRemote) {
79
+ let newUrl = remoteUrl;
80
+ if (/^https:\/\//.test(remoteUrl)) {
81
+ newUrl = remoteUrl.replace(/https:\/\/(?:[^@]+@)?github.com/, `https://${username}@github.com`);
82
+ } else if (/^git@github.com:/.test(remoteUrl)) {
83
+ console.warn(
84
+ `[!] For SSH remotes, set your SSH config or use HTTPS with username if you want to change authentication user.`
85
+ );
86
+ return;
87
+ }
88
+ if (newUrl !== remoteUrl) {
89
+ const updated = runGitCommand(["remote", "set-url", "origin", newUrl], `Set origin to ${newUrl}`);
90
+ if (updated) {
91
+ console.log(`[\u2713] Remote URL updated to: ${newUrl}`);
92
+ } else {
93
+ console.warn(`[!] Failed to update remote URL. Please update it manually if needed.`);
94
+ }
95
+ } else {
96
+ console.log(`[i] Remote URL does not use HTTPS or already contains the username.`);
97
+ }
98
+ } else {
99
+ console.log(`[i] Remote URL not changed. Use --update-remote to update automatically.`);
100
+ }
101
+ }
102
+ }
103
+ }
104
+ }
105
+ module.exports = {
106
+ configureGitUser
107
+ };
108
+ }
109
+ });
110
+
111
+ export {
112
+ require_user_config
113
+ };
@@ -0,0 +1,164 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_config
4
+ } from "./chunk-PAZH45HS.mjs";
5
+ import {
6
+ __toESM,
7
+ init_esm_shims
8
+ } from "./chunk-QQ4A6DLD.mjs";
9
+
10
+ // src/github-workflows/get-latest-workflow-status.mjs
11
+ init_esm_shims();
12
+ var import_config = __toESM(require_config(), 1);
13
+ import axios from "axios";
14
+ import { spawn } from "cross-spawn";
15
+ if (!import_config.GITHUB_ACCESS_TOKEN) {
16
+ console.error("Missing env var: ACCESS_TOKEN or GITHUB_TOKEN");
17
+ process.exit(1);
18
+ }
19
+ var BASE = "https://api.github.com";
20
+ var headers = {
21
+ Authorization: `Bearer ${import_config.GITHUB_ACCESS_TOKEN}`,
22
+ Accept: "application/vnd.github+json",
23
+ "X-GitHub-Api-Version": "2022-11-28"
24
+ };
25
+ async function request(url) {
26
+ try {
27
+ const res = await axios.get(url, { headers });
28
+ return res.data;
29
+ } catch (err) {
30
+ if (err == null ? void 0 : err.response) {
31
+ const statusText = err.response.statusText || "Request failed";
32
+ const responseText = typeof err.response.data === "string" ? err.response.data : JSON.stringify(err.response.data);
33
+ throw new Error(`${err.response.status} ${statusText}
34
+ ${responseText}`);
35
+ }
36
+ throw err;
37
+ }
38
+ }
39
+ function runGit(args) {
40
+ return new Promise((resolve, reject) => {
41
+ var _a, _b;
42
+ const child = spawn("git", args, {
43
+ cwd: process.cwd(),
44
+ stdio: ["ignore", "pipe", "pipe"]
45
+ });
46
+ let stdout = "";
47
+ let stderr = "";
48
+ (_a = child.stdout) == null ? void 0 : _a.on("data", (chunk) => {
49
+ stdout += chunk.toString();
50
+ });
51
+ (_b = child.stderr) == null ? void 0 : _b.on("data", (chunk) => {
52
+ stderr += chunk.toString();
53
+ });
54
+ child.on("error", reject);
55
+ child.on("close", (code) => {
56
+ if (code === 0) {
57
+ resolve(stdout.trim());
58
+ return;
59
+ }
60
+ reject(new Error(stderr.trim() || `git ${args.join(" ")} exited with code ${code}`));
61
+ });
62
+ });
63
+ }
64
+ function getOwnerFromRemoteUrl(remoteUrl) {
65
+ var _a;
66
+ const normalized = remoteUrl.trim().replace(/\.git$/i, "");
67
+ const match = normalized.match(/github\.com[:/](?<owner>[^/]+)\/(?<repo>[^/]+)$/i);
68
+ return ((_a = match == null ? void 0 : match.groups) == null ? void 0 : _a.owner) || null;
69
+ }
70
+ function getRepoFromRemoteUrl(remoteUrl) {
71
+ var _a;
72
+ const normalized = remoteUrl.trim().replace(/\.git$/i, "");
73
+ const match = normalized.match(/github\.com[:/](?<owner>[^/]+)\/(?<repo>[^/]+)$/i);
74
+ return ((_a = match == null ? void 0 : match.groups) == null ? void 0 : _a.repo) || null;
75
+ }
76
+ async function getCurrentOwner() {
77
+ const commands = [
78
+ ["config", "--local", "--get", "remote.origin.url"],
79
+ ["remote", "get-url", "origin"]
80
+ ];
81
+ for (const args of commands) {
82
+ try {
83
+ const remoteUrl = await runGit(args);
84
+ const owner = getOwnerFromRemoteUrl(remoteUrl);
85
+ if (owner) {
86
+ return owner;
87
+ }
88
+ } catch {
89
+ }
90
+ }
91
+ throw new Error("Unable to determine repository owner from git remote.origin.url");
92
+ }
93
+ async function getCurrentRepo() {
94
+ const commands = [
95
+ ["config", "--local", "--get", "remote.origin.url"],
96
+ ["remote", "get-url", "origin"]
97
+ ];
98
+ for (const args of commands) {
99
+ try {
100
+ const remoteUrl = await runGit(args);
101
+ const repo = getRepoFromRemoteUrl(remoteUrl);
102
+ if (repo) {
103
+ return repo;
104
+ }
105
+ } catch {
106
+ }
107
+ }
108
+ throw new Error("Unable to determine repository name from git remote.origin.url");
109
+ }
110
+ async function getLatestRun(owner, repo, workflowId) {
111
+ var _a;
112
+ let url;
113
+ if (workflowId) {
114
+ url = `${BASE}/repos/${owner}/${repo}/actions/workflows/${encodeURIComponent(workflowId)}/runs?per_page=1`;
115
+ } else {
116
+ url = `${BASE}/repos/${owner}/${repo}/actions/runs?per_page=1`;
117
+ }
118
+ const data = await request(url);
119
+ return (_a = data.workflow_runs) == null ? void 0 : _a[0];
120
+ }
121
+ async function getJobs(owner, repo, runId) {
122
+ const url = `${BASE}/repos/${owner}/${repo}/actions/runs/${runId}/jobs`;
123
+ const data = await request(url);
124
+ return data.jobs || [];
125
+ }
126
+ function printReport(run, jobs) {
127
+ var _a;
128
+ console.log("\n==============================");
129
+ console.log("\u{1F680} Latest Workflow Run");
130
+ console.log("==============================");
131
+ console.log(`Name : ${run.name}`);
132
+ console.log(`Status : ${run.status}`);
133
+ console.log(`Conclusion: ${run.conclusion}`);
134
+ console.log(`Branch : ${run.head_branch}`);
135
+ console.log(`Run ID : ${run.id}`);
136
+ console.log(`URL : ${run.html_url}`);
137
+ console.log("\n==============================");
138
+ console.log("\u{1F9E9} Jobs & Steps");
139
+ console.log("==============================\n");
140
+ for (const job of jobs) {
141
+ console.log(`\u{1F9F1} Job: ${job.name}`);
142
+ console.log(` Status: ${job.status} | Conclusion: ${job.conclusion}`);
143
+ if (!((_a = job.steps) == null ? void 0 : _a.length)) {
144
+ console.log(" (no steps found)\n");
145
+ continue;
146
+ }
147
+ for (const step of job.steps) {
148
+ const icon = step.conclusion === "success" ? "\u2705" : step.conclusion === "failure" ? "\u274C" : step.conclusion === "skipped" ? "\u23ED\uFE0F" : "\u26AA";
149
+ console.log(` ${icon} ${step.name} -> ${step.conclusion} (${step.status})`);
150
+ }
151
+ console.log("");
152
+ }
153
+ }
154
+
155
+ export {
156
+ request,
157
+ getOwnerFromRemoteUrl,
158
+ getRepoFromRemoteUrl,
159
+ getCurrentOwner,
160
+ getCurrentRepo,
161
+ getLatestRun,
162
+ getJobs,
163
+ printReport
164
+ };
@@ -0,0 +1,44 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-QQ4A6DLD.mjs";
5
+
6
+ // src/run-by-checksum/hash.js
7
+ init_esm_shims();
8
+ import fs from "fs-extra";
9
+ import * as glob from "glob";
10
+ import upath from "upath";
11
+ import path from "upath";
12
+ import crypto from "crypto";
13
+ function getAllFiles({ patterns, ignore, cwd }) {
14
+ const files = /* @__PURE__ */ new Set();
15
+ const root = cwd || process.cwd();
16
+ for (const pattern of patterns) {
17
+ const matched = glob.sync(pattern, {
18
+ cwd: root,
19
+ nodir: true,
20
+ ignore
21
+ });
22
+ for (const f of matched) {
23
+ files.add(upath.normalize(path.resolve(root, f)));
24
+ }
25
+ }
26
+ return [...files].sort();
27
+ }
28
+ function hashFile(file) {
29
+ const content = fs.readFileSync(file);
30
+ return crypto.createHash("sha256").update(content).digest("hex");
31
+ }
32
+ function buildChecksum(files) {
33
+ const hash = crypto.createHash("sha256");
34
+ for (const file of files) {
35
+ hash.update(file);
36
+ hash.update(hashFile(file));
37
+ }
38
+ return hash.digest("hex");
39
+ }
40
+
41
+ export {
42
+ getAllFiles,
43
+ buildChecksum
44
+ };
@@ -0,0 +1,183 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-QQ4A6DLD.mjs";
5
+
6
+ // src/github-workflows/workflow-badge-generator.mjs
7
+ init_esm_shims();
8
+ var COLORS = {
9
+ success: "#2da44e",
10
+ failure: "#cf222e",
11
+ cancelled: "#656d76",
12
+ skipped: "#656d76",
13
+ inProgress: "#d4920b",
14
+ pending: "#656d76",
15
+ unknown: "#656d76",
16
+ text: "#1f2328",
17
+ textSecondary: "#656d76",
18
+ border: "#d0d7de",
19
+ bg: "#ffffff",
20
+ cardBg: "#f6f8fa"
21
+ };
22
+ function getStatusMeta(run) {
23
+ const { status, conclusion } = run;
24
+ if (conclusion === "success") return { label: "Passing", color: COLORS.success };
25
+ if (conclusion === "failure") return { label: "Failing", color: COLORS.failure };
26
+ if (conclusion === "cancelled") return { label: "Cancelled", color: COLORS.cancelled };
27
+ if (conclusion === "skipped") return { label: "Skipped", color: COLORS.skipped };
28
+ if (status === "in_progress") return { label: "In Progress", color: COLORS.inProgress };
29
+ if (status === "queued" || status === "pending") return { label: "Pending", color: COLORS.pending };
30
+ return { label: status || "Unknown", color: COLORS.unknown };
31
+ }
32
+ function esc(str) {
33
+ return String(str).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
34
+ }
35
+ function countSteps(jobs) {
36
+ let total = 0, passed = 0, failed = 0, skipped = 0, pending = 0;
37
+ for (const job of jobs) {
38
+ for (const step of job.steps || []) {
39
+ total++;
40
+ if (step.conclusion === "success") passed++;
41
+ else if (step.conclusion === "failure") failed++;
42
+ else if (step.conclusion === "skipped") skipped++;
43
+ else pending++;
44
+ }
45
+ }
46
+ return { total, passed, failed, skipped, pending };
47
+ }
48
+ function jobColor(job) {
49
+ if (job.conclusion === "success") return COLORS.success;
50
+ if (job.conclusion === "failure") return COLORS.failure;
51
+ if (job.status === "in_progress") return COLORS.inProgress;
52
+ return COLORS.pending;
53
+ }
54
+ function generateBadge(run, jobs, options = {}) {
55
+ const width = options.width || 520;
56
+ const maxSteps = options.maxSteps;
57
+ const { label: statusLabel, color: accentColor } = getStatusMeta(run);
58
+ const steps = countSteps(jobs);
59
+ const PAD = 20;
60
+ const W = width;
61
+ const RIGHT = width - PAD;
62
+ const INNER_W = RIGHT - PAD;
63
+ const els = [];
64
+ const el = (str) => els.push(str);
65
+ const LABEL_X = PAD;
66
+ const VALUE_X = 110;
67
+ let yCursor = 0;
68
+ const divider = () => {
69
+ yCursor += 4;
70
+ el(`<line x1="${PAD}" y1="${yCursor}" x2="${RIGHT}" y2="${yCursor}" stroke="${COLORS.border}" stroke-width="1"/>`);
71
+ yCursor += 5;
72
+ };
73
+ const sectionHeading = (text) => {
74
+ yCursor += 8;
75
+ el(
76
+ `<text x="${PAD}" y="${yCursor + 13}" font-size="11" font-weight="700" fill="${COLORS.textSecondary}" letter-spacing="0.5">${esc(text)}</text>`
77
+ );
78
+ yCursor += 22;
79
+ };
80
+ el(`<rect x="0" y="0" width="${W}" height="4" fill="${accentColor}"/>`);
81
+ yCursor = 4;
82
+ yCursor += 14;
83
+ const titleBaseline = yCursor + 15;
84
+ el(
85
+ `<text x="${PAD}" y="${titleBaseline}" font-size="15" font-weight="700" fill="${COLORS.text}">Workflow Status</text>`
86
+ );
87
+ const pillText = statusLabel;
88
+ const pillTextW = pillText.length * 7.8 + 32;
89
+ const pillX = RIGHT - pillTextW;
90
+ const pillY = titleBaseline - 12;
91
+ el(`<rect x="${pillX}" y="${pillY}" width="${pillTextW}" height="22" rx="11" fill="${accentColor}" opacity="0.12"/>`);
92
+ el(`<circle cx="${pillX + 14}" cy="${titleBaseline - 2}" r="4.5" fill="${accentColor}"/>`);
93
+ el(
94
+ `<text x="${pillX + 24}" y="${titleBaseline + 1}" font-size="12" font-weight="600" fill="${accentColor}">${esc(pillText)}</text>`
95
+ );
96
+ yCursor = titleBaseline + 4;
97
+ divider();
98
+ const metaRows = [
99
+ { label: "Workflow", value: run.name || "" },
100
+ { label: "Status", value: `${run.status}${run.conclusion ? ` (${run.conclusion})` : ""}` },
101
+ { label: "Branch", value: run.head_branch || "" },
102
+ { label: "Run ID", value: `#${run.id || ""}` }
103
+ ];
104
+ for (const row of metaRows) {
105
+ const rowBaseline = yCursor + 14;
106
+ el(
107
+ `<text x="${LABEL_X}" y="${rowBaseline}" font-size="12" fill="${COLORS.textSecondary}">${esc(row.label)}</text>`
108
+ );
109
+ el(
110
+ `<text x="${VALUE_X}" y="${rowBaseline}" font-size="13" fill="${COLORS.text}" font-weight="500">${esc(row.value)}</text>`
111
+ );
112
+ yCursor += 22;
113
+ }
114
+ divider();
115
+ sectionHeading("JOBS");
116
+ for (const job of jobs) {
117
+ const jColor = jobColor(job);
118
+ const jStatus = job.conclusion || job.status;
119
+ el(`<rect x="${PAD}" y="${yCursor}" width="${INNER_W}" height="28" rx="6" fill="${COLORS.cardBg}"/>`);
120
+ el(
121
+ `<text x="${PAD + 10}" y="${yCursor + 18}" font-size="13" font-weight="600" fill="${COLORS.text}">${esc(job.name)}</text>`
122
+ );
123
+ const jobStatusX = RIGHT - 14;
124
+ el(`<circle cx="${jobStatusX - 16}" cy="${yCursor + 14}" r="3.5" fill="${jColor}"/>`);
125
+ el(
126
+ `<text x="${jobStatusX}" y="${yCursor + 18}" font-size="11" fill="${COLORS.textSecondary}" text-anchor="end">${esc(jStatus)}</text>`
127
+ );
128
+ yCursor += 34;
129
+ if (job.steps && job.steps.length > 0) {
130
+ const stepsToRender = maxSteps ? job.steps.slice(0, maxSteps) : job.steps;
131
+ const hiddenCount = maxSteps ? job.steps.length - maxSteps : 0;
132
+ for (const step of stepsToRender) {
133
+ const sIcon = step.conclusion === "success" ? "\u2713" : step.conclusion === "failure" ? "\u2717" : step.conclusion === "skipped" ? "\u2013" : "\u25CB";
134
+ const sColor = step.conclusion === "success" ? COLORS.success : step.conclusion === "failure" ? COLORS.failure : step.conclusion === "skipped" ? COLORS.textSecondary : COLORS.inProgress;
135
+ el(`<text x="${PAD + 18}" y="${yCursor + 13}" font-size="12" fill="${sColor}">${sIcon}</text>`);
136
+ let stepName = step.name || "";
137
+ const maxChars = 52;
138
+ if (stepName.length > maxChars) {
139
+ stepName = stepName.slice(0, maxChars - 3) + "...";
140
+ }
141
+ el(`<text x="${PAD + 36}" y="${yCursor + 13}" font-size="12" fill="${COLORS.text}">${esc(stepName)}</text>`);
142
+ const stepStatus = step.conclusion || step.status || "";
143
+ el(
144
+ `<text x="${RIGHT}" y="${yCursor + 13}" font-size="11" fill="${COLORS.textSecondary}" text-anchor="end">${esc(stepStatus)}</text>`
145
+ );
146
+ yCursor += 20;
147
+ }
148
+ if (hiddenCount > 0) {
149
+ el(
150
+ `<text x="${PAD + 18}" y="${yCursor + 13}" font-size="12" fill="${COLORS.textSecondary}" font-style="italic">and ${hiddenCount} more step${hiddenCount !== 1 ? "s" : ""}...</text>`
151
+ );
152
+ yCursor += 20;
153
+ }
154
+ yCursor += 4;
155
+ }
156
+ }
157
+ divider();
158
+ const footerParts = [];
159
+ if (steps.passed > 0) footerParts.push(`${steps.passed} \u2713 passed`);
160
+ if (steps.failed > 0) footerParts.push(`${steps.failed} \u2717 failed`);
161
+ if (steps.pending > 0) footerParts.push(`${steps.pending} \u25CB pending`);
162
+ if (steps.skipped > 0) footerParts.push(`${steps.skipped} \u2013 skipped`);
163
+ const footerText = footerParts.length > 0 ? footerParts.join(" \xB7 ") : "No steps recorded";
164
+ el(`<text x="${PAD}" y="${yCursor + 13}" font-size="12" fill="${COLORS.textSecondary}">${esc(footerText)}</text>`);
165
+ yCursor += 22;
166
+ const totalHeight = yCursor + 6;
167
+ const svg = [
168
+ `<svg xmlns="http://www.w3.org/2000/svg" width="${W}" height="${totalHeight}" viewBox="0 0 ${W} ${totalHeight}" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif">`,
169
+ ` <defs>`,
170
+ ` <filter id="badge-shadow" x="-2%" y="-2%" width="104%" height="104%">`,
171
+ ` <feDropShadow dx="0" dy="1" stdDeviation="3" flood-color="#000" flood-opacity="0.12"/>`,
172
+ ` </filter>`,
173
+ ` </defs>`,
174
+ ` <rect x="0.5" y="0.5" width="${W - 1}" height="${totalHeight - 1}" rx="8" fill="${COLORS.bg}" stroke="${COLORS.border}" stroke-width="1" filter="url(#badge-shadow)"/>`,
175
+ ...els,
176
+ `</svg>`
177
+ ].join("\n");
178
+ return svg;
179
+ }
180
+
181
+ export {
182
+ generateBadge
183
+ };
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  require_package
4
- } from "./chunk-ZOWVMII3.mjs";
4
+ } from "./chunk-AJ3OIYYP.mjs";
5
5
  import {
6
6
  __commonJS,
7
7
  __dirname,
@@ -0,0 +1,82 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-QQ4A6DLD.mjs";
5
+
6
+ // src/opencode/storage.ts
7
+ init_esm_shims();
8
+ import path from "upath";
9
+ import os from "os";
10
+ import fs from "fs-extra";
11
+ import { parse as parseJsonc } from "jsonc-parser";
12
+ var OPCODE_DIR = path.join(os.homedir(), ".local/share/opencode");
13
+ var CONFIG_DIR = path.join(os.homedir(), ".config/opencode");
14
+ var CACHE_DIR = path.join(os.homedir(), ".cache/opencode");
15
+ var LOG_DIR = path.join(OPCODE_DIR, "log");
16
+ var AUTH_PATH = path.join(OPCODE_DIR, "auth.json");
17
+ var PROJECT_DIR = path.join(OPCODE_DIR, "project");
18
+ var STORAGE_PATH = path.join(OPCODE_DIR, "storage");
19
+ var SESSION_PATH = path.join(STORAGE_PATH, "session");
20
+ var SESSION_DIFF_DIR = path.join(STORAGE_PATH, "session_diff");
21
+ var DATABASE_PATH = path.join(OPCODE_DIR, "opencode.db");
22
+ async function scanJson(dir) {
23
+ const results = [];
24
+ try {
25
+ const entries = await fs.readdir(dir);
26
+ for (const entry of entries) {
27
+ if (!entry.endsWith(".json")) continue;
28
+ const content = await fs.readFile(path.join(dir, entry), "utf-8");
29
+ results.push(JSON.parse(content));
30
+ }
31
+ } catch {
32
+ }
33
+ return results;
34
+ }
35
+ async function scanDirs(dir) {
36
+ try {
37
+ const entries = await fs.readdir(dir, { withFileTypes: true });
38
+ return entries.filter((e) => e.isDirectory()).map((e) => e.name);
39
+ } catch {
40
+ return [];
41
+ }
42
+ }
43
+ async function readJson(filePath) {
44
+ try {
45
+ const content = await fs.readFile(filePath, "utf-8");
46
+ return parseJsonc(content);
47
+ } catch {
48
+ return null;
49
+ }
50
+ }
51
+ function getSessionFileById(sessionId) {
52
+ return path.join(SESSION_DIFF_DIR, `${sessionId}.json`);
53
+ }
54
+ function getOpenCodeAuth() {
55
+ const file = path.join(OPCODE_DIR, "auth.json");
56
+ if (!fs.existsSync(file)) return null;
57
+ return readJson(file);
58
+ }
59
+ async function saveOpenCodeAuth(auth) {
60
+ const file = path.join(OPCODE_DIR, "auth.json");
61
+ await fs.ensureFile(file);
62
+ await fs.writeFile(file, JSON.stringify(auth, null, 2), "utf-8");
63
+ }
64
+
65
+ export {
66
+ OPCODE_DIR,
67
+ CONFIG_DIR,
68
+ CACHE_DIR,
69
+ LOG_DIR,
70
+ AUTH_PATH,
71
+ PROJECT_DIR,
72
+ STORAGE_PATH,
73
+ SESSION_PATH,
74
+ SESSION_DIFF_DIR,
75
+ DATABASE_PATH,
76
+ scanJson,
77
+ scanDirs,
78
+ readJson,
79
+ getSessionFileById,
80
+ getOpenCodeAuth,
81
+ saveOpenCodeAuth
82
+ };
@@ -0,0 +1,86 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ getCacheFile,
4
+ loadCache,
5
+ saveCache
6
+ } from "./chunk-QD4T255Z.mjs";
7
+ import {
8
+ buildChecksum,
9
+ getAllFiles
10
+ } from "./chunk-MCCMMZSM.mjs";
11
+ import {
12
+ init_esm_shims
13
+ } from "./chunk-QQ4A6DLD.mjs";
14
+
15
+ // src/run-by-checksum/run.js
16
+ init_esm_shims();
17
+ import { spawn } from "child_process";
18
+ async function runChecksum({
19
+ patterns = [],
20
+ ignore = [],
21
+ exec,
22
+ cwd = process.env.INIT_CWD || process.cwd(),
23
+ dryRun = false
24
+ }) {
25
+ if (!patterns.length && !exec) {
26
+ console.log("No patterns or command provided, skipping checksum runner.");
27
+ process.exit(1);
28
+ }
29
+ if (!exec) {
30
+ console.log("No command provided, skipping checksum runner.");
31
+ process.exit(1);
32
+ }
33
+ if (!patterns.length) {
34
+ console.log("No patterns provided, skipping checksum runner.");
35
+ process.exit(1);
36
+ }
37
+ const files = getAllFiles({ patterns, ignore, cwd });
38
+ const checksum = buildChecksum(files);
39
+ const cacheFile = getCacheFile({ patterns, ignore, cwd });
40
+ const cache = loadCache(cacheFile);
41
+ if ((cache == null ? void 0 : cache.checksum) === checksum) {
42
+ return {
43
+ changed: false,
44
+ cacheFile,
45
+ files
46
+ };
47
+ }
48
+ if (dryRun) {
49
+ return {
50
+ changed: true,
51
+ cacheFile,
52
+ files,
53
+ skipped: true
54
+ };
55
+ }
56
+ await runCommand(exec, cwd);
57
+ saveCache(cacheFile, {
58
+ checksum,
59
+ files,
60
+ patterns,
61
+ ignore,
62
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
63
+ });
64
+ return {
65
+ changed: true,
66
+ cacheFile,
67
+ files
68
+ };
69
+ }
70
+ function runCommand(command, cwd) {
71
+ return new Promise((resolve, reject) => {
72
+ const child = spawn(command, {
73
+ shell: true,
74
+ stdio: "inherit",
75
+ cwd
76
+ });
77
+ child.on("exit", (code) => {
78
+ if (code === 0 || code === null) resolve();
79
+ else reject(new Error(`Command failed: ${code}`));
80
+ });
81
+ });
82
+ }
83
+
84
+ export {
85
+ runChecksum
86
+ };