binary-collections 2.0.11 → 2.0.13

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 (330) hide show
  1. package/binaries/binary-executor.cjs +89 -13
  2. package/binaries/clean-nodemodule.cjs +89 -13
  3. package/binaries/clean-nodemodules.cjs +89 -13
  4. package/binaries/dev.cjs +89 -13
  5. package/binaries/empty.cjs +89 -13
  6. package/binaries/git-reduce-size.cjs +89 -13
  7. package/binaries/javakill.cjs +89 -13
  8. package/binaries/kill-process.cjs +89 -13
  9. package/binaries/nodekill.cjs +89 -13
  10. package/binaries/prod.cjs +89 -13
  11. package/binaries/py.cjs +89 -13
  12. package/binaries/rmfind.cjs +89 -13
  13. package/binaries/rmx +15 -1
  14. package/binaries/rmx.cjs +89 -13
  15. package/binaries/rmx.cmd +12 -0
  16. package/binaries/submodule-token.cjs +89 -13
  17. package/binaries/test-cjs +9 -1
  18. package/binaries/test-cjs.cjs +89 -13
  19. package/binaries/test-cjs.cmd +16 -1
  20. package/binaries/test-esm +16 -0
  21. package/binaries/test-esm.cjs +254 -0
  22. package/binaries/test-esm.cmd +23 -0
  23. package/binaries/yarn-clean +1 -1
  24. package/binaries/yarn-clean.cjs +89 -13
  25. package/binaries/yarn-clean.cmd +1 -1
  26. package/binaries/yarn-clean.py +33 -15
  27. package/binaries/yc +131 -0
  28. package/binaries/yc.cjs +254 -0
  29. package/binaries/ycw +256 -0
  30. package/binaries/ycw.cjs +254 -0
  31. package/docs-src/binary-collections.md +34 -0
  32. package/docs-src/changelog.md +26 -0
  33. package/docs-src/clean-github-actions-caches.md +91 -2
  34. package/docs-src/copy-move-file.md +59 -0
  35. package/docs-src/del-gradle.md +17 -0
  36. package/docs-src/del-ps.md +28 -0
  37. package/docs-src/downloader.md +62 -0
  38. package/docs-src/env-helpers.md +29 -0
  39. package/docs-src/find-node-modules.md +17 -0
  40. package/docs-src/git-diff.md +33 -0
  41. package/docs-src/git-fix.md +34 -0
  42. package/docs-src/git-purge.md +17 -0
  43. package/docs-src/git-reduce-size.md +17 -0
  44. package/docs-src/git-undo.md +21 -0
  45. package/docs-src/kill-night-crows.md +26 -0
  46. package/docs-src/node-cache-cleaner.md +182 -0
  47. package/docs-src/node-executor.md +50 -0
  48. package/docs-src/node-package-packer.md +48 -0
  49. package/docs-src/npm-run-series.md +43 -0
  50. package/docs-src/package-resolutions-updater.md +22 -0
  51. package/docs-src/php-cs-fixer-staged.md +19 -0
  52. package/docs-src/print-directory-tree.md +35 -0
  53. package/docs-src/print-tarball-tree.md +55 -0
  54. package/docs-src/py.md +19 -0
  55. package/docs-src/remove-module.md +32 -0
  56. package/docs-src/rmfind-rmx.md +21 -0
  57. package/docs-src/rmpath.md +38 -0
  58. package/docs-src/run-by-checksum.md +87 -0
  59. package/docs-src/submodule-install.md +31 -0
  60. package/docs-src/submodule-remove.md +22 -0
  61. package/docs-src/submodule-token.md +17 -0
  62. package/docs-src/test-runners.md +21 -0
  63. package/docs-src/yarn-install.md +31 -0
  64. package/docs-src/yarn-reinstall.md +27 -0
  65. package/lib/binary-collections/config.cjs +126 -0
  66. package/lib/binary-collections/config.mjs +7 -0
  67. package/lib/binary-collections/executeScript.cjs +19 -0
  68. package/lib/binary-collections/executeScript.d.cts +12 -0
  69. package/lib/binary-collections/executeScript.mjs +6 -0
  70. package/lib/binary-collections/findScript.cjs +309 -0
  71. package/lib/binary-collections/findScript.d.cts +12 -0
  72. package/lib/binary-collections/findScript.mjs +7 -0
  73. package/lib/binary-collections/listScript.cjs +291 -0
  74. package/lib/binary-collections/listScript.d.cts +19 -0
  75. package/lib/binary-collections/listScript.mjs +7 -0
  76. package/lib/binary-collections.cjs +264 -157
  77. package/lib/binary-collections.mjs +26 -286
  78. package/lib/changelog.cjs +9 -14
  79. package/lib/changelog.mjs +2 -2
  80. package/lib/chunk-2MN4VPV2.mjs +246 -0
  81. package/lib/chunk-6C7KTYGZ.mjs +41 -0
  82. package/lib/{chunk-Z6JLYU2J.mjs → chunk-6RK5UCTP.mjs} +7 -12
  83. package/lib/chunk-CD3HF3LK.mjs +190 -0
  84. package/lib/chunk-FLYSZFLW.mjs +61 -0
  85. package/lib/{chunk-N436BNBK.mjs → chunk-GAGABICI.mjs} +19 -13
  86. package/lib/chunk-H44UWUFY.mjs +105 -0
  87. package/lib/chunk-KLKAIFKI.mjs +40 -0
  88. package/lib/chunk-LVSPEFU2.mjs +86 -0
  89. package/lib/{chunk-RWLXRTYP.mjs → chunk-MGPYPKIE.mjs} +2 -2
  90. package/lib/chunk-NGFK3EYW.mjs +28 -0
  91. package/lib/chunk-NQXUYO67.mjs +253 -0
  92. package/lib/chunk-NVEG3LEZ.mjs +143 -0
  93. package/lib/chunk-OBXLTXFJ.mjs +34 -0
  94. package/lib/chunk-OGXVGBRI.mjs +29 -0
  95. package/lib/chunk-OXV52GD5.mjs +62 -0
  96. package/lib/chunk-PXBMHE7O.mjs +35 -0
  97. package/lib/chunk-QD4T255Z.mjs +40 -0
  98. package/lib/chunk-QII2EKCS.mjs +26 -0
  99. package/lib/chunk-R5FJOR63.mjs +47 -0
  100. package/lib/chunk-RDGDLSPD.mjs +76 -0
  101. package/lib/chunk-RDN6HF5Z.mjs +79 -0
  102. package/lib/chunk-RJKTSUAX.mjs +123 -0
  103. package/lib/{chunk-XA3SNBPA.mjs → chunk-TBWXE7ST.mjs} +97 -38
  104. package/lib/chunk-UXCFNAR6.mjs +55 -0
  105. package/lib/{chunk-M3YIYRHT.mjs → chunk-UY5VUEA3.mjs} +1 -1
  106. package/lib/chunk-WSHVPGNM.mjs +44 -0
  107. package/lib/{chunk-66PAU5PS.mjs → chunk-X2B3X7D4.mjs} +10 -6
  108. package/lib/clean-github-actions-caches-cli.cjs +507 -0
  109. package/lib/clean-github-actions-caches-cli.mjs +74 -0
  110. package/lib/clean-github-actions-caches.cjs +246 -106
  111. package/lib/clean-github-actions-caches.d.cts +53 -1
  112. package/lib/clean-github-actions-caches.mjs +5 -130
  113. package/lib/cross-env/command.cjs +63 -0
  114. package/lib/cross-env/command.d.ts +8 -0
  115. package/lib/cross-env/command.js +45 -0
  116. package/lib/{ps/isWin.mjs → cross-env/command.mjs} +4 -5
  117. package/lib/cross-env/index.cjs +178 -0
  118. package/lib/cross-env/index.d.ts +8 -0
  119. package/lib/cross-env/index.js +102 -0
  120. package/lib/cross-env/index.mjs +101 -0
  121. package/lib/cross-env/variable.cjs +60 -0
  122. package/lib/cross-env/variable.d.ts +7 -0
  123. package/lib/cross-env/variable.js +59 -0
  124. package/lib/cross-env/variable.mjs +9 -0
  125. package/lib/del-gradle.cjs +8 -13
  126. package/lib/del-gradle.js +8 -8
  127. package/lib/del-gradle.mjs +1 -1
  128. package/lib/del-node-modules.cjs +185 -3
  129. package/lib/del-node-modules.js +25 -25
  130. package/lib/del-node-modules.mjs +6 -3
  131. package/lib/{del-ps.cjs → del-ps-cli.cjs} +38 -43
  132. package/lib/del-ps-cli.d.mts +1 -0
  133. package/lib/del-ps-cli.mjs +44 -0
  134. package/lib/del-yarn-caches.cjs +8 -13
  135. package/lib/del-yarn-caches.js +2 -2
  136. package/lib/del-yarn-caches.mjs +1 -1
  137. package/lib/downloader-cli.cjs +256 -0
  138. package/lib/downloader-cli.d.cts +2 -0
  139. package/lib/downloader-cli.mjs +90 -0
  140. package/lib/file/copy-cli.cjs +273 -0
  141. package/lib/file/copy-cli.d.mts +1 -0
  142. package/lib/file/copy-cli.mjs +59 -0
  143. package/lib/file/copy.cjs +56 -0
  144. package/lib/file/copy.d.mts +1 -0
  145. package/lib/file/copy.mjs +8 -0
  146. package/lib/file/move-cli.cjs +272 -0
  147. package/lib/file/move-cli.d.mts +1 -0
  148. package/lib/file/move-cli.mjs +59 -0
  149. package/lib/file/move.cjs +55 -0
  150. package/lib/file/move.d.mts +1 -0
  151. package/lib/file/move.mjs +8 -0
  152. package/lib/find-node-modules-cli.cjs +1 -1
  153. package/lib/find-node-modules-cli.js +1 -1
  154. package/lib/find-node-modules-cli.mjs +1 -1
  155. package/lib/find-node-modules.cjs +1 -1
  156. package/lib/find-node-modules.mjs +1 -1
  157. package/lib/free-chatgpt.cjs +27 -26
  158. package/lib/free-chatgpt.js +10 -10
  159. package/lib/free-chatgpt.mjs +2 -2
  160. package/lib/git/user-config.cjs +9 -14
  161. package/lib/git/user-config.mjs +2 -2
  162. package/lib/git-diff-cli.cjs +273 -66
  163. package/lib/git-diff-cli.mjs +5 -4
  164. package/lib/git-diff.cjs +273 -66
  165. package/lib/git-diff.d.ts +2 -1
  166. package/lib/git-diff.js +153 -39
  167. package/lib/git-diff.mjs +5 -4
  168. package/lib/git-fix.cjs +9 -14
  169. package/lib/git-fix.mjs +2 -2
  170. package/lib/git-purge.cjs +9 -14
  171. package/lib/git-purge.mjs +2 -2
  172. package/lib/index.cjs +1 -1
  173. package/lib/index.d.ts +1 -1
  174. package/lib/index.mjs +1 -1
  175. package/lib/kill-night-crows.cjs +7 -7
  176. package/lib/kill-night-crows.mjs +7 -7
  177. package/lib/node-cache-cleaner/npm.cjs +65 -0
  178. package/lib/node-cache-cleaner/npm.d.ts +2 -0
  179. package/lib/node-cache-cleaner/npm.js +41 -0
  180. package/lib/node-cache-cleaner/npm.mjs +10 -0
  181. package/lib/node-cache-cleaner/npx.cjs +89 -0
  182. package/lib/node-cache-cleaner/npx.d.ts +4 -0
  183. package/lib/node-cache-cleaner/npx.js +82 -0
  184. package/lib/{ps/index.d.mjs → node-cache-cleaner/npx.mjs} +6 -5
  185. package/lib/node-cache-cleaner/yarn.cjs +73 -0
  186. package/lib/node-cache-cleaner/yarn.d.ts +2 -0
  187. package/lib/node-cache-cleaner/yarn.js +62 -0
  188. package/lib/node-cache-cleaner/yarn.mjs +10 -0
  189. package/lib/node-cache-cleaner-cli.cjs +365 -0
  190. package/lib/node-cache-cleaner-cli.d.ts +2 -0
  191. package/lib/node-cache-cleaner-cli.js +57 -0
  192. package/lib/node-cache-cleaner-cli.mjs +60 -0
  193. package/lib/node-executor.cjs +272 -0
  194. package/lib/node-executor.d.cts +2 -0
  195. package/lib/node-executor.mjs +106 -0
  196. package/lib/node-package-packer/build-readme.cjs +150 -0
  197. package/lib/node-package-packer/build-readme.d.mts +10 -0
  198. package/lib/node-package-packer/build-readme.mjs +10 -0
  199. package/lib/node-package-packer/build-tarball.cjs +495 -0
  200. package/lib/node-package-packer/build-tarball.d.mts +33 -0
  201. package/lib/node-package-packer/build-tarball.mjs +175 -0
  202. package/lib/node-package-packer-cli.cjs +525 -0
  203. package/lib/node-package-packer-cli.d.mts +1 -0
  204. package/lib/node-package-packer-cli.mjs +34 -0
  205. package/lib/npm-run-series.cjs +28 -40
  206. package/lib/npm-run-series.mjs +21 -7
  207. package/lib/package-resolutions-updater-cli.cjs +255 -173
  208. package/lib/package-resolutions-updater-cli.mjs +19 -40
  209. package/lib/package-resolutions-updater.cjs +244 -141
  210. package/lib/package-resolutions-updater.d.mts +54 -1
  211. package/lib/package-resolutions-updater.mjs +8 -5
  212. package/lib/php-cs-fixer-staged.cjs +1 -1
  213. package/lib/php-cs-fixer-staged.mjs +1 -1
  214. package/lib/print-directory-tree.cjs +18 -20
  215. package/lib/print-directory-tree.mjs +11 -8
  216. package/lib/print-tarball-tree.cjs +262 -0
  217. package/lib/print-tarball-tree.d.mts +1 -0
  218. package/lib/print-tarball-tree.mjs +68 -0
  219. package/lib/ps/connected-domain.js +10 -10
  220. package/lib/ps/index.cjs +11 -11
  221. package/lib/ps/index.mjs +180 -174
  222. package/lib/ps/table-parser.d.ts +3 -4
  223. package/lib/ps/table-parser.js +15 -22
  224. package/lib/remove-module.cjs +19 -24
  225. package/lib/remove-module.mjs +2 -2
  226. package/lib/rm-node-module-cli.cjs +389 -0
  227. package/lib/rm-node-module-cli.d.cts +1 -0
  228. package/lib/rm-node-module-cli.mjs +92 -0
  229. package/lib/rm-node-modules.cjs +127 -0
  230. package/lib/rm-node-modules.d.cts +35 -0
  231. package/lib/{binary-collections-config.mjs → rm-node-modules.mjs} +3 -3
  232. package/lib/rmpath-cli.cjs +285 -0
  233. package/lib/rmpath-cli.d.mts +1 -0
  234. package/lib/rmpath-cli.mjs +23 -0
  235. package/lib/rmpath.cjs +6 -217
  236. package/lib/rmpath.mjs +5 -101
  237. package/lib/run-by-checksum/cache.cjs +69 -0
  238. package/lib/run-by-checksum/cache.d.ts +19 -0
  239. package/lib/run-by-checksum/cache.js +50 -0
  240. package/lib/run-by-checksum/cache.mjs +12 -0
  241. package/lib/run-by-checksum/hash.cjs +72 -0
  242. package/lib/run-by-checksum/hash.d.ts +14 -0
  243. package/lib/run-by-checksum/hash.js +85 -0
  244. package/lib/run-by-checksum/hash.mjs +10 -0
  245. package/lib/run-by-checksum/run.cjs +169 -0
  246. package/lib/run-by-checksum/run.d.ts +22 -0
  247. package/lib/run-by-checksum/run.js +93 -0
  248. package/lib/run-by-checksum/run.mjs +10 -0
  249. package/lib/run-by-checksum-cli.cjs +382 -0
  250. package/lib/run-by-checksum-cli.d.ts +2 -0
  251. package/lib/run-by-checksum-cli.js +43 -0
  252. package/lib/run-by-checksum-cli.mjs +56 -0
  253. package/lib/submodule-install.cjs +55 -47
  254. package/lib/submodule-install.mjs +48 -35
  255. package/lib/submodule-remove-cli.cjs +170 -4
  256. package/lib/submodule-remove-cli.js +5 -5
  257. package/lib/submodule-remove-cli.mjs +6 -4
  258. package/lib/utils/chatgpt.cjs +19 -13
  259. package/lib/utils/chatgpt.js +94 -94
  260. package/lib/utils/chatgpt.mjs +1 -1
  261. package/lib/utils/fetchResponse.cjs +24 -0
  262. package/lib/utils/fetchResponse.d.cts +25 -0
  263. package/lib/utils/fetchResponse.mjs +6 -0
  264. package/lib/utils/findEnvFiles.cjs +28 -46
  265. package/lib/utils/findEnvFiles.d.cts +19 -0
  266. package/lib/utils/findEnvFiles.mjs +3 -5
  267. package/lib/utils/findWorkspaceRoot.js +4 -4
  268. package/lib/utils/index.cjs +7 -12
  269. package/lib/utils/index.d.cts +2 -9
  270. package/lib/utils/index.mjs +1 -1
  271. package/lib/utils/isGithubTokenValid.js +7 -7
  272. package/lib/{ps/isWin.cjs → utils/isWindows.cjs} +12 -7
  273. package/lib/utils/isWindows.d.ts +5 -0
  274. package/lib/utils/isWindows.js +10 -0
  275. package/lib/utils/isWindows.mjs +10 -0
  276. package/lib/utils/runBash.cjs +53 -0
  277. package/lib/utils/runBash.d.cts +12 -0
  278. package/lib/utils/runBash.mjs +66 -0
  279. package/lib/yarn-per-branch-lock-installer.cjs +288 -0
  280. package/lib/yarn-per-branch-lock-installer.d.cts +2 -0
  281. package/lib/yarn-per-branch-lock-installer.mjs +122 -0
  282. package/lib/yarn-reinstall.cjs +8 -13
  283. package/lib/yarn-reinstall.mjs +1 -1
  284. package/package.json +91 -57
  285. package/readme.html +784 -0
  286. package/readme.md +107 -219
  287. package/releases/readme.md +6 -3
  288. package/test/README.md +2 -2
  289. package/test-project/workspaces/workspace-a/readme.md +20 -0
  290. package/test-project/workspaces/workspace-a/release/readme.md +42 -0
  291. package/test-project/workspaces/workspace-a/test/readme.md +12 -0
  292. package/test-project/workspaces/workspace-b/readme.md +94 -0
  293. package/test-project/workspaces/workspace-b/requirements.txt +1 -0
  294. package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/readme.md +156 -0
  295. package/tmp/test-repo/README.md +2 -35
  296. package/tmp/test-repo-runChecksum/test-complex-glob/README.md +1 -0
  297. package/tmp/test-repo-runChecksum/test-mixed-args/README.md +1 -0
  298. package/lib/binary-collections-config.cjs +0 -15
  299. package/lib/chunk-2CBJCW7E.mjs +0 -81
  300. package/lib/chunk-4UHL4WVN.mjs +0 -136
  301. package/lib/chunk-6HHJRKFB.mjs +0 -59
  302. package/lib/chunk-6S4NXESK.mjs +0 -26
  303. package/lib/chunk-7XTEJHOE.mjs +0 -193
  304. package/lib/chunk-AJDD5DZM.mjs +0 -109
  305. package/lib/chunk-FCDQGYBF.mjs +0 -136
  306. package/lib/chunk-GEYA2USY.mjs +0 -207
  307. package/lib/chunk-GJTGHXRA.mjs +0 -356
  308. package/lib/chunk-ID2WBTE2.mjs +0 -80
  309. package/lib/chunk-JXFOHKDM.mjs +0 -239
  310. package/lib/chunk-NCXAP7AA.mjs +0 -31
  311. package/lib/chunk-PDSXF5HY.mjs +0 -187
  312. package/lib/chunk-TOIVAQF7.mjs +0 -136
  313. package/lib/chunk-V5SKYJUB.mjs +0 -136
  314. package/lib/chunk-WSRETQCA.mjs +0 -59
  315. package/lib/chunk-YYLIQQKF.mjs +0 -31
  316. package/lib/del-ps.js +0 -32
  317. package/lib/del-ps.mjs +0 -43
  318. package/lib/ps/index.d.cjs +0 -17
  319. package/lib/ps/index.d.ts +0 -2
  320. package/lib/ps/index.js +0 -254
  321. package/lib/ps/isWin.d.ts +0 -2
  322. package/lib/ps/isWin.js +0 -4
  323. package/lib/utils/findEnvFiles.d.ts +0 -8
  324. package/lib/utils/findEnvFiles.js +0 -121
  325. package/test/package.json +0 -20
  326. package/test-project/package.json +0 -16
  327. package/tmp/test-repo/package.json +0 -7
  328. package/tmp/typedoc/readme.md +0 -320
  329. /package/lib/{binary-collections-config.d.cts → binary-collections/config.d.cts} +0 -0
  330. /package/lib/{del-ps.d.ts → clean-github-actions-caches-cli.d.cts} +0 -0
