binary-collections 2.0.10 → 2.0.12

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 (290) hide show
  1. package/.opencode/package.json +5 -0
  2. package/.puppeterrc.cjs +25 -0
  3. package/binaries/binary-executor.cjs +138 -3
  4. package/binaries/clean-nodemodule.cjs +138 -3
  5. package/binaries/clean-nodemodules.cjs +138 -3
  6. package/binaries/dev.cjs +138 -3
  7. package/binaries/empty.cjs +138 -3
  8. package/binaries/git-reduce-size.cjs +138 -3
  9. package/binaries/javakill.cjs +138 -3
  10. package/binaries/kill-night-crows.bat +7 -0
  11. package/binaries/kill-night-crows.ps1 +172 -0
  12. package/binaries/kill-process.cjs +138 -3
  13. package/binaries/nodekill.cjs +138 -3
  14. package/binaries/prod.cjs +138 -3
  15. package/binaries/py +111 -0
  16. package/binaries/py.cjs +178 -0
  17. package/binaries/py.cmd +49 -0
  18. package/binaries/rmfind.cjs +138 -3
  19. package/binaries/rmx +15 -1
  20. package/binaries/rmx.cjs +138 -3
  21. package/binaries/rmx.cmd +12 -0
  22. package/binaries/submodule-token.cjs +138 -3
  23. package/binaries/test-cjs +18 -0
  24. package/binaries/test-cjs.cjs +178 -0
  25. package/binaries/test-cjs.cmd +26 -0
  26. package/binaries/test-esm +16 -0
  27. package/binaries/test-esm.cjs +178 -0
  28. package/binaries/test-esm.cmd +23 -0
  29. package/binaries/yarn-clean +32 -0
  30. package/binaries/yarn-clean.cjs +178 -0
  31. package/binaries/yarn-clean.cmd +30 -0
  32. package/binaries/yarn-clean.py +166 -0
  33. package/binaries/yc +110 -0
  34. package/binaries/yc.cjs +178 -0
  35. package/lib/binary-collections/config.cjs +126 -0
  36. package/lib/binary-collections/config.mjs +7 -0
  37. package/lib/binary-collections/executeScript.cjs +19 -0
  38. package/lib/binary-collections/executeScript.d.cts +12 -0
  39. package/lib/binary-collections/executeScript.mjs +6 -0
  40. package/lib/binary-collections/findScript.cjs +284 -0
  41. package/lib/binary-collections/findScript.d.cts +12 -0
  42. package/lib/binary-collections/findScript.mjs +7 -0
  43. package/lib/binary-collections/listScript.cjs +266 -0
  44. package/lib/binary-collections/listScript.d.cts +19 -0
  45. package/lib/binary-collections/listScript.mjs +7 -0
  46. package/lib/binary-collections.cjs +342 -194
  47. package/lib/binary-collections.mjs +22 -268
  48. package/lib/changelog.cjs +61 -13
  49. package/lib/changelog.mjs +1 -1
  50. package/lib/{chunk-E6FDDAOO.mjs → chunk-2LSRSEXF.mjs} +2 -2
  51. package/lib/chunk-34IQDTLZ.mjs +27 -0
  52. package/lib/chunk-3HFFECCI.mjs +27 -0
  53. package/lib/{chunk-V3N3JEUF.mjs → chunk-5RTXZVCW.mjs} +60 -13
  54. package/lib/chunk-66KDU4TX.mjs +268 -0
  55. package/lib/chunk-6PU7BAHB.mjs +61 -0
  56. package/lib/{chunk-6HHJRKFB.mjs → chunk-BZWVHODJ.mjs} +4 -1
  57. package/lib/chunk-C6D2TTYU.mjs +32 -0
  58. package/lib/chunk-FB2WKVJD.mjs +158 -0
  59. package/lib/{chunk-66PAU5PS.mjs → chunk-G5UUEWUO.mjs} +9 -5
  60. package/lib/{chunk-HO6GHCOB.mjs → chunk-GAGABICI.mjs} +198 -63
  61. package/lib/chunk-H44UWUFY.mjs +105 -0
  62. package/lib/chunk-NCZPTKDV.mjs +79 -0
  63. package/lib/chunk-NGFK3EYW.mjs +28 -0
  64. package/lib/chunk-NVEG3LEZ.mjs +143 -0
  65. package/lib/chunk-OGXVGBRI.mjs +29 -0
  66. package/lib/chunk-OXV52GD5.mjs +62 -0
  67. package/lib/{chunk-PDSXF5HY.mjs → chunk-PDN26I7O.mjs} +1 -0
  68. package/lib/chunk-PXBMHE7O.mjs +35 -0
  69. package/lib/chunk-R5FJOR63.mjs +47 -0
  70. package/lib/chunk-SPTECFE5.mjs +180 -0
  71. package/lib/chunk-UXCFNAR6.mjs +55 -0
  72. package/lib/chunk-V2IBPCEV.mjs +39 -0
  73. package/lib/chunk-XPJGCDOD.mjs +14 -0
  74. package/lib/{chunk-AI4CVPJ7.mjs → chunk-ZDMWBSYF.mjs} +4 -4
  75. package/lib/chunk-ZOWVMII3.mjs +228 -0
  76. package/lib/clean-github-actions-caches-cli.cjs +465 -0
  77. package/lib/clean-github-actions-caches-cli.d.cts +1 -0
  78. package/lib/clean-github-actions-caches-cli.mjs +56 -0
  79. package/lib/clean-github-actions-caches.cjs +152 -160
  80. package/lib/clean-github-actions-caches.d.cts +15 -1
  81. package/lib/clean-github-actions-caches.mjs +4 -130
  82. package/lib/cross-env/command.cjs +63 -0
  83. package/lib/cross-env/command.d.ts +8 -0
  84. package/lib/cross-env/command.js +45 -0
  85. package/lib/cross-env/command.mjs +9 -0
  86. package/lib/cross-env/index.cjs +178 -0
  87. package/lib/cross-env/index.d.ts +8 -0
  88. package/lib/cross-env/index.js +102 -0
  89. package/lib/cross-env/index.mjs +101 -0
  90. package/lib/cross-env/variable.cjs +60 -0
  91. package/lib/cross-env/variable.d.ts +7 -0
  92. package/lib/cross-env/variable.js +59 -0
  93. package/lib/cross-env/variable.mjs +9 -0
  94. package/lib/del-gradle.cjs +61 -13
  95. package/lib/del-gradle.js +9 -8
  96. package/lib/del-gradle.mjs +1 -1
  97. package/lib/del-node-modules.cjs +143 -148
  98. package/lib/del-node-modules.js +210 -14
  99. package/lib/del-node-modules.mjs +148 -17
  100. package/lib/del-ps.cjs +61 -13
  101. package/lib/del-ps.js +9 -8
  102. package/lib/del-ps.mjs +1 -1
  103. package/lib/del-yarn-caches.cjs +61 -13
  104. package/lib/del-yarn-caches.js +2 -2
  105. package/lib/del-yarn-caches.mjs +1 -1
  106. package/lib/file/copy-cli.cjs +92 -0
  107. package/lib/file/copy-cli.d.mts +1 -0
  108. package/lib/file/copy-cli.mjs +55 -0
  109. package/lib/file/copy.cjs +56 -0
  110. package/lib/file/copy.d.mts +1 -0
  111. package/lib/file/copy.mjs +8 -0
  112. package/lib/file/move-cli.cjs +91 -0
  113. package/lib/file/move-cli.d.mts +1 -0
  114. package/lib/file/move-cli.mjs +55 -0
  115. package/lib/file/move.cjs +55 -0
  116. package/lib/file/move.d.mts +1 -0
  117. package/lib/file/move.mjs +8 -0
  118. package/lib/find-node-modules-cli.js +2 -1
  119. package/lib/free-chatgpt.cjs +259 -47
  120. package/lib/free-chatgpt.js +10 -10
  121. package/lib/free-chatgpt.mjs +2 -2
  122. package/lib/git/gitattributes.cjs +1 -0
  123. package/lib/git/gitattributes.d.cts +7 -2
  124. package/lib/git/gitattributes.mjs +1 -1
  125. package/lib/git/line-endings.cjs +2 -1
  126. package/lib/git/line-endings.mjs +2 -2
  127. package/lib/git/undo-commit-cli.cjs +110 -0
  128. package/lib/git/undo-commit-cli.d.ts +1 -0
  129. package/lib/git/undo-commit-cli.js +4 -0
  130. package/lib/git/undo-commit-cli.mjs +14 -0
  131. package/lib/git/undo-commit.cjs +81 -0
  132. package/lib/git/undo-commit.d.cts +1 -0
  133. package/lib/git/undo-commit.mjs +7 -0
  134. package/lib/git/undo-staged-cli.cjs +110 -0
  135. package/lib/git/undo-staged-cli.d.ts +1 -0
  136. package/lib/git/undo-staged-cli.js +4 -0
  137. package/lib/git/undo-staged-cli.mjs +14 -0
  138. package/lib/git/undo-staged.cjs +81 -0
  139. package/lib/git/undo-staged.d.cts +1 -0
  140. package/lib/git/undo-staged.mjs +7 -0
  141. package/lib/git/user-config.cjs +61 -14
  142. package/lib/git/user-config.mjs +2 -2
  143. package/lib/git-diff-cli.cjs +427 -75
  144. package/lib/git-diff-cli.d.ts +1 -0
  145. package/lib/git-diff-cli.js +1 -0
  146. package/lib/git-diff-cli.mjs +6 -4
  147. package/lib/git-diff.cjs +426 -75
  148. package/lib/git-diff.d.ts +2 -1
  149. package/lib/git-diff.js +91 -34
  150. package/lib/git-diff.mjs +5 -4
  151. package/lib/git-fix.cjs +64 -16
  152. package/lib/git-fix.mjs +10 -10
  153. package/lib/git-purge.cjs +61 -13
  154. package/lib/git-purge.mjs +1 -1
  155. package/lib/index.d.ts +1 -1
  156. package/lib/kill-night-crows.cjs +87 -0
  157. package/lib/kill-night-crows.d.mts +1 -0
  158. package/lib/kill-night-crows.mjs +65 -0
  159. package/lib/node-cache-cleaner/npm.cjs +65 -0
  160. package/lib/node-cache-cleaner/npm.d.ts +2 -0
  161. package/lib/node-cache-cleaner/npm.js +41 -0
  162. package/lib/node-cache-cleaner/npm.mjs +10 -0
  163. package/lib/node-cache-cleaner/npx.cjs +89 -0
  164. package/lib/node-cache-cleaner/npx.d.ts +4 -0
  165. package/lib/node-cache-cleaner/npx.js +82 -0
  166. package/lib/{ps/index.d.mjs → node-cache-cleaner/npx.mjs} +6 -5
  167. package/lib/node-cache-cleaner/yarn.cjs +73 -0
  168. package/lib/node-cache-cleaner/yarn.d.ts +2 -0
  169. package/lib/node-cache-cleaner/yarn.js +62 -0
  170. package/lib/node-cache-cleaner/yarn.mjs +10 -0
  171. package/lib/node-cache-cleaner-cli.cjs +182 -0
  172. package/lib/node-cache-cleaner-cli.d.ts +2 -0
  173. package/lib/node-cache-cleaner-cli.js +60 -0
  174. package/lib/node-cache-cleaner-cli.mjs +56 -0
  175. package/lib/node-executor.cjs +91 -0
  176. package/lib/node-executor.d.cts +2 -0
  177. package/lib/node-executor.mjs +103 -0
  178. package/lib/npm-run-series.cjs +79 -39
  179. package/lib/npm-run-series.mjs +20 -6
  180. package/lib/package-resolutions-updater-cli.cjs +645 -0
  181. package/lib/package-resolutions-updater-cli.d.mts +1 -0
  182. package/lib/package-resolutions-updater-cli.mjs +102 -0
  183. package/lib/package-resolutions-updater.cjs +259 -133
  184. package/lib/package-resolutions-updater.d.mts +51 -1
  185. package/lib/package-resolutions-updater.mjs +18 -294
  186. package/lib/php-cs-fixer-staged.cjs +105 -0
  187. package/lib/php-cs-fixer-staged.d.cts +2 -0
  188. package/lib/php-cs-fixer-staged.mjs +117 -0
  189. package/lib/print-directory-tree.cjs +62 -14
  190. package/lib/print-directory-tree.mjs +2 -2
  191. package/lib/ps/connected-domain.d.ts +1 -1
  192. package/lib/ps/connected-domain.js +10 -10
  193. package/lib/ps/index.cjs +1 -1
  194. package/lib/ps/index.mjs +177 -171
  195. package/lib/ps/isWin.js +1 -1
  196. package/lib/ps/table-parser.js +6 -6
  197. package/lib/remove-module.cjs +61 -13
  198. package/lib/remove-module.mjs +1 -1
  199. package/lib/rm-node-module-cli.cjs +222 -0
  200. package/lib/rm-node-module-cli.d.cts +1 -0
  201. package/lib/rm-node-module-cli.mjs +89 -0
  202. package/lib/rm-node-modules.cjs +127 -0
  203. package/lib/rm-node-modules.d.cts +35 -0
  204. package/lib/{binary-collections-config.mjs → rm-node-modules.mjs} +3 -3
  205. package/lib/rmpath.cjs +63 -15
  206. package/lib/rmpath.mjs +2 -2
  207. package/lib/submodule-install.cjs +107 -47
  208. package/lib/submodule-install.mjs +48 -35
  209. package/lib/submodule-remove-cli.cjs +6 -3
  210. package/lib/submodule-remove-cli.js +3 -3
  211. package/lib/submodule-remove-cli.mjs +2 -3
  212. package/lib/submodule-remove.cjs +4 -1
  213. package/lib/submodule-remove.mjs +1 -1
  214. package/lib/utils/chatgpt.cjs +198 -34
  215. package/lib/utils/chatgpt.js +260 -93
  216. package/lib/utils/chatgpt.mjs +1 -1
  217. package/lib/utils/findEnvFiles.cjs +89 -0
  218. package/lib/utils/findEnvFiles.d.cts +19 -0
  219. package/lib/utils/findEnvFiles.mjs +6 -0
  220. package/lib/utils/findWorkspaceRoot.cjs +70 -0
  221. package/lib/utils/findWorkspaceRoot.d.ts +9 -0
  222. package/lib/utils/findWorkspaceRoot.js +57 -0
  223. package/lib/utils/findWorkspaceRoot.mjs +40 -0
  224. package/lib/utils/index.cjs +60 -13
  225. package/lib/utils/index.mjs +1 -1
  226. package/lib/utils/isGithubTokenValid.cjs +64 -0
  227. package/lib/utils/isGithubTokenValid.d.ts +7 -0
  228. package/lib/utils/isGithubTokenValid.js +48 -0
  229. package/lib/utils/isGithubTokenValid.mjs +36 -0
  230. package/lib/{ps/index.d.cjs → utils/isWindows.cjs} +17 -3
  231. package/lib/utils/isWindows.d.ts +5 -0
  232. package/lib/utils/isWindows.js +10 -0
  233. package/lib/utils/isWindows.mjs +8 -0
  234. package/lib/utils/runBash.cjs +53 -0
  235. package/lib/utils/runBash.d.cts +12 -0
  236. package/lib/utils/runBash.mjs +66 -0
  237. package/lib/yarn-per-branch-lock-installer.cjs +97 -0
  238. package/lib/yarn-per-branch-lock-installer.d.cts +2 -0
  239. package/lib/yarn-per-branch-lock-installer.mjs +109 -0
  240. package/lib/yarn-reinstall.cjs +61 -13
  241. package/lib/yarn-reinstall.mjs +1 -1
  242. package/package.json +133 -110
  243. package/readme.html +784 -0
  244. package/readme.md +116 -229
  245. package/releases/readme.md +1 -1
  246. package/requirements.txt +1 -0
  247. package/test/README.md +2 -2
  248. package/test-project/package.json +8 -2
  249. package/test-project/workspaces/workspace-a/package.json +135 -0
  250. package/test-project/workspaces/workspace-a/readme.md +20 -0
  251. package/test-project/workspaces/workspace-a/release/readme.md +42 -0
  252. package/test-project/workspaces/workspace-a/test/demo/package.json +25 -0
  253. package/test-project/workspaces/workspace-a/test/readme.md +12 -0
  254. package/test-project/workspaces/workspace-b/package.json +139 -0
  255. package/test-project/workspaces/workspace-b/readme.md +94 -0
  256. package/test-project/workspaces/workspace-b/requirements.txt +1 -0
  257. package/test-project/workspaces/workspace-b/test/sample-project/package.json +7 -0
  258. package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/package.json +96 -0
  259. package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/readme.md +156 -0
  260. package/tmp/rm-node-modules-test-project/package.json +17 -0
  261. package/tmp/rm-node-modules-test-project/packages/workspace-a/package.json +16 -0
  262. package/tmp/rm-node-modules-test-project/packages/workspace-b/package.json +16 -0
  263. package/tmp/test-repo/README.md +2 -35
  264. package/tmp/test-repo/package.json +13 -3
  265. package/docs-src/clean-github-actions-caches.md +0 -26
  266. package/docs-src/free-chatgpt.md +0 -26
  267. package/lib/binary-collections-config.cjs +0 -15
  268. package/lib/chunk-4EWQC6GZ.mjs +0 -382
  269. package/lib/chunk-4ZI7BQKQ.mjs +0 -381
  270. package/lib/chunk-5J2BEPY5.mjs +0 -83
  271. package/lib/chunk-AGZYRDC2.mjs +0 -323
  272. package/lib/chunk-BDCHCWHD.mjs +0 -136
  273. package/lib/chunk-BEZKJ25G.mjs +0 -140
  274. package/lib/chunk-DI5MDPSN.mjs +0 -386
  275. package/lib/chunk-GJTGHXRA.mjs +0 -356
  276. package/lib/chunk-HMRMTYZM.mjs +0 -40
  277. package/lib/chunk-HN52G2YL.mjs +0 -305
  278. package/lib/chunk-LEM5OMRP.mjs +0 -384
  279. package/lib/chunk-O6SWBEOQ.mjs +0 -81
  280. package/lib/chunk-RCP7DHVY.mjs +0 -190
  281. package/lib/chunk-SBNDSKG5.mjs +0 -136
  282. package/lib/chunk-U6SO4QEV.mjs +0 -320
  283. package/lib/chunk-XD6BJK6Q.mjs +0 -351
  284. package/lib/chunk-YXSFGA2D.mjs +0 -383
  285. package/lib/git/gitattributes.d.ts +0 -33
  286. package/lib/git/gitattributes.js +0 -223
  287. package/lib/ps/index.d.ts +0 -2
  288. package/lib/ps/index.js +0 -253
  289. package/tmp/typedoc/readme.md +0 -320
  290. /package/lib/{binary-collections-config.d.cts → binary-collections/config.d.cts} +0 -0
