binary-collections 2.0.13 → 2.0.15

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 (303) hide show
  1. package/.opencode/plugins/opencode-request-logger/README.md +44 -0
  2. package/.venv/Lib/site-packages/pyarrow/tests/data/orc/README.md +22 -0
  3. package/binaries/binary-executor.cjs +307 -238
  4. package/binaries/clean-nodemodule.cjs +307 -238
  5. package/binaries/clean-nodemodules.cjs +307 -238
  6. package/binaries/composer.cjs +323 -0
  7. package/binaries/composer.cmd +2 -0
  8. package/binaries/composer.phar +0 -0
  9. package/binaries/dev.cjs +307 -238
  10. package/binaries/empty.cjs +307 -238
  11. package/binaries/git-reduce-size.cjs +307 -238
  12. package/binaries/javakill.cjs +307 -238
  13. package/binaries/kill-process.cjs +307 -238
  14. package/binaries/nodekill.cjs +307 -238
  15. package/binaries/prod.cjs +307 -238
  16. package/binaries/py.cjs +307 -238
  17. package/binaries/rmfind.cjs +307 -238
  18. package/binaries/rmx.cjs +307 -238
  19. package/binaries/submodule-token.cjs +307 -238
  20. package/binaries/test-cjs.cjs +307 -238
  21. package/binaries/test-esm.cjs +307 -238
  22. package/binaries/yarn-clean.cjs +307 -238
  23. package/binaries/yc.cjs +307 -238
  24. package/binaries/ycw.cjs +307 -238
  25. package/docs-src/binary-collections.md +1 -1
  26. package/docs-src/clean-github-actions-caches.md +1 -1
  27. package/docs-src/copy-move-file.md +1 -4
  28. package/docs-src/del-ps.md +1 -1
  29. package/docs-src/find-node-modules.md +1 -1
  30. package/docs-src/generate-test-ci.md +56 -0
  31. package/docs-src/get-latest-workflow-status.md +100 -0
  32. package/docs-src/git-diff.md +1 -1
  33. package/docs-src/git-fix.md +1 -1
  34. package/docs-src/git-purge.md +1 -1
  35. package/docs-src/install-opencode-plugins.md +86 -0
  36. package/docs-src/kill-night-crows.md +1 -1
  37. package/docs-src/node-cache-cleaner.md +2 -2
  38. package/docs-src/node-package-packer.md +1 -1
  39. package/docs-src/opencode-cli.md +155 -0
  40. package/docs-src/package-resolutions-updater.md +1 -1
  41. package/docs-src/rmpath.md +1 -1
  42. package/docs-src/run-by-checksum.md +1 -1
  43. package/docs-src/submodule-remove.md +1 -1
  44. package/docs-src/upload-backend.md +29 -0
  45. package/docs-src/vscode-cli.md +84 -0
  46. package/docs-src/workflow-badge.md +120 -0
  47. package/lib/binary-collections/config-types.cjs +17 -0
  48. package/lib/binary-collections/config-types.d.ts +12 -0
  49. package/lib/binary-collections/config-types.js +2 -0
  50. package/lib/binary-collections/config-types.mjs +7 -0
  51. package/lib/binary-collections/config.cjs +28 -8
  52. package/lib/binary-collections/config.d.cts +26 -8
  53. package/lib/binary-collections/config.mjs +2 -2
  54. package/lib/binary-collections/findScript.cjs +49 -25
  55. package/lib/binary-collections/findScript.mjs +2 -2
  56. package/lib/binary-collections/listScript.cjs +49 -25
  57. package/lib/binary-collections/listScript.mjs +2 -2
  58. package/lib/binary-collections.cjs +49 -25
  59. package/lib/binary-collections.mjs +6 -6
  60. package/lib/changelog.cjs +142 -4
  61. package/lib/changelog.mjs +9 -5
  62. package/lib/chunk-3T6AMFI3.mjs +52 -0
  63. package/lib/{chunk-2MN4VPV2.mjs → chunk-3ZF2QMDK.mjs} +4 -4
  64. package/lib/chunk-56BVU63B.mjs +86 -0
  65. package/lib/chunk-7N52Z4IJ.mjs +39 -0
  66. package/lib/chunk-B77D3SR4.mjs +28 -0
  67. package/lib/chunk-BPED62FN.mjs +115 -0
  68. package/lib/{chunk-RDN6HF5Z.mjs → chunk-DHFRWM2W.mjs} +1 -1
  69. package/lib/chunk-DPEE3FBB.mjs +146 -0
  70. package/lib/{chunk-MGPYPKIE.mjs → chunk-H7AE4IO3.mjs} +5 -1
  71. package/lib/{chunk-H44UWUFY.mjs → chunk-J4M5EL5P.mjs} +3 -0
  72. package/lib/chunk-KCJYREA2.mjs +67 -0
  73. package/lib/chunk-LACQTD5V.mjs +225 -0
  74. package/lib/{chunk-TBWXE7ST.mjs → chunk-NHD4HLSU.mjs} +24 -31
  75. package/lib/{chunk-RDGDLSPD.mjs → chunk-OWNVMKAA.mjs} +6 -5
  76. package/lib/chunk-SKVF4TMD.mjs +59 -0
  77. package/lib/{chunk-BZWVHODJ.mjs → chunk-TDUUOAQD.mjs} +5 -5
  78. package/lib/chunk-TP3O2JGW.mjs +88 -0
  79. package/lib/{chunk-FLYSZFLW.mjs → chunk-UAEKSLAX.mjs} +1 -1
  80. package/lib/chunk-UDZBVKXH.mjs +94 -0
  81. package/lib/chunk-UEOWRYAN.mjs +32 -0
  82. package/lib/chunk-V6PTSDW5.mjs +82 -0
  83. package/lib/{chunk-NQXUYO67.mjs → chunk-WNUEY6VJ.mjs} +49 -25
  84. package/lib/chunk-X7UVQ6ZC.mjs +183 -0
  85. package/lib/chunk-XW5NZAKI.mjs +82 -0
  86. package/lib/{chunk-LVSPEFU2.mjs → chunk-Z53IUBUN.mjs} +6 -5
  87. package/lib/{chunk-CD3HF3LK.mjs → chunk-Z7RM46Q4.mjs} +5 -11
  88. package/lib/chunk-ZB4IQ6VJ.mjs +46 -0
  89. package/lib/del-gradle.cjs +1 -1
  90. package/lib/del-gradle.mjs +22 -16
  91. package/lib/del-node-modules.cjs +1 -1
  92. package/lib/del-node-modules.mjs +148 -142
  93. package/lib/find-node-modules-cli.cjs +1 -1
  94. package/lib/find-node-modules-cli.mjs +10 -4
  95. package/lib/{git-diff-cli.cjs → git/git-diff-cli.cjs} +32 -12
  96. package/lib/{git-diff-cli.mjs → git/git-diff-cli.mjs} +7 -7
  97. package/lib/{git-diff.cjs → git/git-diff.cjs} +30 -10
  98. package/lib/{git-diff.js → git/git-diff.js} +3 -3
  99. package/lib/{git-diff.mjs → git/git-diff.mjs} +6 -6
  100. package/lib/{git-fix.cjs → git/git-fix.cjs} +142 -3
  101. package/lib/{git-fix.mjs → git/git-fix.mjs} +19 -14
  102. package/lib/{git-purge.cjs → git/git-purge.cjs} +1 -1
  103. package/lib/{git-purge.mjs → git/git-purge.mjs} +4 -4
  104. package/lib/git/user-config.cjs +139 -1
  105. package/lib/git/user-config.mjs +3 -1
  106. package/lib/{clean-github-actions-caches-cli.cjs → github-workflows/clean-github-actions-caches-cli.cjs} +46 -10
  107. package/lib/{clean-github-actions-caches-cli.mjs → github-workflows/clean-github-actions-caches-cli.mjs} +7 -6
  108. package/lib/{clean-github-actions-caches.cjs → github-workflows/clean-github-actions-caches.cjs} +46 -10
  109. package/lib/{clean-github-actions-caches.mjs → github-workflows/clean-github-actions-caches.mjs} +5 -4
  110. package/lib/github-workflows/generate-test-ci-step-cli.cjs +240 -0
  111. package/lib/github-workflows/generate-test-ci-step-cli.d.mts +2 -0
  112. package/lib/github-workflows/generate-test-ci-step-cli.mjs +132 -0
  113. package/lib/github-workflows/get-latest-workflow-status-cli.cjs +549 -0
  114. package/lib/github-workflows/get-latest-workflow-status-cli.d.mts +2 -0
  115. package/lib/github-workflows/get-latest-workflow-status-cli.mjs +61 -0
  116. package/lib/github-workflows/get-latest-workflow-status.cjs +56 -0
  117. package/lib/github-workflows/get-latest-workflow-status.d.mts +1 -0
  118. package/lib/github-workflows/get-latest-workflow-status.mjs +8 -0
  119. package/lib/github-workflows/utils.cjs +279 -0
  120. package/lib/github-workflows/utils.d.cts +76 -0
  121. package/lib/github-workflows/utils.mjs +8 -0
  122. package/lib/github-workflows/workflow-badge-cli.cjs +730 -0
  123. package/lib/github-workflows/workflow-badge-cli.d.mts +2 -0
  124. package/lib/github-workflows/workflow-badge-cli.mjs +98 -0
  125. package/lib/github-workflows/workflow-badge-generator.cjs +200 -0
  126. package/lib/github-workflows/workflow-badge-generator.d.mts +14 -0
  127. package/lib/github-workflows/workflow-badge-generator.mjs +8 -0
  128. package/lib/github-workflows/workflow-test-data.cjs +73 -0
  129. package/lib/github-workflows/workflow-test-data.d.cts +63 -0
  130. package/lib/github-workflows/workflow-test-data.mjs +6 -0
  131. package/lib/node-cache-cleaner-cli.mjs +3 -3
  132. package/lib/opencode/cli/auth-rotate.cjs +458 -0
  133. package/lib/opencode/cli/auth-rotate.d.ts +3 -0
  134. package/lib/opencode/cli/auth-rotate.js +65 -0
  135. package/lib/opencode/cli/auth-rotate.mjs +14 -0
  136. package/lib/opencode/cli/auth-rotate.runner.cjs +454 -0
  137. package/lib/opencode/cli/auth-rotate.runner.d.ts +1 -0
  138. package/lib/opencode/cli/auth-rotate.runner.js +8 -0
  139. package/lib/opencode/cli/auth-rotate.runner.mjs +21 -0
  140. package/lib/opencode/cli/list-projects.cjs +184 -0
  141. package/lib/opencode/cli/list-projects.d.ts +1 -0
  142. package/lib/opencode/cli/list-projects.js +32 -0
  143. package/lib/opencode/cli/list-projects.mjs +11 -0
  144. package/lib/opencode/cli/list-sessions.cjs +215 -0
  145. package/lib/opencode/cli/list-sessions.d.ts +1 -0
  146. package/lib/opencode/cli/list-sessions.js +45 -0
  147. package/lib/opencode/cli/list-sessions.mjs +11 -0
  148. package/lib/opencode/database.cjs +349 -0
  149. package/lib/opencode/database.d.ts +91 -0
  150. package/lib/opencode/database.js +252 -0
  151. package/lib/opencode/database.mjs +28 -0
  152. package/lib/opencode/database.runner.cjs +145 -0
  153. package/lib/opencode/database.runner.d.ts +1 -0
  154. package/lib/opencode/database.runner.js +56 -0
  155. package/lib/opencode/database.runner.mjs +37 -0
  156. package/lib/opencode/install-opencode-plugins-cli.cjs +82 -0
  157. package/lib/opencode/install-opencode-plugins-cli.d.ts +1 -0
  158. package/lib/opencode/install-opencode-plugins-cli.js +78 -0
  159. package/lib/opencode/install-opencode-plugins-cli.mjs +65 -0
  160. package/lib/opencode/opencode-zen.runner.cjs +48 -0
  161. package/lib/opencode/opencode-zen.runner.d.mts +1 -0
  162. package/lib/opencode/opencode-zen.runner.mjs +31 -0
  163. package/lib/opencode/sqlite.cjs +114 -0
  164. package/lib/opencode/sqlite.d.ts +18 -0
  165. package/lib/opencode/sqlite.js +82 -0
  166. package/lib/opencode/sqlite.mjs +10 -0
  167. package/lib/opencode/storage.cjs +124 -0
  168. package/lib/opencode/storage.d.ts +27 -0
  169. package/lib/opencode/storage.js +101 -0
  170. package/lib/opencode/storage.mjs +38 -0
  171. package/lib/opencode/storage.runner.cjs +50 -0
  172. package/lib/opencode/storage.runner.d.ts +1 -0
  173. package/lib/opencode/storage.runner.js +13 -0
  174. package/lib/opencode/storage.runner.mjs +29 -0
  175. package/lib/opencode/types.cjs +17 -0
  176. package/lib/opencode/types.d.ts +31 -0
  177. package/lib/opencode/types.js +2 -0
  178. package/lib/opencode/types.mjs +7 -0
  179. package/lib/opencode/utils/check-api.cjs +373 -0
  180. package/lib/opencode/utils/check-api.d.ts +16 -0
  181. package/lib/opencode/utils/check-api.js +132 -0
  182. package/lib/opencode/utils/check-api.mjs +12 -0
  183. package/lib/opencode/utils/check-api.runner.cjs +0 -0
  184. package/lib/opencode/utils/check-api.runner.d.ts +0 -0
  185. package/lib/opencode/utils/check-api.runner.js +1 -0
  186. package/lib/opencode/utils/check-api.runner.mjs +7 -0
  187. package/lib/opencode-cli.cjs +796 -0
  188. package/lib/opencode-cli.d.ts +2 -0
  189. package/lib/opencode-cli.js +116 -0
  190. package/lib/opencode-cli.mjs +116 -0
  191. package/lib/package-resolutions-updater-cli.cjs +189 -154
  192. package/lib/package-resolutions-updater-cli.mjs +3 -2
  193. package/lib/package-resolutions-updater.cjs +189 -154
  194. package/lib/package-resolutions-updater.d.mts +12 -3
  195. package/lib/package-resolutions-updater.mjs +3 -2
  196. package/lib/print-directory-tree.cjs +139 -3
  197. package/lib/print-directory-tree.mjs +6 -3
  198. package/lib/print-tarball-tree-cli.cjs +305 -0
  199. package/lib/print-tarball-tree-cli.d.mts +2 -0
  200. package/lib/print-tarball-tree-cli.mjs +54 -0
  201. package/lib/print-tarball-tree.cjs +43 -216
  202. package/lib/print-tarball-tree.d.mts +4 -1
  203. package/lib/print-tarball-tree.mjs +12 -66
  204. package/lib/rmpath-cli.cjs +139 -5
  205. package/lib/rmpath-cli.mjs +3 -1
  206. package/lib/rmpath.cjs +155 -11
  207. package/lib/rmpath.mjs +3 -1
  208. package/lib/run-by-checksum/hash.cjs +50 -56
  209. package/lib/run-by-checksum/hash.d.cts +24 -0
  210. package/lib/run-by-checksum/hash.mjs +3 -7
  211. package/lib/run-by-checksum/run.cjs +95 -42
  212. package/lib/run-by-checksum/run.js +3 -3
  213. package/lib/run-by-checksum/run.mjs +2 -2
  214. package/lib/run-by-checksum-cli.cjs +96 -58
  215. package/lib/run-by-checksum-cli.mjs +2 -2
  216. package/lib/submodule-install.cjs +138 -4
  217. package/lib/submodule-install.mjs +5 -4
  218. package/lib/submodule-remove-cli.cjs +139 -5
  219. package/lib/submodule-remove-cli.mjs +3 -1
  220. package/lib/submodule-remove.cjs +154 -5
  221. package/lib/submodule-remove.mjs +3 -1
  222. package/lib/utils/findEnvFiles.cjs +3 -0
  223. package/lib/utils/findEnvFiles.d.cts +2 -2
  224. package/lib/utils/findEnvFiles.mjs +1 -1
  225. package/lib/utils/isDebug.cjs +13 -0
  226. package/lib/utils/isDebug.d.cts +9 -0
  227. package/lib/utils/isDebug.mjs +6 -0
  228. package/lib/vscode/project.cjs +0 -0
  229. package/lib/vscode/project.d.ts +0 -0
  230. package/lib/vscode/project.js +1 -0
  231. package/lib/vscode/project.mjs +7 -0
  232. package/lib/vscode/storage.cjs +138 -0
  233. package/lib/vscode/storage.d.ts +51 -0
  234. package/lib/vscode/storage.js +169 -0
  235. package/lib/vscode/storage.mjs +42 -0
  236. package/lib/vscode/storage.runner.cjs +125 -0
  237. package/lib/vscode/storage.runner.d.ts +1 -0
  238. package/lib/vscode/storage.runner.js +47 -0
  239. package/lib/vscode/storage.runner.mjs +60 -0
  240. package/lib/vscode-cli.cjs +155 -0
  241. package/lib/vscode-cli.d.ts +2 -0
  242. package/lib/vscode-cli.js +80 -0
  243. package/lib/vscode-cli.mjs +71 -0
  244. package/package.json +50 -26
  245. package/readme.md +104 -8
  246. package/releases/readme.md +1 -1
  247. package/src/github-workflows/generate-test-ci-step-cli.mjs +126 -0
  248. package/vendor/clue/ndjson-react/README.md +365 -0
  249. package/vendor/composer/pcre/README.md +189 -0
  250. package/vendor/composer/semver/README.md +99 -0
  251. package/vendor/composer/xdebug-handler/README.md +305 -0
  252. package/vendor/ergebnis/agent-detector/README.md +107 -0
  253. package/vendor/evenement/evenement/README.md +64 -0
  254. package/vendor/fidry/cpu-core-counter/README.md +138 -0
  255. package/vendor/friendsofphp/php-cs-fixer/README.md +97 -0
  256. package/vendor/psr/container/README.md +13 -0
  257. package/vendor/psr/event-dispatcher/README.md +6 -0
  258. package/vendor/psr/log/README.md +58 -0
  259. package/vendor/react/cache/README.md +367 -0
  260. package/vendor/react/child-process/README.md +619 -0
  261. package/vendor/react/dns/README.md +453 -0
  262. package/vendor/react/event-loop/README.md +930 -0
  263. package/vendor/react/promise/README.md +722 -0
  264. package/vendor/react/socket/README.md +1564 -0
  265. package/vendor/react/stream/README.md +1249 -0
  266. package/vendor/sebastian/diff/README.md +151 -0
  267. package/vendor/symfony/console/README.md +30 -0
  268. package/vendor/symfony/deprecation-contracts/README.md +26 -0
  269. package/vendor/symfony/event-dispatcher/README.md +25 -0
  270. package/vendor/symfony/event-dispatcher-contracts/README.md +9 -0
  271. package/vendor/symfony/filesystem/README.md +23 -0
  272. package/vendor/symfony/finder/README.md +24 -0
  273. package/vendor/symfony/options-resolver/README.md +25 -0
  274. package/vendor/symfony/polyfill-ctype/README.md +12 -0
  275. package/vendor/symfony/polyfill-intl-grapheme/README.md +32 -0
  276. package/vendor/symfony/polyfill-intl-normalizer/README.md +14 -0
  277. package/vendor/symfony/polyfill-mbstring/README.md +13 -0
  278. package/vendor/symfony/polyfill-php80/README.md +25 -0
  279. package/vendor/symfony/polyfill-php81/README.md +18 -0
  280. package/vendor/symfony/polyfill-php84/README.md +23 -0
  281. package/vendor/symfony/polyfill-php85/README.md +20 -0
  282. package/vendor/symfony/process/README.md +23 -0
  283. package/vendor/symfony/service-contracts/README.md +9 -0
  284. package/vendor/symfony/stopwatch/README.md +52 -0
  285. package/vendor/symfony/string/README.md +24 -0
  286. package/lib/chunk-WSHVPGNM.mjs +0 -44
  287. package/lib/chunk-X2B3X7D4.mjs +0 -35
  288. package/lib/del-gradle.js +0 -16
  289. package/lib/del-node-modules.js +0 -211
  290. package/lib/find-node-modules-cli.js +0 -4
  291. package/lib/run-by-checksum/hash.d.ts +0 -14
  292. package/lib/run-by-checksum/hash.js +0 -85
  293. package/readme.html +0 -784
  294. /package/lib/{clean-github-actions-caches-cli.d.cts → del-gradle.d.cts} +0 -0
  295. /package/lib/{del-gradle.d.ts → del-node-modules.d.cts} +0 -0
  296. /package/lib/{find-node-modules-cli.d.ts → find-node-modules-cli.d.cts} +0 -0
  297. /package/lib/{git-diff-cli.d.ts → git/git-diff-cli.d.ts} +0 -0
  298. /package/lib/{git-diff-cli.js → git/git-diff-cli.js} +0 -0
  299. /package/lib/{git-diff.d.ts → git/git-diff.d.ts} +0 -0
  300. /package/lib/{git-fix.d.cts → git/git-fix.d.cts} +0 -0
  301. /package/lib/{git-purge.d.cts → git/git-purge.d.cts} +0 -0
  302. /package/lib/{del-node-modules.d.ts → github-workflows/clean-github-actions-caches-cli.d.cts} +0 -0
  303. /package/lib/{clean-github-actions-caches.d.cts → github-workflows/clean-github-actions-caches.d.cts} +0 -0
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,98 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
3
+ import {
4
+ require_utils as require_utils2
5
+ } from "../chunk-DPEE3FBB.mjs";
6
+ import {
7
+ generateBadge
8
+ } from "../chunk-X7UVQ6ZC.mjs";
9
+ import "../chunk-3T6AMFI3.mjs";
10
+ import "../chunk-J4M5EL5P.mjs";
11
+ import {
12
+ require_utils
13
+ } from "../chunk-6RK5UCTP.mjs";
14
+ import {
15
+ __toESM,
16
+ init_esm_shims
17
+ } from "../chunk-QQ4A6DLD.mjs";
18
+
19
+ // src/github-workflows/workflow-badge-cli.mjs
20
+ init_esm_shims();
21
+ var import_utils = __toESM(require_utils(), 1);
22
+ import fs from "fs";
23
+ import path from "upath";
24
+ var import_utils2 = __toESM(require_utils2(), 1);
25
+ var HELP = `
26
+ Usage: workflow-badge [options]
27
+
28
+ Generate a detailed SVG badge for the latest GitHub Actions workflow status.
29
+
30
+ Options:
31
+ -o, --output <file> Write SVG to file instead of stdout
32
+ --owner <owner> GitHub repository owner (default: auto-detect from git)
33
+ --repo <repo> GitHub repository name (default: auto-detect from git)
34
+ --workflow <name> Filter by workflow filename (e.g. "test.yml") or workflow ID
35
+ --token <token> GitHub access token (overrides env: ACCESS_TOKEN, GITHUB_TOKEN, GH_TOKEN)
36
+ --width <px> SVG width in pixels (default: 520)
37
+ --max-steps <n> Max steps to show per job (default: all)
38
+ -h, --help Show this help message
39
+
40
+ Examples:
41
+ workflow-badge
42
+ workflow-badge --output badge.svg
43
+ workflow-badge --owner dimaslanjaka --repo bin --width 600
44
+ `;
45
+ async function main() {
46
+ const argv = (0, import_utils.getArgs)({
47
+ string: ["output", "owner", "repo", "workflow", "width", "max-steps"],
48
+ boolean: ["help"],
49
+ alias: { o: "output", h: "help", w: "width" }
50
+ });
51
+ if (argv.help) {
52
+ console.log(HELP);
53
+ process.exit(0);
54
+ }
55
+ const owner = argv.owner || process.env.GH_OWNER;
56
+ const repo = argv.repo || process.env.GH_REPO;
57
+ if (owner && repo) {
58
+ console.error(`[workflow-badge] Using owner=${owner} repo=${repo}`);
59
+ } else {
60
+ const parsed = await (0, import_utils2.getOwnerRepo)();
61
+ if (!owner) argv.owner = parsed.owner;
62
+ if (!repo) argv.repo = parsed.repo;
63
+ console.error(`[workflow-badge] Detected ${parsed.owner}/${parsed.repo} from git remote`);
64
+ }
65
+ const finalOwner = argv.owner || owner;
66
+ const finalRepo = argv.repo || repo;
67
+ const workflowId = argv.workflow;
68
+ const target = workflowId ? `${finalOwner}/${finalRepo} (workflow: ${workflowId})` : `${finalOwner}/${finalRepo}`;
69
+ console.error(`[workflow-badge] Fetching latest workflow for ${target} ...`);
70
+ const run = await (0, import_utils2.getLatestRun)(finalOwner, finalRepo, workflowId);
71
+ if (!run) {
72
+ console.error("[workflow-badge] No workflow runs found.");
73
+ process.exit(1);
74
+ }
75
+ const jobs = await (0, import_utils2.getJobs)(finalOwner, finalRepo, run.id);
76
+ console.error(
77
+ `[workflow-badge] Run #${run.id}: ${run.status}${run.conclusion ? ` (${run.conclusion})` : ""} \u2014 ${jobs.length} job(s)`
78
+ );
79
+ const maxSteps = argv["max-steps"] ? parseInt(argv["max-steps"], 10) : void 0;
80
+ const options = { width: parseInt(argv.width, 10) || 520 };
81
+ if (maxSteps !== void 0) options.maxSteps = maxSteps;
82
+ const svg = generateBadge(run, jobs, options);
83
+ if (argv.output) {
84
+ const outPath = path.resolve(argv.output);
85
+ const outDir = path.dirname(outPath);
86
+ if (!fs.existsSync(outDir)) {
87
+ fs.mkdirSync(outDir, { recursive: true });
88
+ }
89
+ fs.writeFileSync(outPath, svg, "utf-8");
90
+ console.error(`[workflow-badge] Badge written to ${outPath}`);
91
+ } else {
92
+ process.stdout.write(svg);
93
+ }
94
+ }
95
+ main().catch((err) => {
96
+ console.error("[workflow-badge] Error:", err.message);
97
+ process.exit(1);
98
+ });
@@ -0,0 +1,200 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/github-workflows/workflow-badge-generator.mjs
20
+ var workflow_badge_generator_exports = {};
21
+ __export(workflow_badge_generator_exports, {
22
+ generateBadge: () => generateBadge
23
+ });
24
+ module.exports = __toCommonJS(workflow_badge_generator_exports);
25
+ var COLORS = {
26
+ success: "#2da44e",
27
+ failure: "#cf222e",
28
+ cancelled: "#656d76",
29
+ skipped: "#656d76",
30
+ inProgress: "#d4920b",
31
+ pending: "#656d76",
32
+ unknown: "#656d76",
33
+ text: "#1f2328",
34
+ textSecondary: "#656d76",
35
+ border: "#d0d7de",
36
+ bg: "#ffffff",
37
+ cardBg: "#f6f8fa"
38
+ };
39
+ function getStatusMeta(run) {
40
+ const { status, conclusion } = run;
41
+ if (conclusion === "success") return { label: "Passing", color: COLORS.success };
42
+ if (conclusion === "failure") return { label: "Failing", color: COLORS.failure };
43
+ if (conclusion === "cancelled") return { label: "Cancelled", color: COLORS.cancelled };
44
+ if (conclusion === "skipped") return { label: "Skipped", color: COLORS.skipped };
45
+ if (status === "in_progress") return { label: "In Progress", color: COLORS.inProgress };
46
+ if (status === "queued" || status === "pending") return { label: "Pending", color: COLORS.pending };
47
+ return { label: status || "Unknown", color: COLORS.unknown };
48
+ }
49
+ function esc(str) {
50
+ return String(str).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
51
+ }
52
+ function countSteps(jobs) {
53
+ let total = 0, passed = 0, failed = 0, skipped = 0, pending = 0;
54
+ for (const job of jobs) {
55
+ for (const step of job.steps || []) {
56
+ total++;
57
+ if (step.conclusion === "success") passed++;
58
+ else if (step.conclusion === "failure") failed++;
59
+ else if (step.conclusion === "skipped") skipped++;
60
+ else pending++;
61
+ }
62
+ }
63
+ return { total, passed, failed, skipped, pending };
64
+ }
65
+ function jobColor(job) {
66
+ if (job.conclusion === "success") return COLORS.success;
67
+ if (job.conclusion === "failure") return COLORS.failure;
68
+ if (job.status === "in_progress") return COLORS.inProgress;
69
+ return COLORS.pending;
70
+ }
71
+ function generateBadge(run, jobs, options = {}) {
72
+ const width = options.width || 520;
73
+ const maxSteps = options.maxSteps;
74
+ const { label: statusLabel, color: accentColor } = getStatusMeta(run);
75
+ const steps = countSteps(jobs);
76
+ const PAD = 20;
77
+ const W = width;
78
+ const RIGHT = width - PAD;
79
+ const INNER_W = RIGHT - PAD;
80
+ const els = [];
81
+ const el = (str) => els.push(str);
82
+ const LABEL_X = PAD;
83
+ const VALUE_X = 110;
84
+ let yCursor = 0;
85
+ const divider = () => {
86
+ yCursor += 4;
87
+ el(`<line x1="${PAD}" y1="${yCursor}" x2="${RIGHT}" y2="${yCursor}" stroke="${COLORS.border}" stroke-width="1"/>`);
88
+ yCursor += 5;
89
+ };
90
+ const sectionHeading = (text) => {
91
+ yCursor += 8;
92
+ el(
93
+ `<text x="${PAD}" y="${yCursor + 13}" font-size="11" font-weight="700" fill="${COLORS.textSecondary}" letter-spacing="0.5">${esc(text)}</text>`
94
+ );
95
+ yCursor += 22;
96
+ };
97
+ el(`<rect x="0" y="0" width="${W}" height="4" fill="${accentColor}"/>`);
98
+ yCursor = 4;
99
+ yCursor += 14;
100
+ const titleBaseline = yCursor + 15;
101
+ el(
102
+ `<text x="${PAD}" y="${titleBaseline}" font-size="15" font-weight="700" fill="${COLORS.text}">Workflow Status</text>`
103
+ );
104
+ const pillText = statusLabel;
105
+ const pillTextW = pillText.length * 7.8 + 32;
106
+ const pillX = RIGHT - pillTextW;
107
+ const pillY = titleBaseline - 12;
108
+ el(`<rect x="${pillX}" y="${pillY}" width="${pillTextW}" height="22" rx="11" fill="${accentColor}" opacity="0.12"/>`);
109
+ el(`<circle cx="${pillX + 14}" cy="${titleBaseline - 2}" r="4.5" fill="${accentColor}"/>`);
110
+ el(
111
+ `<text x="${pillX + 24}" y="${titleBaseline + 1}" font-size="12" font-weight="600" fill="${accentColor}">${esc(pillText)}</text>`
112
+ );
113
+ yCursor = titleBaseline + 4;
114
+ divider();
115
+ const metaRows = [
116
+ { label: "Workflow", value: run.name || "" },
117
+ { label: "Status", value: `${run.status}${run.conclusion ? ` (${run.conclusion})` : ""}` },
118
+ { label: "Branch", value: run.head_branch || "" },
119
+ { label: "Run ID", value: `#${run.id || ""}` }
120
+ ];
121
+ for (const row of metaRows) {
122
+ const rowBaseline = yCursor + 14;
123
+ el(
124
+ `<text x="${LABEL_X}" y="${rowBaseline}" font-size="12" fill="${COLORS.textSecondary}">${esc(row.label)}</text>`
125
+ );
126
+ el(
127
+ `<text x="${VALUE_X}" y="${rowBaseline}" font-size="13" fill="${COLORS.text}" font-weight="500">${esc(row.value)}</text>`
128
+ );
129
+ yCursor += 22;
130
+ }
131
+ divider();
132
+ sectionHeading("JOBS");
133
+ for (const job of jobs) {
134
+ const jColor = jobColor(job);
135
+ const jStatus = job.conclusion || job.status;
136
+ el(`<rect x="${PAD}" y="${yCursor}" width="${INNER_W}" height="28" rx="6" fill="${COLORS.cardBg}"/>`);
137
+ el(
138
+ `<text x="${PAD + 10}" y="${yCursor + 18}" font-size="13" font-weight="600" fill="${COLORS.text}">${esc(job.name)}</text>`
139
+ );
140
+ const jobStatusX = RIGHT - 14;
141
+ el(`<circle cx="${jobStatusX - 16}" cy="${yCursor + 14}" r="3.5" fill="${jColor}"/>`);
142
+ el(
143
+ `<text x="${jobStatusX}" y="${yCursor + 18}" font-size="11" fill="${COLORS.textSecondary}" text-anchor="end">${esc(jStatus)}</text>`
144
+ );
145
+ yCursor += 34;
146
+ if (job.steps && job.steps.length > 0) {
147
+ const stepsToRender = maxSteps ? job.steps.slice(0, maxSteps) : job.steps;
148
+ const hiddenCount = maxSteps ? job.steps.length - maxSteps : 0;
149
+ for (const step of stepsToRender) {
150
+ const sIcon = step.conclusion === "success" ? "\u2713" : step.conclusion === "failure" ? "\u2717" : step.conclusion === "skipped" ? "\u2013" : "\u25CB";
151
+ const sColor = step.conclusion === "success" ? COLORS.success : step.conclusion === "failure" ? COLORS.failure : step.conclusion === "skipped" ? COLORS.textSecondary : COLORS.inProgress;
152
+ el(`<text x="${PAD + 18}" y="${yCursor + 13}" font-size="12" fill="${sColor}">${sIcon}</text>`);
153
+ let stepName = step.name || "";
154
+ const maxChars = 52;
155
+ if (stepName.length > maxChars) {
156
+ stepName = stepName.slice(0, maxChars - 3) + "...";
157
+ }
158
+ el(`<text x="${PAD + 36}" y="${yCursor + 13}" font-size="12" fill="${COLORS.text}">${esc(stepName)}</text>`);
159
+ const stepStatus = step.conclusion || step.status || "";
160
+ el(
161
+ `<text x="${RIGHT}" y="${yCursor + 13}" font-size="11" fill="${COLORS.textSecondary}" text-anchor="end">${esc(stepStatus)}</text>`
162
+ );
163
+ yCursor += 20;
164
+ }
165
+ if (hiddenCount > 0) {
166
+ el(
167
+ `<text x="${PAD + 18}" y="${yCursor + 13}" font-size="12" fill="${COLORS.textSecondary}" font-style="italic">and ${hiddenCount} more step${hiddenCount !== 1 ? "s" : ""}...</text>`
168
+ );
169
+ yCursor += 20;
170
+ }
171
+ yCursor += 4;
172
+ }
173
+ }
174
+ divider();
175
+ const footerParts = [];
176
+ if (steps.passed > 0) footerParts.push(`${steps.passed} \u2713 passed`);
177
+ if (steps.failed > 0) footerParts.push(`${steps.failed} \u2717 failed`);
178
+ if (steps.pending > 0) footerParts.push(`${steps.pending} \u25CB pending`);
179
+ if (steps.skipped > 0) footerParts.push(`${steps.skipped} \u2013 skipped`);
180
+ const footerText = footerParts.length > 0 ? footerParts.join(" \xB7 ") : "No steps recorded";
181
+ el(`<text x="${PAD}" y="${yCursor + 13}" font-size="12" fill="${COLORS.textSecondary}">${esc(footerText)}</text>`);
182
+ yCursor += 22;
183
+ const totalHeight = yCursor + 6;
184
+ const svg = [
185
+ `<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">`,
186
+ ` <defs>`,
187
+ ` <filter id="badge-shadow" x="-2%" y="-2%" width="104%" height="104%">`,
188
+ ` <feDropShadow dx="0" dy="1" stdDeviation="3" flood-color="#000" flood-opacity="0.12"/>`,
189
+ ` </filter>`,
190
+ ` </defs>`,
191
+ ` <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)"/>`,
192
+ ...els,
193
+ `</svg>`
194
+ ].join("\n");
195
+ return svg;
196
+ }
197
+ // Annotate the CommonJS export names for ESM import in node:
198
+ 0 && (module.exports = {
199
+ generateBadge
200
+ });
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Generate a detailed SVG badge for a GitHub Actions workflow run.
3
+ *
4
+ * @param {object} run - Workflow run object from the GitHub API
5
+ * @param {object[]} jobs - Array of job objects from the GitHub API
6
+ * @param {object} [options]
7
+ * @param {number} [options.width=520] - SVG width in pixels
8
+ * @param {number} [options.maxSteps] - Max steps to show per job (rest summarized)
9
+ * @returns {string} SVG markup
10
+ */
11
+ export function generateBadge(run: object, jobs: object[], options?: {
12
+ width?: number;
13
+ maxSteps?: number;
14
+ }): string;
@@ -0,0 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ generateBadge
4
+ } from "../chunk-X7UVQ6ZC.mjs";
5
+ import "../chunk-QQ4A6DLD.mjs";
6
+ export {
7
+ generateBadge
8
+ };
@@ -0,0 +1,73 @@
1
+ // src/github-workflows/workflow-test-data.cjs
2
+ var workflow = {
3
+ name: "Node.js Package Test",
4
+ concurrency: {
5
+ group: "test-${{ github.event_name }}",
6
+ "cancel-in-progress": true
7
+ },
8
+ on: {
9
+ workflow_dispatch: {},
10
+ push: {
11
+ paths: ["**/test*/**", "**/test*", "**/src/**"]
12
+ }
13
+ },
14
+ env: {
15
+ CI_NODE_VERSION: "24.16.0",
16
+ CI_PYTHON_VERSION: "3.11",
17
+ ACCESS_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}",
18
+ GH_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}"
19
+ },
20
+ jobs: {
21
+ ci: {
22
+ name: "\u{1F528} Build, Pack & Test",
23
+ "runs-on": "ubuntu-latest",
24
+ steps: [
25
+ {
26
+ name: "\u2B07\uFE0F Checkout workflow repository",
27
+ uses: "actions/checkout@v6"
28
+ },
29
+ {
30
+ name: "\u2B07\uFE0F Setup CI Environment",
31
+ uses: "./.github/actions/setup-environments",
32
+ with: {
33
+ "node-version": "${{ env.CI_NODE_VERSION }}",
34
+ "python-version": "${{ env.CI_PYTHON_VERSION }}",
35
+ token: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}",
36
+ "prefix-cache-key": "${{ runner.os }}-test-"
37
+ }
38
+ },
39
+ {
40
+ name: "\u{1F4E6} Install dependencies",
41
+ run: `touch yarn.lock && corepack yarn install`
42
+ },
43
+ {
44
+ name: "\u{1F528} Build project",
45
+ run: "corepack yarn build"
46
+ },
47
+ {
48
+ name: "\u{1F4E6} Pack project",
49
+ run: "corepack yarn pack"
50
+ },
51
+ // {
52
+ // name: '🧪 Run committed composite tests action',
53
+ // uses: './.github/actions/run-tests',
54
+ // env: {
55
+ // ACCESS_TOKEN: '${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}',
56
+ // GH_TOKEN: '${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}'
57
+ // }
58
+ // },
59
+ {
60
+ name: "\u{1F9F9} Clean GitHub Actions Cache",
61
+ // if: 'always()',
62
+ "continue-on-error": true,
63
+ env: {
64
+ GH_TOKEN: "${{ secrets.ACCESS_TOKEN || secrets.GITHUB_TOKEN || github.token }}"
65
+ },
66
+ shell: "bash",
67
+ run: `npx --legacy-peer-deps -y binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz clean-github-actions-caches --repo "\${{ github.repository }}" --sha "\${{ github.sha }}"`
68
+ }
69
+ ]
70
+ }
71
+ }
72
+ };
73
+ module.exports = workflow;
@@ -0,0 +1,63 @@
1
+ export let name: string;
2
+ export let concurrency: {
3
+ group: string;
4
+ 'cancel-in-progress': boolean;
5
+ };
6
+ export namespace on {
7
+ let workflow_dispatch: {};
8
+ namespace push {
9
+ let paths: string[];
10
+ }
11
+ }
12
+ export namespace env {
13
+ let CI_NODE_VERSION: string;
14
+ let CI_PYTHON_VERSION: string;
15
+ let ACCESS_TOKEN: string;
16
+ let GH_TOKEN: string;
17
+ }
18
+ export namespace jobs {
19
+ let ci: {
20
+ name: string;
21
+ 'runs-on': string;
22
+ steps: ({
23
+ name: string;
24
+ uses: string;
25
+ with?: undefined;
26
+ run?: undefined;
27
+ 'continue-on-error'?: undefined;
28
+ env?: undefined;
29
+ shell?: undefined;
30
+ } | {
31
+ name: string;
32
+ uses: string;
33
+ with: {
34
+ 'node-version': string;
35
+ 'python-version': string;
36
+ token: string;
37
+ 'prefix-cache-key': string;
38
+ };
39
+ run?: undefined;
40
+ 'continue-on-error'?: undefined;
41
+ env?: undefined;
42
+ shell?: undefined;
43
+ } | {
44
+ name: string;
45
+ run: string;
46
+ uses?: undefined;
47
+ with?: undefined;
48
+ 'continue-on-error'?: undefined;
49
+ env?: undefined;
50
+ shell?: undefined;
51
+ } | {
52
+ name: string;
53
+ 'continue-on-error': boolean;
54
+ env: {
55
+ GH_TOKEN: string;
56
+ };
57
+ shell: string;
58
+ run: string;
59
+ uses?: undefined;
60
+ with?: undefined;
61
+ })[];
62
+ };
63
+ }
@@ -0,0 +1,6 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_workflow_test_data
4
+ } from "../chunk-TP3O2JGW.mjs";
5
+ import "../chunk-QQ4A6DLD.mjs";
6
+ export default require_workflow_test_data();
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
3
- import {
4
- cleanNpmCache
5
- } from "./chunk-R5FJOR63.mjs";
6
3
  import {
7
4
  cleanNpxCache
8
5
  } from "./chunk-OXV52GD5.mjs";
9
6
  import {
10
7
  cleanYarnCache
11
8
  } from "./chunk-UXCFNAR6.mjs";
9
+ import {
10
+ cleanNpmCache
11
+ } from "./chunk-R5FJOR63.mjs";
12
12
  import {
13
13
  require_utils
14
14
  } from "./chunk-6RK5UCTP.mjs";