@@ -0,0 +1,87 @@
1
+ # Run by Checksum
2
+
3
+ Run a command only when the checksum of matched files changes. Computes SHA-256 hashes of all matching files, stores them in a cache under `tmp/.checksum/`, and compares on subsequent runs to determine if the command should execute again.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ run-by-checksum -p "<glob>" -e "<command>"
9
+ ```
10
+
11
+ ### Aliases
12
+
13
+ This command is available under several aliases (all invoke the same CLI):
14
+
15
+ - `run-by-checksum` (default)
16
+ - `run-checksum`
17
+ - `run-c`
18
+
19
+ ### Options
20
+
21
+ | Flag | Type | Description |
22
+ | :--- | :--- | :--- |
23
+ | `-p`, `--pattern` | `string[]` | Glob pattern(s) to include (can be repeated) |
24
+ | `-i`, `--ignore` | `string[]` | Glob pattern(s) to exclude (can be repeated) |
25
+ | `-e`, `--exec` | `string` | Command to execute when checksum changes |
26
+ | `-c`, `--cwd` | `string` | Working directory for glob scanning and spawn (default: `INIT_CWD` or current directory) |
27
+ | `-h`, `--help` | `boolean` | Show help message |
28
+
29
+ ### Examples
30
+
31
+ Run a build script when any `.js` or `.ts` file changes:
32
+
33
+ ```bash
34
+ run-by-checksum -p "src/**/*.js" -p "src/**/*.ts" -e "npm run build"
35
+ ```
36
+
37
+ Ignore node_modules and run tests when source files change:
38
+
39
+ ```bash
40
+ run-by-checksum -p "src/**/*.js" -i "**/node_modules/**" -e "npm test"
41
+ ```
42
+
43
+ Override the working directory (both glob scanning and spawned command run relative to the given directory):
44
+
45
+ ```bash
46
+ run-by-checksum -p "*.js" -e "npm test" --cwd /path/to/project
47
+ ```
48
+
49
+ ### How it works
50
+
51
+ 1. **Scan**: All files matching the given glob patterns are collected.
52
+ 2. **Hash**: SHA-256 checksums are computed for each matched file's content and combined into a single hash.
53
+ 3. **Compare**: The combined hash is compared against a previously cached hash stored in `tmp/.checksum/<md5-key>.json`.
54
+ 4. **Execute**: If the hash differs (files have changed), the specified command is executed.
55
+ 5. **Cache**: Only if the command exits successfully (exit code 0) is the new checksum persisted to the cache. On failure, the old checksum is retained so the command will re-run on the next invocation.
56
+ 6. **Skip**: If the hash matches (no changes), the command is skipped.
57
+
58
+ ### Programmatic API
59
+
60
+ The core logic can also be imported directly:
61
+
62
+ ```js
63
+ import { runChecksum } from './src/run-by-checksum/run.js';
64
+
65
+ await runChecksum({
66
+ patterns: ['src/**/*.js'],
67
+ ignore: ['**/node_modules/**'],
68
+ exec: 'npm run build',
69
+ cwd: process.cwd(),
70
+ dryRun: false // set to true to detect changes without executing
71
+ });
72
+ ```
73
+
74
+ The function returns:
75
+
76
+ ```ts
77
+ {
78
+ changed: boolean, // whether files changed since last run
79
+ cacheFile: string, // path to the cache file
80
+ files: string[], // list of matched files
81
+ skipped?: boolean // only present when dryRun=true and changes detected
82
+ }
83
+ ```
84
+
85
+ ## Source
86
+
87
+ See [`src/run-by-checksum-cli.js`](../src/run-by-checksum-cli.js) (CLI) and [`src/run-by-checksum/`](../src/run-by-checksum/) (core logic).
@@ -0,0 +1,31 @@
1
+ ## Submodule Install
2
+
3
+ Installs and updates git submodules recursively, applying access tokens for private repos.
4
+
5
+ ### Usage
6
+
7
+ ```bash
8
+ submodule-install [options] [repo-path]
9
+ ```
10
+
11
+ ### Options
12
+
13
+ | Option | Description |
14
+ |--------|-------------|
15
+ | `--cwd <path>` | Set working directory |
16
+ | `-h, --help` | Show help message |
17
+
18
+ ### Description
19
+
20
+ - Installs and updates git submodules recursively
21
+ - Applies access tokens (`GITHUB_TOKEN` or `ACCESS_TOKEN` from `.env`) for private repositories
22
+ - Prevents infinite recursion loops by tracking visited submodules
23
+
24
+ ### Environment Setup
25
+
26
+ 1. Add `GITHUB_TOKEN` or `ACCESS_TOKEN` to your `.env` file
27
+ 2. Ensure your tokens have access to the required repositories
28
+
29
+ ### Source
30
+
31
+ See [`src/submodule-install.cjs`](../src/submodule-install.cjs)
@@ -0,0 +1,22 @@
1
+ ## Submodule Remove
2
+
3
+ Completely removes a git submodule from the repository.
4
+
5
+ ### Usage
6
+
7
+ ```bash
8
+ submodule-remove <submodule-path>
9
+ ```
10
+
11
+ ### Description
12
+
13
+ Performs a complete removal of a git submodule:
14
+ - De-initializes the submodule (`git submodule deinit`)
15
+ - Removes the submodule from `.gitmodules`
16
+ - Removes the submodule from `.git/config`
17
+ - Removes the submodule directory
18
+ - Commits the changes
19
+
20
+ ### Source
21
+
22
+ See [`src/submodule-remove.cjs`](../src/submodule-remove.cjs) & [`src/submodule-remove-cli.js`](../src/submodule-remove-cli.js)
@@ -0,0 +1,17 @@
1
+ ## Submodule Token Manager
2
+
3
+ Removes access tokens from git submodule URLs.
4
+
5
+ ### Usage
6
+
7
+ ```bash
8
+ submodule-token
9
+ ```
10
+
11
+ ### Description
12
+
13
+ Scans submodule URLs in `.gitmodules` and removes any embedded access tokens, leaving clean HTTPS URLs.
14
+
15
+ ### Source
16
+
17
+ See [`bin/submodule-token`](../bin/submodule-token)
@@ -0,0 +1,21 @@
1
+ ## Jest Test Runners
2
+
3
+ Run Jest tests for CommonJS or ESM modules.
4
+
5
+ ### Commands
6
+
7
+ | Command | Description |
8
+ |---------|-------------|
9
+ | `test-cjs` | Run Jest for CommonJS tests |
10
+ | `test-esm` | Run Jest for ESM tests (with `--experimental-vm-modules`) |
11
+
12
+ ### Usage
13
+
14
+ ```bash
15
+ test-cjs [jest-options...]
16
+ test-esm [jest-options...]
17
+ ```
18
+
19
+ ### Source
20
+
21
+ See [`bin/test-cjs`](../bin/test-cjs) & [`bin/test-esm`](../bin/test-esm)
@@ -0,0 +1,31 @@
1
+ ## Per-Branch Yarn Lock Installer
2
+
3
+ Manages per-branch `yarn.lock` files — saves and restores branch-specific lockfiles.
4
+
5
+ ### Aliases
6
+
7
+ - `yarn-install` (default)
8
+ - `y-install`
9
+ - `yarn-per-branch-lock-installer`
10
+
11
+ ### Usage
12
+
13
+ ```bash
14
+ yarn-install [packages...]
15
+ ```
16
+
17
+ ### Options
18
+
19
+ | Option | Description |
20
+ |--------|-------------|
21
+ | `-h, --help` | Show help message |
22
+
23
+ ### Description
24
+
25
+ - Saves the current `yarn.lock` to a branch-specific file before switching branches
26
+ - Restores the branch-specific `yarn.lock` when returning to a branch
27
+ - Runs `yarn install` or `yarn up` to sync dependencies
28
+
29
+ ### Source
30
+
31
+ See [`src/yarn-per-branch-lock-installer.cjs`](../src/yarn-per-branch-lock-installer.cjs)
@@ -0,0 +1,27 @@
1
+ ## Yarn Package Reinstaller
2
+
3
+ Reinstalls a yarn package by removing and re-adding it.
4
+
5
+ ### Usage
6
+
7
+ ```bash
8
+ yarn-reinstall <packageName> [--dev|-D|--peer|-P|--optional|-O]
9
+ ```
10
+
11
+ ### Options
12
+
13
+ | Option | Description |
14
+ |--------|-------------|
15
+ | `--dev`, `-D` | Add as dev dependency |
16
+ | `--peer`, `-P` | Add as peer dependency |
17
+ | `--optional`, `-O` | Add as optional dependency |
18
+
19
+ ### Description
20
+
21
+ - Checks if the package is currently installed before removing
22
+ - Runs `yarn remove <packageName>` then `yarn add <packageName> [flags]`
23
+ - Skips removal if the package is not installed
24
+
25
+ ### Source
26
+
27
+ See [`src/yarn-reinstall.cjs`](../src/yarn-reinstall.cjs)
@@ -0,0 +1,126 @@
1
+ var __getOwnPropNames = Object.getOwnPropertyNames;
2
+ var __esm = (fn, res) => function __init() {
3
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
4
+ };
5
+ var __commonJS = (cb, mod) => function __require() {
6
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
7
+ };
8
+
9
+ // node_modules/tsup/assets/cjs_shims.js
10
+ var init_cjs_shims = __esm({
11
+ "node_modules/tsup/assets/cjs_shims.js"() {
12
+ }
13
+ });
14
+
15
+ // src/utils/findEnvFiles.cjs
16
+ var require_findEnvFiles = __commonJS({
17
+ "src/utils/findEnvFiles.cjs"(exports2, module2) {
18
+ init_cjs_shims();
19
+ var fs = require("fs");
20
+ var path2 = require("path");
21
+ var glob = require("glob");
22
+ var DEFAULT_IGNORES = [
23
+ "**/node_modules/**",
24
+ "**/.git/**",
25
+ "**/.yarn/**",
26
+ "**/.pnpm/**",
27
+ "**/dist/**",
28
+ "**/build/**",
29
+ "**/coverage/**",
30
+ "**/vendor/**",
31
+ "**/tmp/**",
32
+ "**/.cache/**",
33
+ "**/assets/**",
34
+ "**/logs/**",
35
+ "**/output/**",
36
+ "**/public/**",
37
+ "**/static/**",
38
+ "**/temp/**",
39
+ "**/backup/**",
40
+ "**/backups/**",
41
+ "**/examples/**",
42
+ "**/docs/**",
43
+ "**/tests/**",
44
+ "**/__tests__/**",
45
+ "**/spec/**",
46
+ "**/__specs__/**",
47
+ "**/scripts/**",
48
+ "**/bin/**",
49
+ "**/hooks/**",
50
+ "**/config/**",
51
+ "**/configs/**",
52
+ "**/settings/**",
53
+ "**/.vscode/**",
54
+ "**/.idea/**"
55
+ ];
56
+ function findEnvFiles(startDir = process.cwd(), filter) {
57
+ const found = /* @__PURE__ */ new Set();
58
+ function addFile(file) {
59
+ const normalized = path2.normalize(file);
60
+ if (typeof filter === "function" && !filter(normalized)) {
61
+ return;
62
+ }
63
+ found.add(normalized);
64
+ }
65
+ let current = path2.resolve(startDir);
66
+ while (true) {
67
+ const envPath = path2.join(current, ".env");
68
+ if (fs.existsSync(envPath)) {
69
+ addFile(envPath);
70
+ }
71
+ const parent = path2.dirname(current);
72
+ if (parent === current) {
73
+ break;
74
+ }
75
+ current = parent;
76
+ }
77
+ const files = glob.globSync("**/.env*", {
78
+ cwd: startDir,
79
+ absolute: true,
80
+ nodir: true,
81
+ ignore: DEFAULT_IGNORES
82
+ });
83
+ for (const file of files) {
84
+ addFile(file);
85
+ }
86
+ return [...found];
87
+ }
88
+ function findEnvWithToken2(startDir = process.cwd(), tokenName = "GITHUB_TOKEN") {
89
+ const envFiles = findEnvFiles(startDir);
90
+ return envFiles.find((file) => {
91
+ try {
92
+ const content = fs.readFileSync(file, "utf-8");
93
+ const regex = new RegExp(`^\\s*${tokenName}\\s*=`, "m");
94
+ return regex.test(content);
95
+ } catch (err) {
96
+ console.warn(`Failed to read ${file}: ${err instanceof Error ? err.message : String(err)}`);
97
+ return false;
98
+ }
99
+ });
100
+ }
101
+ module2.exports = {
102
+ DEFAULT_IGNORES,
103
+ findEnvFiles,
104
+ findEnvWithToken: findEnvWithToken2,
105
+ default: findEnvFiles
106
+ };
107
+ }
108
+ });
109
+
110
+ // src/binary-collections/config.cjs
111
+ init_cjs_shims();
112
+ var path = require("upath");
113
+ var { findEnvWithToken } = require_findEnvFiles();
114
+ require("dotenv").config({ path: findEnvWithToken(), quiet: true, overwrite: true });
115
+ function getTempDir() {
116
+ return process.env.TEMP_DIR || path.join(process.cwd(), "tmp");
117
+ }
118
+ function getTempPath(...segments) {
119
+ return path.join(getTempDir(), ...segments);
120
+ }
121
+ var TEMP_BASE_DIR = getTempDir();
122
+ module.exports = {
123
+ getTempDir,
124
+ getTempPath,
125
+ TEMP_BASE_DIR
126
+ };
@@ -0,0 +1,7 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_config
4
+ } from "../chunk-X2B3X7D4.mjs";
5
+ import "../chunk-H44UWUFY.mjs";
6
+ import "../chunk-QQ4A6DLD.mjs";
7
+ export default require_config();
@@ -0,0 +1,19 @@
1
+ // src/binary-collections/executeScript.cjs
2
+ var { spawn } = require("child_process");
3
+ function executeScript(scriptPath, args) {
4
+ console.log(`\u{1F527} Executing script: ${scriptPath} args: ${args.join(" ")}
5
+ `);
6
+ const child = spawn("node", [scriptPath, ...args], {
7
+ stdio: "inherit",
8
+ shell: true
9
+ });
10
+ child.on("error", (error) => {
11
+ console.error(`\u274C Error executing script: ${error.message}`);
12
+ process.exit(1);
13
+ });
14
+ child.on("close", (code) => {
15
+ process.exit(code);
16
+ });
17
+ }
18
+ module.exports = executeScript;
19
+ module.exports.default = executeScript;
@@ -0,0 +1,12 @@
1
+ export = executeScript;
2
+ /**
3
+ * Executes a script file using Node.js with the provided arguments
4
+ * @function executeScript
5
+ * @param {string} scriptPath - The absolute path to the script file to execute
6
+ * @param {string[]} args - Array of arguments to pass to the script
7
+ * @returns {void} Exits the process when the script execution completes
8
+ */
9
+ declare function executeScript(scriptPath: string, args: string[]): void;
10
+ declare namespace executeScript {
11
+ export { executeScript as default };
12
+ }
@@ -0,0 +1,6 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ require_executeScript
4
+ } from "../chunk-PXBMHE7O.mjs";
5
+ import "../chunk-QQ4A6DLD.mjs";
6
+ export default require_executeScript();