@@ -17,7 +17,7 @@ var init_cjs_shims = __esm({
17
17
  var require_utils = __commonJS({
18
18
  "src/utils/index.cjs"(exports2, module2) {
19
19
  init_cjs_shims();
20
- var fs2 = require("fs");
20
+ var fs = require("fs");
21
21
  var path2 = require("upath");
22
22
  var argv = require("minimist")(process.argv.slice(2));
23
23
  var { exec } = require("child_process");
@@ -68,31 +68,78 @@ var require_utils = __commonJS({
68
68
  }
69
69
  module2.exports.getArgs = getArgs2;
70
70
  function del(fullPath) {
71
- if (fs2.statSync(fullPath).isDirectory()) {
72
- const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
73
- for (let i = 0; i < subdir.length; i++) {
74
- del(subdir[i]);
71
+ try {
72
+ if (!fs.existsSync(fullPath)) return;
73
+ const stat = fs.lstatSync(fullPath);
74
+ if (stat.isSymbolicLink()) {
75
+ try {
76
+ fs.unlinkSync(fullPath);
77
+ console.log("deleted symlink", fullPath);
78
+ } catch (e) {
79
+ console.log("failed delete symlink", fullPath, e && e.message);
80
+ }
81
+ return;
82
+ }
83
+ if (stat.isDirectory()) {
84
+ const subdir = fs.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
85
+ for (let i = 0; i < subdir.length; i++) {
86
+ del(subdir[i]);
87
+ }
88
+ try {
89
+ fs.rmdirSync(fullPath);
90
+ console.log("deleted", fullPath);
91
+ } catch (_e) {
92
+ try {
93
+ fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
94
+ console.log("deleted", fullPath);
95
+ } catch (ee) {
96
+ console.log("failed delete", fullPath, ee && ee.message);
97
+ }
98
+ }
99
+ return;
75
100
  }
76
- } else {
77
101
  try {
78
- fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
102
+ fs.unlinkSync(fullPath);
79
103
  console.log("deleted", fullPath);
80
- } catch (_) {
81
- console.log("failed delete", fullPath);
104
+ } catch (_e) {
105
+ try {
106
+ fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
107
+ console.log("deleted", fullPath);
108
+ } catch (ee) {
109
+ console.log("failed delete", fullPath, ee && ee.message);
110
+ }
82
111
  }
112
+ } catch (err) {
113
+ console.log("failed delete", fullPath, err && err.message);
83
114
  }
84
115
  }
85
116
  module2.exports.del = del;
86
117
  function delStream(globStream) {
87
118
  globStream.stream().on("data", (result) => {
88
119
  const fullPath = path2.resolve(process.cwd(), result);
89
- if (fs2.statSync(fullPath).isDirectory()) {
90
- const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
91
- for (let i = 0; i < subdir.length; i++) {
92
- del(subdir[i]);
120
+ try {
121
+ if (fs.existsSync(fullPath)) {
122
+ const stat = fs.lstatSync(fullPath);
123
+ if (stat.isSymbolicLink()) {
124
+ try {
125
+ fs.unlinkSync(fullPath);
126
+ console.log("deleted symlink", fullPath);
127
+ } catch (e) {
128
+ console.log("failed delete symlink", fullPath, e && e.message);
129
+ }
130
+ return;
131
+ }
132
+ if (stat.isDirectory()) {
133
+ const subdir = fs.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
134
+ for (let i = 0; i < subdir.length; i++) {
135
+ del(subdir[i]);
136
+ }
137
+ }
93
138
  }
139
+ del(fullPath);
140
+ } catch (err) {
141
+ console.log("failed processing", fullPath, err && err.message);
94
142
  }
95
- del(fullPath);
96
143
  });
97
144
  }
98
145
  module2.exports.delStream = delStream;
@@ -143,7 +190,7 @@ var require_package = __commonJS({
143
190
  "package.json"(exports2, module2) {
144
191
  module2.exports = {
145
192
  name: "binary-collections",
146
- version: "2.0.10",
193
+ version: "2.0.12",
147
194
  description: "Utility to clean any programming caches and more",
148
195
  keywords: [
149
196
  "cache",
@@ -180,73 +227,26 @@ var require_package = __commonJS({
180
227
  "binaries",
181
228
  "lib",
182
229
  "package.json",
183
- "docs-src/**/*.md",
184
- "readme.md"
230
+ "readme.md",
231
+ ".puppeterrc.cjs",
232
+ "requirements.txt"
185
233
  ],
186
- bin: {
187
- "binary-collections": "lib/binary-collections.cjs",
188
- "binary-executor": "binaries/binary-executor.cjs",
189
- changelog: "lib/changelog.cjs",
190
- chatgpt: "lib/free-chatgpt.cjs",
191
- "clean-github-actions-cache": "lib/clean-github-actions-caches.cjs",
192
- "clean-github-actions-caches": "lib/clean-github-actions-caches.cjs",
193
- "clean-nodemodule": "binaries/clean-nodemodule.cjs",
194
- "clean-nodemodules": "binaries/clean-nodemodules.cjs",
195
- "clear-gh-caches": "lib/clean-github-actions-caches.cjs",
196
- "clear-github-actions-cache": "lib/clean-github-actions-caches.cjs",
197
- "clear-github-actions-caches": "lib/clean-github-actions-caches.cjs",
198
- "del-gradle": "lib/del-gradle.cjs",
199
- "del-node-modules": "lib/del-node-modules.cjs",
200
- "del-nodemodules": "lib/del-node-modules.cjs",
201
- "del-ps": "lib/del-ps.cjs",
202
- "del-yarn-caches": "lib/del-yarn-caches.cjs",
203
- "del-yarncaches": "lib/del-yarn-caches.cjs",
204
- dev: "binaries/dev.cjs",
205
- "dir-tree": "lib/print-directory-tree.cjs",
206
- empty: "binaries/empty.cjs",
207
- "find-node-modules": "lib/find-node-modules-cli.cjs",
208
- "free-chatgpt": "lib/free-chatgpt.cjs",
209
- "git-diff": "lib/git-diff-cli.cjs",
210
- "git-fix": "lib/git-fix.cjs",
211
- "git-purge": "lib/git-purge.cjs",
212
- "git-reduce-size": "binaries/git-reduce-size.cjs",
213
- javakill: "binaries/javakill.cjs",
214
- "kill-process": "binaries/kill-process.cjs",
215
- nodekill: "binaries/nodekill.cjs",
216
- "npm-run-series": "lib/npm-run-series.cjs",
217
- nrs: "lib/npm-run-series.cjs",
218
- "package-resolutions-updater": "lib/package-resolutions-updater.cjs",
219
- "pkg-res-updater": "lib/package-resolutions-updater.cjs",
220
- "pkg-resolutions-updater": "lib/package-resolutions-updater.cjs",
221
- "print-directory-tree": "lib/print-directory-tree.cjs",
222
- "print-tree": "lib/print-directory-tree.cjs",
223
- prod: "binaries/prod.cjs",
224
- "remove-module": "lib/remove-module.cjs",
225
- rmfind: "binaries/rmfind.cjs",
226
- rmpath: "lib/rmpath.cjs",
227
- rmx: "binaries/rmx.cjs",
228
- "run-s": "lib/npm-run-series.cjs",
229
- "run-series": "lib/npm-run-series.cjs",
230
- "submodule-install": "lib/submodule-install.cjs",
231
- "submodule-remove": "lib/submodule-remove-cli.cjs",
232
- "submodule-token": "binaries/submodule-token.cjs",
233
- "yarn-reinstall": "lib/yarn-reinstall.cjs"
234
- },
235
234
  scripts: {
236
- build: "tsc -b tsconfig.build.json && npm run build:tsup && npm run postbuild",
237
- "build:packages": "yarn workspaces foreach --worktree --exclude=binary-collections --no-private run build",
238
- "build:rollup": "rollup -c rollup.config.js",
239
- "build:tsup": "node build.tsup.js",
235
+ build: "tsc -b tsconfig.build.json && npm run build-tsup && npm run build-exports",
236
+ "build-exports": "node -r ts-node/register -r dotenv/config build.exports.mjs",
237
+ "build-packages": "yarn workspaces foreach --worktree --exclude=binary-collections --no-private run build",
238
+ "build-rollup": "rollup -c rollup.config.js",
239
+ "build-tsup": "node build.tsup.js",
240
240
  clean: "rimraf lib tmp/dist binaries",
241
241
  pack: "node packer.cjs --yarn --filename=bin",
242
- postbuild: "node -r ts-node/register -r dotenv/config build.exports.mjs && yarn run pack",
243
242
  prepare: "husky",
244
- test: 'npx jest --runInBand --forceExit --testTimeout=120000 --testPathIgnorePatterns="\\.mjs$"',
245
- "test:coverage": "npm test --coverage --detectOpenHandles",
246
- "test:esm": 'node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit --testTimeout=120000 --testPathIgnorePatterns="\\.(ts|js|cjs)$"',
247
- "test:nrs": "npm test -- nrs build:**",
248
- "test:watch": "npm test --watch",
249
- "update:ncu": "npx npm-check-updates -u -x jsdom,chalk,hexo,deepmerge-ts --enginesNode --root",
243
+ "puppeteer:browser": "npx -y puppeteer browsers install chrome",
244
+ test: "test-cjs",
245
+ "test-coverage": "npm test --coverage --detectOpenHandles",
246
+ "test-esm": "test-esm",
247
+ "test-nrs": "npm test -- nrs build-**",
248
+ "test-watch": "npm test --watch",
249
+ "update:ncu": "npx npm-check-updates -u --enginesNode --root -x jest -x @types/jest -x babel-jest -x @babel/core -x @babel/preset-env -x @babel/preset-typescript -x ts-jest -x eslint -x @eslint/eslintrc -x @eslint/js -x @typescript-eslint/eslint-plugin -x @typescript-eslint/parser -x eslint-config-prettier -x eslint-plugin-prettier -x typescript-eslint -x prettier -x typescript -x ts-node -x @yarnpkg/core",
250
250
  "update:packer": "curl -L https://github.com/dimaslanjaka/nodejs-package-types/raw/main/packer.js > packer.cjs"
251
251
  },
252
252
  repository: {
@@ -254,69 +254,58 @@ var require_package = __commonJS({
254
254
  url: "git+https://github.com/dimaslanjaka/bin"
255
255
  },
256
256
  dependencies: {
257
+ "@yarnpkg/core": "^4.7.0",
257
258
  "ansi-colors": "^4.1.3",
258
- axios: "^1.11.0",
259
- dotenv: "^17.2.1",
260
- execa: "^9.6.0",
261
- "fs-extra": "^11.3.1",
262
- "git-command-helper": "^2.1.0",
263
- glob: "^11.0.3",
264
- minimatch: "^10.0.3",
259
+ axios: "^1.16.1",
260
+ "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/78b09a1f799430fb251c1b438ec56ce7957674f4/release/cross-spawn.tgz",
261
+ dotenv: "^17.4.2",
262
+ "fs-extra": "^11.3.5",
263
+ "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/ed17f70eb7444d24bd8eb984a4afe9fd64652838/release/git-command-helper.tgz",
264
+ glob: "^13.0.6",
265
+ minimatch: "^10.2.5",
265
266
  minimist: "^1.2.8",
266
267
  "ps-node": "^0.1.6",
267
- puppeteer: "^24.17.0",
268
+ puppeteer: "^25.0.4",
268
269
  "puppeteer-extra": "^3.3.6",
269
270
  "puppeteer-extra-plugin-stealth": "^2.11.2",
270
- remove: "^0.1.5",
271
- "sbg-utility": "^2.0.10",
272
- upath: "^2.0.1",
273
- yaml: "^2.8.1",
271
+ "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/44e5c7b79b4e60f8c2d34857c27b8ce677d7493e/packages/sbg-utility/release/sbg-utility.tgz",
272
+ upath: "^3.0.7",
273
+ yaml: "^2.9.0",
274
274
  yarn: "^1.22.22"
275
275
  },
276
276
  devDependencies: {
277
- "@babel/core": "^7.28.3",
278
- "@babel/preset-env": "^7.28.3",
279
- "@babel/preset-typescript": "^7.27.1",
280
- "@eslint/eslintrc": "^3.3.1",
281
- "@eslint/js": "^9.34.0",
282
- "@rollup/plugin-babel": "^6.0.4",
283
- "@rollup/plugin-commonjs": "^28.0.6",
277
+ "@babel/core": "^7.29.0",
278
+ "@babel/plugin-syntax-import-assertions": "^7.28.6",
279
+ "@babel/preset-env": "^7.29.2",
280
+ "@babel/preset-typescript": "^7.28.5",
281
+ "@dimaslanjaka/eslint-base-config": "^1.0.1",
282
+ "@rollup/plugin-babel": "^7.0.0",
283
+ "@rollup/plugin-commonjs": "^29.0.2",
284
284
  "@rollup/plugin-json": "^6.1.0",
285
- "@rollup/plugin-node-resolve": "^16.0.1",
285
+ "@rollup/plugin-node-resolve": "^16.0.3",
286
286
  "@types/babel__core": "^7",
287
287
  "@types/babel__preset-env": "^7",
288
- "@types/eslint": "^9",
289
288
  "@types/fs-extra": "^11",
290
289
  "@types/jest": "^30.0.0",
291
290
  "@types/minimist": "^1",
292
- "@types/node": "^24.3.0",
293
- "@types/prettier": "^3",
291
+ "@types/mocha": "^10.0.10",
292
+ "@types/node": "^25.9.1",
294
293
  "@types/ps-node": "^0",
295
- "@types/yargs": "^17",
296
- "@typescript-eslint/eslint-plugin": "^8.40.0",
297
- "@typescript-eslint/parser": "^8.40.0",
298
- "babel-jest": "^30.0.5",
294
+ "babel-jest": "^30.4.1",
299
295
  "browser-sync": "^3.0.4",
300
- "cross-env": "^10.0.0",
301
- "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/private/release/cross-spawn.tgz",
302
- eslint: "^9.34.0",
303
- "eslint-config-prettier": "^10.1.8",
304
- "eslint-plugin-prettier": "^5.5.4",
305
- globals: "^16.3.0",
296
+ "cross-env": "^10.1.0",
297
+ globals: "^17.6.0",
306
298
  gulp: "^5.0.1",
307
299
  husky: "^9.1.7",
308
- jest: "^30.0.5",
309
- "lint-staged": "^16.1.5",
310
- marked: "^16.2.0",
311
- prettier: "^3.6.2",
312
- rimraf: "^6.0.1",
313
- rollup: "^4.48.1",
314
- "ts-jest": "^29.4.1",
300
+ jest: "^30.4.2",
301
+ "lint-staged": "^17.0.5",
302
+ marked: "^18.0.4",
303
+ rimraf: "^6.1.3",
304
+ rollup: "^4.60.4",
305
+ "ts-jest": "^29.4.9",
315
306
  "ts-node": "^10.9.2",
316
- tsup: "^8.5.0",
317
- typedoc: "^0.28.11",
318
- "typedoc-plugin-ga": "^1.0.5",
319
- typescript: "^5.9.2"
307
+ tsup: "^8.5.1",
308
+ typescript: "^6.0.3"
320
309
  },
321
310
  directories: {
322
311
  lib: "lib",
@@ -327,22 +316,238 @@ var require_package = __commonJS({
327
316
  ],
328
317
  packageManager: "yarn@4.9.2",
329
318
  resolutions: {
330
- "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/80999ac7a7031a81e11ddb5fab0f8ba433041c98/release/cross-spawn.tgz",
331
- "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/47133aa918c1292c15949c7f190be9cb302cd6f4/release/git-command-helper.tgz",
332
- "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/f58af787eab404891d8394fe0570ce603e0d7308/packages/sbg-utility/release/sbg-utility.tgz"
319
+ "@types/through2": "https://github.com/dimaslanjaka/nodejs-package-types/raw/refs/heads/through2/release/types-through2.tgz",
320
+ "cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/78b09a1f799430fb251c1b438ec56ce7957674f4/release/cross-spawn.tgz",
321
+ "git-command-helper": "https://github.com/dimaslanjaka/git-command-helper/raw/ed17f70eb7444d24bd8eb984a4afe9fd64652838/release/git-command-helper.tgz",
322
+ "sbg-utility": "https://github.com/dimaslanjaka/static-blog-generator/raw/44e5c7b79b4e60f8c2d34857c27b8ce677d7493e/packages/sbg-utility/release/sbg-utility.tgz",
323
+ "@dimaslanjaka/eslint-base-config": "https://github.com/dimaslanjaka/eslint-base-config/raw/69ca996fdeaac42c93dd590124996eff58b5d6c2/release/dimaslanjaka-eslint-base-config.tgz"
324
+ },
325
+ bin: {
326
+ "binary-collections": "lib/binary-collections.cjs",
327
+ "binary-executor": "binaries/binary-executor.cjs",
328
+ changelog: "lib/changelog.cjs",
329
+ chatgpt: "lib/free-chatgpt.cjs",
330
+ "clean-github-actions-cache": "lib/clean-github-actions-caches-cli.cjs",
331
+ "clean-github-actions-caches": "lib/clean-github-actions-caches-cli.cjs",
332
+ "clean-nodemodule": "binaries/clean-nodemodule.cjs",
333
+ "clean-nodemodules": "binaries/clean-nodemodules.cjs",
334
+ "clear-gh-caches": "lib/clean-github-actions-caches-cli.cjs",
335
+ "clear-github-actions-cache": "lib/clean-github-actions-caches-cli.cjs",
336
+ "clear-github-actions-caches": "lib/clean-github-actions-caches-cli.cjs",
337
+ copy: "lib/file/copy-cli.cjs",
338
+ "copy-file": "lib/file/copy-cli.cjs",
339
+ "del-gradle": "lib/del-gradle.cjs",
340
+ "del-node-modules": "lib/del-node-modules.cjs",
341
+ "del-nodemodules": "lib/del-node-modules.cjs",
342
+ "del-ps": "lib/del-ps.cjs",
343
+ "del-yarn-caches": "lib/del-yarn-caches.cjs",
344
+ "del-yarncaches": "lib/del-yarn-caches.cjs",
345
+ dev: "binaries/dev.cjs",
346
+ "dir-tree": "lib/print-directory-tree.cjs",
347
+ empty: "binaries/empty.cjs",
348
+ "exec-node": "lib/node-executor.cjs",
349
+ "execute-node": "lib/node-executor.cjs",
350
+ "find-node-modules": "lib/find-node-modules-cli.cjs",
351
+ "free-chatgpt": "lib/free-chatgpt.cjs",
352
+ "git-diff": "lib/git-diff-cli.cjs",
353
+ "git-fix": "lib/git-fix.cjs",
354
+ "git-purge": "lib/git-purge.cjs",
355
+ "git-reduce-size": "binaries/git-reduce-size.cjs",
356
+ "git-undo-commit": "lib/git/undo-commit.cjs",
357
+ "git-undo-staged": "lib/git/undo-staged.cjs",
358
+ javakill: "binaries/javakill.cjs",
359
+ "kill-night-crows": "lib/kill-night-crows.cjs",
360
+ "kill-process": "binaries/kill-process.cjs",
361
+ move: "lib/file/move-cli.cjs",
362
+ "move-file": "lib/file/move-cli.cjs",
363
+ "node-cache-cleaner": "lib/node-cache-cleaner-cli.cjs",
364
+ "node-copy": "lib/file/copy-cli.cjs",
365
+ "node-exec": "lib/node-executor.cjs",
366
+ "node-executor": "lib/node-executor.cjs",
367
+ "node-move": "lib/file/move-cli.cjs",
368
+ nodekill: "binaries/nodekill.cjs",
369
+ "npm-run-series": "lib/npm-run-series.cjs",
370
+ nrs: "lib/npm-run-series.cjs",
371
+ "package-resolutions-updater": "lib/package-resolutions-updater-cli.cjs",
372
+ "php-cs-fixer-staged": "lib/php-cs-fixer-staged.cjs",
373
+ "pkg-res-updater": "lib/package-resolutions-updater-cli.cjs",
374
+ "pkg-resolutions-updater": "lib/package-resolutions-updater-cli.cjs",
375
+ "print-directory-tree": "lib/print-directory-tree.cjs",
376
+ "print-tree": "lib/print-directory-tree.cjs",
377
+ prod: "binaries/prod.cjs",
378
+ py: "binaries/py.cjs",
379
+ "remove-module": "lib/remove-module.cjs",
380
+ "remove-node-module": "lib/rm-node-module-cli.cjs",
381
+ "remove-node-modules": "lib/rm-node-module-cli.cjs",
382
+ "rm-node-module": "lib/rm-node-module-cli.cjs",
383
+ "rm-node-modules": "lib/rm-node-module-cli.cjs",
384
+ rmfind: "binaries/rmfind.cjs",
385
+ rmpath: "lib/rmpath.cjs",
386
+ rmx: "binaries/rmx.cjs",
387
+ "run-s": "lib/npm-run-series.cjs",
388
+ "run-series": "lib/npm-run-series.cjs",
389
+ "submodule-install": "lib/submodule-install.cjs",
390
+ "submodule-remove": "lib/submodule-remove-cli.cjs",
391
+ "submodule-token": "binaries/submodule-token.cjs",
392
+ "test-cjs": "binaries/test-cjs.cjs",
393
+ "test-esm": "binaries/test-esm.cjs",
394
+ "undo-commit": "lib/git/undo-commit.cjs",
395
+ "undo-last-commit": "lib/git/undo-commit.cjs",
396
+ "undo-staged": "lib/git/undo-staged.cjs",
397
+ "y-install": "lib/yarn-per-branch-lock-installer.cjs",
398
+ "yarn-clean": "binaries/yarn-clean.cjs",
399
+ "yarn-install": "lib/yarn-per-branch-lock-installer.cjs",
400
+ "yarn-per-branch-lock-installer": "lib/yarn-per-branch-lock-installer.cjs",
401
+ "yarn-reinstall": "lib/yarn-reinstall.cjs",
402
+ yc: "binaries/yc.cjs"
333
403
  }
334
404
  };
335
405
  }
336
406
  });
337
407
 
408
+ // src/binary-collections/findScript.cjs
409
+ var require_findScript = __commonJS({
410
+ "src/binary-collections/findScript.cjs"(exports2, module2) {
411
+ init_cjs_shims();
412
+ var { glob } = require("glob");
413
+ var path2 = require("upath");
414
+ var fs = require("fs-extra");
415
+ var pkgJson = require_package();
416
+ function findScript2(scriptName, searchDir = null) {
417
+ if (!searchDir) searchDir = path2.join(__dirname, "..");
418
+ let result;
419
+ const ignorePatterns = [
420
+ `**/*config*.{cjs,js,mjs}`,
421
+ `**/utils.{cjs,js,mjs}`,
422
+ `**/index.{cjs,js,mjs}`,
423
+ `**/chunk-*.{cjs,js,mjs}`,
424
+ `**/*.d.{ts,cts,mts}`
425
+ // ignore TypeScript declaration files
426
+ ];
427
+ try {
428
+ const pattern = `${scriptName}.{cjs,js,mjs}`;
429
+ const files = glob.sync(pattern, {
430
+ cwd: searchDir,
431
+ ignore: ignorePatterns,
432
+ absolute: true
433
+ });
434
+ if (files.length > 0) {
435
+ result = files[0];
436
+ } else {
437
+ if (pkgJson.bin[scriptName]) {
438
+ const find = [
439
+ path2.join(searchDir, pkgJson.bin[scriptName]),
440
+ path2.join(process.cwd(), "node_modules/binary-collections", pkgJson.bin[scriptName]),
441
+ path2.join(__dirname, pkgJson.bin[scriptName]),
442
+ path2.join(path2.join(__dirname, ".."), pkgJson.bin[scriptName]),
443
+ path2.join(path2.join(__dirname, "../.."), pkgJson.bin[scriptName])
444
+ ];
445
+ const filtered = find.filter((file) => fs.existsSync(file));
446
+ if (filtered.length > 0) {
447
+ result = filtered[0];
448
+ } else {
449
+ console.warn(`\u26A0\uFE0F Script "${scriptName}" not found in ${searchDir}.`);
450
+ console.warn(`\u{1F50D} Searched for: ${pattern} in ${searchDir}`);
451
+ }
452
+ }
453
+ }
454
+ } catch (error) {
455
+ console.error(`\u{1F50D} Error searching for script: ${error.message}`);
456
+ }
457
+ if (result && !result.includes("-cli")) {
458
+ const ext = path2.extname(result);
459
+ const filename = path2.basename(result, ext);
460
+ const cliFile = path2.join(path2.dirname(result), `${filename}-cli${ext}`);
461
+ if (fs.existsSync(cliFile)) {
462
+ result = cliFile;
463
+ console.log(`\u{1F50D} Found CLI version: ${cliFile}`);
464
+ }
465
+ }
466
+ return result;
467
+ }
468
+ module2.exports = findScript2;
469
+ module2.exports.default = findScript2;
470
+ }
471
+ });
472
+
473
+ // src/binary-collections/executeScript.cjs
474
+ var require_executeScript = __commonJS({
475
+ "src/binary-collections/executeScript.cjs"(exports2, module2) {
476
+ init_cjs_shims();
477
+ var { spawn } = require("child_process");
478
+ function executeScript2(scriptPath, args) {
479
+ console.log(`\u{1F527} Executing script: ${scriptPath} args: ${args.join(" ")}
480
+ `);
481
+ const child = spawn("node", [scriptPath, ...args], {
482
+ stdio: "inherit",
483
+ shell: true
484
+ });
485
+ child.on("error", (error) => {
486
+ console.error(`\u274C Error executing script: ${error.message}`);
487
+ process.exit(1);
488
+ });
489
+ child.on("close", (code) => {
490
+ process.exit(code);
491
+ });
492
+ }
493
+ module2.exports = executeScript2;
494
+ module2.exports.default = executeScript2;
495
+ }
496
+ });
497
+
498
+ // src/binary-collections/listScript.cjs
499
+ var require_listScript = __commonJS({
500
+ "src/binary-collections/listScript.cjs"(exports2, module2) {
501
+ init_cjs_shims();
502
+ var pkgJson = require_package();
503
+ var path2 = require("upath");
504
+ var fs = require("fs-extra");
505
+ function listScript(verbose = false) {
506
+ const keys = Object.keys(pkgJson.bin);
507
+ const results = [];
508
+ for (const scriptName of keys) {
509
+ if (verbose) {
510
+ console.log(`\u{1F50D} Finding script "${scriptName}" -> "${pkgJson.bin[scriptName]}"`);
511
+ }
512
+ const searchDirs = [
513
+ path2.join(__dirname, ".."),
514
+ path2.join(__dirname, "../.."),
515
+ path2.join(process.cwd(), "node_modules/binary-collections"),
516
+ __dirname
517
+ ];
518
+ let scriptPath;
519
+ for (const searchDir of searchDirs) {
520
+ scriptPath = path2.join(searchDir, pkgJson.bin[scriptName]);
521
+ if (fs.existsSync(scriptPath)) {
522
+ break;
523
+ }
524
+ }
525
+ if (!fs.existsSync(scriptPath)) {
526
+ console.warn(`\u26A0\uFE0F Script "${scriptName}" defined in package.json not found at ${scriptPath}`);
527
+ } else {
528
+ if (verbose) {
529
+ console.log(`\u2705 Found script "${scriptName}" at ${scriptPath}`);
530
+ }
531
+ results.push({
532
+ name: scriptName,
533
+ path: path2.relative(process.cwd(), scriptPath),
534
+ absolutePath: path2.resolve(scriptPath)
535
+ });
536
+ }
537
+ }
538
+ return results;
539
+ }
540
+ module2.exports = listScript;
541
+ module2.exports.default = listScript;
542
+ }
543
+ });
544
+
338
545
  // src/binary-collections.cjs
339
546
  init_cjs_shims();
340
- var { spawn } = require("child_process");
341
- var { glob } = require("glob");
342
547
  var path = require("upath");
343
548
  var { getArgs } = require_utils();
344
- var pkgJson = require_package();
345
- var fs = require("fs-extra");
549
+ var findScript = require_findScript();
550
+ var executeScript = require_executeScript();
346
551
  function showHelp() {
347
552
  console.log("\u{1F680} Binary Collections - Dynamic Script Runner");
348
553
  console.log("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
@@ -361,79 +566,22 @@ function showHelp() {
361
566
  console.log(" --help, -h Show this help message");
362
567
  process.exit(0);
363
568
  }
364
- function findScript(scriptName, searchDir = null) {
365
- if (!searchDir) searchDir = __dirname;
366
- let result;
367
- const ignorePatterns = [
368
- `**/*config*.{cjs,js,mjs}`,
369
- `**/utils.{cjs,js,mjs}`,
370
- `**/index.{cjs,js,mjs}`,
371
- `**/chunk-*.{cjs,js,mjs}`,
372
- `**/*.d.{ts,cts,mts}`
373
- // ignore TypeScript declaration files
374
- ];
375
- try {
376
- const pattern = `${scriptName}.{cjs,js,mjs}`;
377
- const files = glob.sync(pattern, {
378
- cwd: searchDir,
379
- ignore: ignorePatterns,
380
- absolute: true
381
- });
382
- if (files.length > 0) {
383
- result = files[0];
384
- } else {
385
- if (pkgJson.bin[scriptName]) {
386
- const find = [
387
- path.join(searchDir, pkgJson.bin[scriptName]),
388
- path.join(process.cwd(), "node_modules/binary-collections", pkgJson.bin[scriptName]),
389
- path.join(__dirname, pkgJson.bin[scriptName]),
390
- path.join(path.join(__dirname, ".."), pkgJson.bin[scriptName])
391
- ];
392
- const filtered = find.filter((file) => fs.existsSync(file));
393
- if (filtered.length > 0) {
394
- result = filtered[0];
395
- } else {
396
- console.warn(`\u26A0\uFE0F Script "${scriptName}" not found in ${searchDir}.`);
397
- console.warn(`\u{1F50D} Searched for: ${pattern} in ${searchDir}`);
398
- }
399
- }
400
- }
401
- } catch (error) {
402
- console.error(`\u{1F50D} Error searching for script: ${error.message}`);
403
- }
404
- if (result && !result.includes("-cli")) {
405
- const ext = path.extname(result);
406
- const filename = path.basename(result, ext);
407
- const cliFile = path.join(path.dirname(result), `${filename}-cli${ext}`);
408
- if (fs.existsSync(cliFile)) {
409
- result = cliFile;
410
- console.log(`\u{1F50D} Found CLI version: ${cliFile}`);
411
- }
412
- }
413
- return result;
414
- }
415
- function executeScript(scriptPath, args) {
416
- console.log(`\u{1F527} Executing script: ${scriptPath} args: ${args.join(" ")}`);
417
- const child = spawn("node", [scriptPath, ...args], {
418
- stdio: "inherit",
419
- shell: true
420
- });
421
- child.on("error", (error) => {
422
- console.error(`\u274C Error executing script: ${error.message}`);
423
- process.exit(1);
424
- });
425
- child.on("close", (code) => {
426
- process.exit(code);
427
- });
428
- }
429
569
  function main() {
430
570
  const args = getArgs();
431
571
  const positional = args._ || [];
432
- console.log(`\u{1F50D} Parsed arguments: ${JSON.stringify(args)}`);
433
572
  if (positional.length === 0) {
434
573
  return showHelp();
435
574
  }
436
575
  const scriptName = positional[0];
576
+ if (scriptName === "list") {
577
+ const listScript = require_listScript();
578
+ const scripts = listScript();
579
+ console.log("\u{1F4CB} Available scripts:");
580
+ scripts.forEach((script) => {
581
+ console.log(` - ${path.basename(script.name)} -> ${script.path}`);
582
+ });
583
+ process.exit(0);
584
+ }
437
585
  const scriptArgs = [];
438
586
  scriptArgs.push(...positional.slice(1));
439
587
  Object.keys(args).forEach((key) => {