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
package/lib/ps/index.js DELETED
@@ -1,253 +0,0 @@
1
- var ChildProcess = require("child_process");
2
- var IS_WIN = require("./isWin").default;
3
- var TableParser = require("./table-parser");
4
- /**
5
- * End of line.
6
- * Basically, the EOL should be:
7
- * - windows: \r\n
8
- * - *nix: \n
9
- * But i'm trying to get every possibilities covered.
10
- */
11
- var EOL = /(\r\n)|(\n\r)|\n|\r/;
12
- var SystemEOL = require("os").EOL;
13
- // ps-node
14
- /**
15
- * Execute child process
16
- * @type {Function}
17
- * @param {String[]} args
18
- * @param {Function} callback
19
- * @param {Object=null} callback.err
20
- * @param {Object[]} callback.stdout
21
- */
22
- var Exec = (module.exports =
23
- exports =
24
- function (args, callback) {
25
- var spawn = ChildProcess.spawn;
26
- // on windows, if use ChildProcess.exec(`wmic process get`), the stdout will gives you nothing
27
- // that's why I use `cmd` instead
28
- if (IS_WIN) {
29
- var CMD = spawn("cmd");
30
- var stdout = "";
31
- var stderr = null;
32
- CMD.stdout.on("data", function (data) {
33
- stdout += data.toString();
34
- });
35
- CMD.stderr.on("data", function (data) {
36
- if (stderr === null) {
37
- stderr = data.toString();
38
- }
39
- else {
40
- stderr += data.toString();
41
- }
42
- });
43
- CMD.on("exit", function () {
44
- var beginRow;
45
- stdout = stdout.split(EOL);
46
- // Find the line index for the titles
47
- stdout.forEach(function (out, index) {
48
- if (out && typeof beginRow == "undefined" && out.indexOf("CommandLine") === 0) {
49
- beginRow = index;
50
- }
51
- });
52
- // get rid of the start (copyright) and the end (current pwd)
53
- stdout.splice(stdout.length - 1, 1);
54
- stdout.splice(0, beginRow);
55
- callback(stderr, stdout.join(SystemEOL) || false);
56
- });
57
- CMD.stdin.write("wmic process get ProcessId,ParentProcessId,CommandLine \n");
58
- CMD.stdin.end();
59
- }
60
- else {
61
- if (typeof args === "string") {
62
- args = args.split(/\s+/);
63
- }
64
- const child = spawn("ps", args);
65
- stdout = "";
66
- stderr = null;
67
- child.stdout.on("data", function (data) {
68
- stdout += data.toString();
69
- });
70
- child.stderr.on("data", function (data) {
71
- if (stderr === null) {
72
- stderr = data.toString();
73
- }
74
- else {
75
- stderr += data.toString();
76
- }
77
- });
78
- child.on("exit", function () {
79
- if (stderr) {
80
- return callback(stderr.toString());
81
- }
82
- else {
83
- callback(null, stdout || false);
84
- }
85
- });
86
- }
87
- });
88
- /**
89
- * Query Process: Focus on pid & cmd
90
- * @param query
91
- * @param {String|String[]} query.pid
92
- * @param {String} query.command RegExp String
93
- * @param {String} query.arguments RegExp String
94
- * @param {String|array} query.psargs
95
- * @param {Function} callback
96
- * @param {Object=null} callback.err
97
- * @param {Object[]} callback.processList
98
- * @return {Object}
99
- */
100
- exports.lookup = function (query, callback) {
101
- /**
102
- * add 'lx' as default ps arguments, since the default ps output in linux like "ubuntu", wont include command arguments
103
- */
104
- var exeArgs = query.psargs || ["lx"];
105
- var filter = {};
106
- var idList;
107
- // Lookup by PID
108
- if (query.pid) {
109
- if (Array.isArray(query.pid)) {
110
- idList = query.pid;
111
- }
112
- else {
113
- idList = [query.pid];
114
- }
115
- // Cast all PIDs as Strings
116
- idList = idList.map(function (v) {
117
- return String(v);
118
- });
119
- }
120
- if (query.command) {
121
- filter["command"] = new RegExp(query.command, "i");
122
- }
123
- if (query.arguments) {
124
- filter["arguments"] = new RegExp(query.arguments, "i");
125
- }
126
- if (query.ppid) {
127
- filter["ppid"] = new RegExp(query.ppid);
128
- }
129
- return Exec(exeArgs, function (err, output) {
130
- if (err) {
131
- return callback(err);
132
- }
133
- else {
134
- var processList = parseGrid(output);
135
- var resultList = [];
136
- processList.forEach(function (p) {
137
- var flt;
138
- var type;
139
- var result = true;
140
- if (idList && idList.indexOf(String(p.pid)) < 0) {
141
- return;
142
- }
143
- for (type in filter) {
144
- flt = filter[type];
145
- result = flt.test(p[type]) ? result : false;
146
- }
147
- if (result) {
148
- resultList.push(p);
149
- }
150
- });
151
- callback(null, resultList);
152
- }
153
- });
154
- };
155
- /**
156
- * Kill process
157
- * @param pid
158
- * @param {Object|String} signal
159
- * @param {String} signal.signal
160
- * @param {number} signal.timeout
161
- * @param next
162
- */
163
- exports.kill = function (pid, signal, next) {
164
- //opts are optional
165
- if (arguments.length == 2 && typeof signal == "function") {
166
- next = signal;
167
- signal = undefined;
168
- }
169
- var checkTimeoutSeconds = (signal && signal.timeout) || 30;
170
- if (typeof signal === "object") {
171
- signal = signal.signal;
172
- }
173
- try {
174
- process.kill(pid, signal);
175
- }
176
- catch (e) {
177
- return next && next(e);
178
- }
179
- var checkConfident = 0;
180
- var checkTimeoutTimer = null;
181
- var checkIsTimeout = false;
182
- function checkKilled(finishCallback) {
183
- exports.lookup({ pid: pid }, function (err, list) {
184
- if (checkIsTimeout)
185
- return;
186
- if (err) {
187
- clearTimeout(checkTimeoutTimer);
188
- if (finishCallback)
189
- finishCallback(err);
190
- }
191
- else if (list.length > 0) {
192
- checkConfident = checkConfident - 1 || 0;
193
- checkKilled(finishCallback);
194
- }
195
- else {
196
- checkConfident++;
197
- if (checkConfident === 5) {
198
- clearTimeout(checkTimeoutTimer);
199
- if (finishCallback)
200
- finishCallback();
201
- }
202
- else {
203
- checkKilled(finishCallback);
204
- }
205
- }
206
- });
207
- }
208
- if (next)
209
- checkKilled(next);
210
- checkTimeoutTimer =
211
- next &&
212
- setTimeout(function () {
213
- checkIsTimeout = true;
214
- next(new Error("Kill process timeout"));
215
- }, checkTimeoutSeconds * 1000);
216
- };
217
- /**
218
- * Parse the stdout into readable object.
219
- * @param {String} output
220
- */
221
- function parseGrid(output) {
222
- if (!output) {
223
- return [];
224
- }
225
- return formatOutput(TableParser.parse(output));
226
- }
227
- /**
228
- * format the structure, extract pid, command, arguments, ppid
229
- * @param data
230
- * @return {Array}
231
- */
232
- function formatOutput(data) {
233
- var formatedData = [];
234
- data.forEach(function (d) {
235
- var pid = (d.PID && d.PID[0]) || (d.ProcessId && d.ProcessId[0]) || undefined;
236
- var cmd = d.CMD || d.CommandLine || d.COMMAND || undefined;
237
- var ppid = (d.PPID && d.PPID[0]) || (d.ParentProcessId && d.ParentProcessId[0]) || undefined;
238
- if (pid && cmd) {
239
- var command = cmd[0];
240
- var args = "";
241
- if (cmd.length > 1) {
242
- args = cmd.slice(1);
243
- }
244
- formatedData.push({
245
- pid: pid,
246
- command: command,
247
- arguments: args,
248
- ppid: ppid
249
- });
250
- }
251
- });
252
- return formatedData;
253
- }
@@ -1,320 +0,0 @@
1
- # Binary Collections
2
- A comprehensive toolkit of Node.js CLI utilities for streamlining development workflows. Includes tools for git operations, dependency management, build processes, automation, and more.
3
-
4
- ## Features
5
-
6
- - 🧹 **Cleanup Tools**: Remove node_modules, yarn caches, gradle builds
7
- - 🔄 **Git Utilities**: Submodule management, repository purging, diff tools
8
- - 📦 **Build Tools**: NPM script runners, package management utilities
9
- - ⚡ **Development Helpers**: Process management, environment setup tools
10
-
11
- ## Installation
12
-
13
- ### Clone Repository
14
- ```bash
15
- git clone -b master https://github.com/dimaslanjaka/bin bin
16
- ```
17
-
18
- ### NPM Installation
19
- ```bash
20
- # Install locally
21
- npm install binary-collections
22
-
23
- # Install globally
24
- npm install binary-collections -g
25
-
26
- # Install from release archive
27
- npm install binary-collections@https://github.com/dimaslanjaka/bin/raw/master/releases/bin.tgz
28
- ```
29
-
30
- ### Direct run
31
-
32
- ```bash
33
- # Yarn berry
34
- yarn dlx binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name>
35
-
36
- # NPX
37
- npx binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name>
38
- ```
39
-
40
- ## VS Code Setup
41
-
42
- Create `https://github.com/dimaslanjaka/bin/blob/master/.vscode/settings.json` to add binary tools to your PATH:
43
-
44
- ```jsonc
45
- {
46
- "terminal.integrated.env.linux": {
47
- "PATH": "${env:PATH}:${workspaceFolder}/node_modules/.bin:${workspaceFolder}/bin"
48
- },
49
- "terminal.integrated.env.windows": {
50
- "PATH": "${env:PATH};${workspaceFolder}\\node_modules\\.bin;${workspaceFolder}\\bin"
51
- },
52
- "terminal.integrated.profiles.windows": {
53
- "PowerShell": {
54
- "source": "PowerShell",
55
- "icon": "terminal-powershell"
56
- },
57
- "Command Prompt": {
58
- "path": [
59
- "${env:windir}\\Sysnative\\cmd.exe",
60
- "${env:windir}\\System32\\cmd.exe"
61
- ],
62
- "args": [],
63
- "icon": "terminal-cmd"
64
- },
65
- "Git Bash": {
66
- "source": "Git Bash"
67
- },
68
- "Cygwin": {
69
- "path": "C:\\cygwin64\\bin\\bash.exe",
70
- "args": ["--login", "-i"],
71
- "env": {
72
- "CHERE_INVOKING": "1"
73
- }
74
- }
75
- },
76
- "terminal.integrated.defaultProfile.windows": "Command Prompt"
77
- }
78
- ```
79
-
80
- ## Available Tools
81
-
82
- ### Quick Reference
83
-
84
- | Category | Commands | Description |
85
- |------------------|-------------------------------------------------------------------------|--------------------------------------------------|
86
- | **Git** | `git-purge`, `git-diff`, `git-fix`, `git-reduce-size` | Git repository management and optimization |
87
- | **Submodules** | `submodule`, `submodule-install`, `submodule-remove`, `submodule-token` | Git submodule operations |
88
- | **NPM Scripts** | `nrs`, `run-s`, `run-series`, `npm-run-series` | Run npm scripts in series with pattern matching |
89
- | **Package Mgmt** | `yarn-reinstall`, `pkg-resolutions-updater`, `pkg-res-updater` | Yarn/package resolutions management utilities |
90
- | **Node.js Dev** | `find-node-modules`, `find-nodemodules`, `dev`, `prod`, `empty` | Node.js development helpers |
91
- | **Process Mgmt** | `kill-process`, `nodekill`, `javakill`, `del-ps` | Process management and termination |
92
- | **File System** | `rmfind`, `rmpath`, `rmx`, `print-tree`, `dir-tree` | File system operations |
93
- | **Cleanup** | `del-nodemodules`, `del-yarncaches`, `del-gradle` | Cache and build directory cleanup |
94
- | **GitHub Actions**| `clean-github-actions-caches`, `clean-github-actions-cache`, `clear-github-actions-cache`, `clear-github-actions-caches`, `clear-gh-caches` | Remove old GitHub Actions caches, keep only latest |
95
-
96
- ---
97
- #### Binary List Generation & Source Code
98
-
99
- The list of available binaries and utilities is auto-generated by the build script ([`https://github.com/dimaslanjaka/bin/blob/master/build.mjs`](https://github.com/dimaslanjaka/bin/blob/master/build.mjs)).
100
- - All CLI tools and binaries are collected from the `bin/`, `lib/`, and other relevant folders.
101
- - The build process updates the `bin` field in `https://github.com/dimaslanjaka/bin/blob/master/package.json` to reflect all available executables.
102
- - Source code for utilities is located in the `src/` folder.
103
-
104
- To update the binary list, run:
105
- ```bash
106
- yarn run build
107
- # or
108
- node build.mjs
109
- ```
110
- This scans the project and updates `package.json` with all available binaries. The list may change as files are added or removed.
111
-
112
- See also:
113
- - [Binary executables](https://github.com/dimaslanjaka/bin/tree/master/bin)
114
- - [Library modules](https://github.com/dimaslanjaka/bin/tree/master/lib)
115
- - [Package configuration](https://github.com/dimaslanjaka/bin/blob/master/package.json)
116
-
117
- ### Git Tools
118
-
119
- #### Git Repository Purge
120
- Clean and optimize git repositories by pruning reflogs:
121
- ```bash
122
- git-purge
123
- ```
124
- ![Git purge screenshot](https://github.com/dimaslanjaka/bin/assets/12471057/2805c54e-28a7-491d-b381-de2593a854b3)
125
-
126
- #### Git Diff Utility
127
- Enhanced git diff functionality:
128
- ```bash
129
- git-diff
130
- ```
131
-
132
- #### Git Fix Utility
133
- Comprehensive Git configuration fixer for cross-platform development (replaces `git-fix-encoding`):
134
- ```bash
135
- git-fix # Apply all fixes
136
- git-fix --lf-only # Force LF line endings only
137
- git-fix --permissions # Ignore file permissions only
138
- git-fix --normalize # Normalize existing files only
139
- git-fix --user # Configure Git user from environment
140
- git-fix --user NAME EMAIL # Configure Git user with specific values
141
- git-fix --user --update-remote # Also update remote URL to match user
142
- git-fix --user NAME EMAIL --update-remote # Configure user and update remote URL
143
- ```
144
- Features:
145
- - Forces LF line endings (`core.autocrlf = false`)
146
- - Ignores file permission changes (`core.filemode = false`)
147
- - Sets pull strategy to false (prevents auto-rebase)
148
- - Normalizes existing line endings
149
- - Creates/updates `.gitattributes` with proper line ending rules
150
- - Configures Git user from environment variables or CLI arguments
151
- - **Non-interactive:** All configuration is now argument-driven; no interactive prompts
152
- - `--update-remote` flag: Update remote URL to match the configured user (for HTTPS remotes)
153
-
154
- User Configuration:
155
- - Environment variables: `GITHUB_USER`, `GITHUB_EMAIL`
156
- - CLI arguments take precedence over environment variables
157
- - Use `--update-remote` to update the remote URL with the configured user
158
- - Examples:
159
- ```bash
160
- git-fix --user "John Doe" "john@example.com" # Use CLI args
161
- git-fix --user --update-remote # Use env vars and update remote
162
- git-fix --user "Jane" "jane@example.com" --update-remote # CLI args and update remote
163
- GITHUB_USER="Jane" GITHUB_EMAIL="jane@example.com" git-fix --user # Use env vars
164
- ```
165
-
166
- #### Git Repository Size Reducer
167
- Reduce git repository size by cleaning up history:
168
- ```bash
169
- git-reduce-size
170
- ```
171
-
172
- #### Submodule Management
173
- - **`submodule`** - General submodule operations
174
- - **`submodule-install`** - Install and setup submodules
175
- - **`submodule-remove`** - Remove git submodules with interactive selection
176
- - **`submodule-token`** - Manage submodule tokens
177
-
178
- ![Submodule remover screenshot](https://github.com/user-attachments/assets/659c2fa3-f12f-45cb-a66f-aed3807e0023)
179
-
180
-
181
- ### NPM Script Runner
182
-
183
- **Binaries**: `nrs`, `run-s`, `run-series`, `npm-run-series`
184
-
185
- Run multiple npm scripts in series with pattern matching support.
186
-
187
- #### Options
188
- | Flag | Description |
189
- |---------------------|---------------------------------------------|
190
- | `--yarn` | Use `yarn run <script-name>` instead of npm |
191
- | `--verbose`, `-v` | Enable verbose output |
192
-
193
- #### Example
194
- Execute all scripts matching the pattern `namescript:**`:
195
- ```json
196
- {
197
- "name": "package-name",
198
- "version": "0.0.0",
199
- "private": true,
200
- "scripts": {
201
- "namescript:xx": "echo xx",
202
- "namescript:xxx": "echo xxx",
203
- "namescript:xxxx": "echo xxxx",
204
- "namescript:xxxxx": "echo xxxxx",
205
- "namescript": "nrs --yarn=true --verbose=true \"namescript:**\""
206
- },
207
- "license": "ISC"
208
- }
209
- ```
210
-
211
- ### Package Management Tools
212
-
213
- #### Yarn Package Reinstaller
214
- Reinstall yarn packages with dependency type flags:
215
- ```bash
216
- yarn-reinstall <packageName> [--dev|-D|--peer|-P|--optional|-O]
217
- ```
218
-
219
- #### Package Resolutions Manager
220
- Manage package resolutions in package.json (aliases: `pkg-resolutions-updater`, `pkg-res-updater`):
221
- ```bash
222
- pkg-resolutions-updater
223
- pkg-res-updater
224
- ```
225
-
226
- ### Node.js Development Tools
227
-
228
- #### Node Modules Finder
229
- Find all node_modules directories in a project:
230
- ```bash
231
- find-node-modules # Library function
232
- find-node-modules-cli # CLI tool
233
- find-nodemodules # Alias
234
- ```
235
-
236
- #### Development Environment Helpers
237
- - **`dev`** - Development environment setup
238
- - **`prod`** - Production environment setup
239
- - **`empty`** - Empty utility tool
240
-
241
- ### Process Management Tools
242
-
243
- #### Process Killers
244
- Kill processes by name or pattern:
245
- ```bash
246
- kill-process # General process killer
247
- nodekill # Kill Node.js processes
248
- javakill # Kill Java processes (Windows)
249
- del-ps # Kill processes by command name
250
- ```
251
-
252
- #### File System Tools
253
- - **`rmfind`** - Find and remove files
254
- - **`rmpath`** - Remove from PATH
255
- - **`rmx`** - Remove executable files
256
-
257
- ### Cleanup Tools
258
-
259
- #### GitHub Actions Cache Cleaner
260
- [See full documentation](https://github.com/dimaslanjaka/bin/blob/master/docs-src/clean-github-actions-caches.md).
261
-
262
- #### Node Modules Cleaner
263
- Remove node_modules directories recursively:
264
- ```bash
265
- del-nodemodules # Primary command
266
- del-node-modules # Alternative
267
- clean-nodemodule # Legacy
268
- clean-nodemodules # Legacy
269
- ```
270
- ![Node modules cleaner screenshot](https://github.com/dimaslanjaka/bin/assets/12471057/f03e5b51-1808-4e82-a474-0dd3c7eab5fe)
271
-
272
- #### Yarn Cache Cleaner
273
- Clear yarn cache directories:
274
- ```bash
275
- del-yarncaches # Primary command
276
- del-yarn-caches # Alternative
277
- ```
278
-
279
- #### Gradle Build Cleaner
280
- Delete gradle build folders:
281
- ```bash
282
- del-gradle
283
- ```
284
-
285
- #### Free ChatGPT automation tool
286
-
287
- [See full documentation](https://github.com/dimaslanjaka/bin/blob/master/docs-src/free-chatgpt.md)
288
-
289
- ## Troubleshooting
290
-
291
- ### Submodule Installation Issues
292
- If you encounter the following error:
293
- ```log
294
- fatal: 'origin/<branch>' is not a commit and a branch '<branch>' cannot be created from it
295
- fatal: unable to checkout submodule '<folder>/<submodule>'
296
- ```
297
- **Solution**: Delete `.git/modules` directory before running `submodule-install`.
298
-
299
- #### Complete Submodule Setup Example
300
- ```bash
301
- echo "Initializing submodules..."
302
- git submodule init
303
- git submodule foreach "git submodule init"
304
-
305
- echo "Syncing submodules..."
306
- git submodule sync
307
- git submodule foreach "git submodule sync"
308
-
309
- echo "Updating submodules..."
310
- npx --yes rimraf .git/modules
311
- npx --yes binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz submodule-install
312
- ```
313
-
314
- ## Contributing
315
-
316
- Contributions are welcome! Please feel free to submit a Pull Request.
317
-
318
- ## License
319
-
320
- This project is licensed under the terms specified in the LICENSE file.