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
@@ -1,7 +1,4 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import {
3
- require_utils
4
- } from "./chunk-V3N3JEUF.mjs";
5
2
  import {
6
3
  __require,
7
4
  init_esm_shims
@@ -9,18 +6,152 @@ import {
9
6
 
10
7
  // src/del-node-modules.js
11
8
  init_esm_shims();
12
- var glob = __require("glob");
13
- var { delStream } = require_utils();
14
- var globalIgnore = [
15
- // ignore .git .github folder
16
- "**/.git*",
17
- // ignore composer folder
18
- "**/vendor/**"
19
- ];
20
- console.log("cleaning node_modules in", process.cwd());
21
- var g3 = new glob.Glob("**/node_modules", {
22
- withFileTypes: false,
23
- cwd: process.cwd(),
24
- ignore: globalIgnore
9
+ var fs = __require("fs");
10
+ var fsp = fs.promises;
11
+ var path = __require("path");
12
+ var os = __require("os");
13
+ var minimist = __require("minimist");
14
+ var argv = minimist(process.argv.slice(2), {
15
+ boolean: ["force", "help"],
16
+ alias: { h: "help", f: "force", c: "concurrent" },
17
+ default: { force: false, concurrent: 2 }
25
18
  });
26
- delStream(g3);
19
+ if (argv.help) {
20
+ console.log(`Usage: clean-node [--force] [-c|--concurrent N]
21
+ By default runs in dry-run mode. Use --force to actually delete.
22
+ Use -c/--concurrent to set concurrent removals (default 2).`);
23
+ process.exit(0);
24
+ }
25
+ var DRY_RUN = !argv.force;
26
+ var defaultConcurrency = Math.max(2, os.cpus().length || 2);
27
+ var CONCURRENCY = Math.max(1, Number(argv.concurrent || argv.c || defaultConcurrency));
28
+ var customChars = "@.";
29
+ var vowels = "aeiouAEIOU";
30
+ var alnum = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
31
+ var combined = alnum + vowels + customChars;
32
+ var ROOT = process.cwd();
33
+ async function isSymlinkAsync(p) {
34
+ try {
35
+ return (await fsp.lstat(p)).isSymbolicLink();
36
+ } catch {
37
+ return false;
38
+ }
39
+ }
40
+ async function removeAsync(target) {
41
+ if (await isSymlinkAsync(target)) {
42
+ console.log("Skipping symlink", target);
43
+ return;
44
+ }
45
+ if (DRY_RUN) {
46
+ console.log("Would remove", target);
47
+ return;
48
+ }
49
+ try {
50
+ await fsp.rm(target, { recursive: true, force: true });
51
+ console.log("Deleting", target);
52
+ } catch (e) {
53
+ console.error("Failed:", target, e.message);
54
+ }
55
+ }
56
+ function runWithConcurrency(tasks, concurrency) {
57
+ return new Promise((resolve, reject) => {
58
+ let i = 0;
59
+ let active = 0;
60
+ let done = 0;
61
+ const total = tasks.length;
62
+ if (total === 0) return resolve();
63
+ function next() {
64
+ if (done === total) return resolve();
65
+ while (active < concurrency && i < total) {
66
+ const idx = i++;
67
+ active++;
68
+ Promise.resolve().then(() => tasks[idx]()).then(() => {
69
+ active--;
70
+ done++;
71
+ next();
72
+ }).catch((err) => reject(err));
73
+ }
74
+ }
75
+ next();
76
+ });
77
+ }
78
+ function walk(dir, callback, { skipNodeModulesChildren = false } = {}) {
79
+ let entries;
80
+ try {
81
+ entries = fs.readdirSync(dir, { withFileTypes: true });
82
+ } catch {
83
+ return;
84
+ }
85
+ for (const entry of entries) {
86
+ const fullPath = path.join(dir, entry.name);
87
+ if (entry.isSymbolicLink()) continue;
88
+ if (skipNodeModulesChildren && dir.includes("node_modules")) continue;
89
+ callback(fullPath, entry);
90
+ if (entry.isDirectory()) {
91
+ if (skipNodeModulesChildren && entry.name === "node_modules") {
92
+ continue;
93
+ }
94
+ walk(fullPath, callback, { skipNodeModulesChildren });
95
+ }
96
+ }
97
+ }
98
+ async function processNodeModules(dir) {
99
+ console.log("Found:", dir);
100
+ let items;
101
+ try {
102
+ items = fs.readdirSync(dir, { withFileTypes: true });
103
+ } catch {
104
+ return;
105
+ }
106
+ const targets = items.filter((entry) => entry.name.length && combined.includes(entry.name[0]));
107
+ const tasks = targets.map((entry) => async () => {
108
+ const name = entry.name;
109
+ const target = path.join(dir, name);
110
+ if (entry.isSymbolicLink && entry.isSymbolicLink()) {
111
+ console.log("Skipping symlink", target);
112
+ return;
113
+ }
114
+ await removeAsync(target);
115
+ });
116
+ await runWithConcurrency(tasks, CONCURRENCY);
117
+ await removeAsync(dir);
118
+ }
119
+ async function main() {
120
+ const nodeModulesDirs = [];
121
+ walk(ROOT, (fullPath, entry) => {
122
+ if (entry.isDirectory() && entry.name === "node_modules") {
123
+ nodeModulesDirs.push(fullPath);
124
+ }
125
+ });
126
+ for (const dir of nodeModulesDirs) {
127
+ await processNodeModules(dir);
128
+ }
129
+ const packageLocks = [];
130
+ const yarnLocks = [];
131
+ const yarnCaches = [];
132
+ walk(
133
+ ROOT,
134
+ (fullPath, entry) => {
135
+ const base = path.basename(fullPath);
136
+ if (base === "package-lock.json") packageLocks.push(fullPath);
137
+ if (base === "yarn.lock") yarnLocks.push(fullPath);
138
+ if (entry.isDirectory() && fullPath.endsWith(path.join(".yarn", "cache"))) yarnCaches.push(fullPath);
139
+ },
140
+ { skipNodeModulesChildren: true }
141
+ );
142
+ if (DRY_RUN) {
143
+ console.log("Would remove package-lock.json files:");
144
+ for (const p of packageLocks) console.log(p);
145
+ console.log("Would remove yarn.lock files:");
146
+ for (const p of yarnLocks) console.log(p);
147
+ console.log("Would remove .yarn/cache directories:");
148
+ for (const p of yarnCaches) console.log(p);
149
+ } else {
150
+ const allTasks = [];
151
+ allTasks.push(...packageLocks.map((p) => async () => removeAsync(p)));
152
+ allTasks.push(...yarnLocks.map((p) => async () => removeAsync(p)));
153
+ allTasks.push(...yarnCaches.map((p) => async () => removeAsync(p)));
154
+ await runWithConcurrency(allTasks, CONCURRENCY);
155
+ }
156
+ }
157
+ main();
package/lib/del-ps.cjs CHANGED
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -97,31 +98,78 @@ var require_utils = __commonJS({
97
98
  }
98
99
  module2.exports.getArgs = getArgs2;
99
100
  function del(fullPath) {
100
- if (fs.statSync(fullPath).isDirectory()) {
101
- const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
102
- for (let i = 0; i < subdir.length; i++) {
103
- del(subdir[i]);
101
+ try {
102
+ if (!fs.existsSync(fullPath)) return;
103
+ const stat = fs.lstatSync(fullPath);
104
+ if (stat.isSymbolicLink()) {
105
+ try {
106
+ fs.unlinkSync(fullPath);
107
+ console.log("deleted symlink", fullPath);
108
+ } catch (e) {
109
+ console.log("failed delete symlink", fullPath, e && e.message);
110
+ }
111
+ return;
112
+ }
113
+ if (stat.isDirectory()) {
114
+ const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
115
+ for (let i = 0; i < subdir.length; i++) {
116
+ del(subdir[i]);
117
+ }
118
+ try {
119
+ fs.rmdirSync(fullPath);
120
+ console.log("deleted", fullPath);
121
+ } catch (_e) {
122
+ try {
123
+ fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
124
+ console.log("deleted", fullPath);
125
+ } catch (ee) {
126
+ console.log("failed delete", fullPath, ee && ee.message);
127
+ }
128
+ }
129
+ return;
104
130
  }
105
- } else {
106
131
  try {
107
- fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
132
+ fs.unlinkSync(fullPath);
108
133
  console.log("deleted", fullPath);
109
- } catch (_) {
110
- console.log("failed delete", fullPath);
134
+ } catch (_e) {
135
+ try {
136
+ fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
137
+ console.log("deleted", fullPath);
138
+ } catch (ee) {
139
+ console.log("failed delete", fullPath, ee && ee.message);
140
+ }
111
141
  }
142
+ } catch (err) {
143
+ console.log("failed delete", fullPath, err && err.message);
112
144
  }
113
145
  }
114
146
  module2.exports.del = del;
115
147
  function delStream(globStream) {
116
148
  globStream.stream().on("data", (result) => {
117
149
  const fullPath = path.resolve(process.cwd(), result);
118
- if (fs.statSync(fullPath).isDirectory()) {
119
- const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
120
- for (let i = 0; i < subdir.length; i++) {
121
- del(subdir[i]);
150
+ try {
151
+ if (fs.existsSync(fullPath)) {
152
+ const stat = fs.lstatSync(fullPath);
153
+ if (stat.isSymbolicLink()) {
154
+ try {
155
+ fs.unlinkSync(fullPath);
156
+ console.log("deleted symlink", fullPath);
157
+ } catch (e) {
158
+ console.log("failed delete symlink", fullPath, e && e.message);
159
+ }
160
+ return;
161
+ }
162
+ if (stat.isDirectory()) {
163
+ const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
164
+ for (let i = 0; i < subdir.length; i++) {
165
+ del(subdir[i]);
166
+ }
167
+ }
122
168
  }
169
+ del(fullPath);
170
+ } catch (err) {
171
+ console.log("failed processing", fullPath, err && err.message);
123
172
  }
124
- del(fullPath);
125
173
  });
126
174
  }
127
175
  module2.exports.delStream = delStream;
package/lib/del-ps.js CHANGED
@@ -1,11 +1,12 @@
1
- const crossSpawn = require("cross-spawn");
2
- const ps = require("ps-node");
3
- const isWin = require("./ps/isWin.js").default;
4
- const { getArgs } = require("./utils/index.cjs");
1
+ "use strict";
2
+ const crossSpawn = require('cross-spawn');
3
+ const ps = require('ps-node');
4
+ const isWin = require('./ps/isWin.js').default;
5
+ const { getArgs } = require('./utils/index.cjs');
5
6
  getArgs()._.forEach((command) => {
6
7
  ps.lookup({
7
8
  command,
8
- psargs: "ux"
9
+ psargs: 'ux'
9
10
  }, function (err, resultList) {
10
11
  if (err) {
11
12
  throw new Error(err);
@@ -14,15 +15,15 @@ getArgs()._.forEach((command) => {
14
15
  if (process) {
15
16
  // console.log('PID: %s, COMMAND: %s, ARGUMENTS: %s', process.pid, process.command, process.arguments);
16
17
  if (!isWin) {
17
- crossSpawn.spawnAsync("kill", ["-9", process.pid]).catch((e) => console.log(`kill failed ${e.message}`));
18
+ crossSpawn.spawnAsync('kill', ['-9', process.pid]).catch((e) => console.log(`kill failed ${e.message}`));
18
19
  crossSpawn
19
- .spawnAsync("killall", ["-9", process.pid])
20
+ .spawnAsync('killall', ['-9', process.pid])
20
21
  .catch((e) => console.log(`killall failed ${e.message}`));
21
22
  }
22
23
  else {
23
24
  // wmic process where "name like 'java.exe'" delete
24
25
  crossSpawn
25
- .spawnAsync("wmic", ["process", "where", `"name like '${command}'" delete`])
26
+ .spawnAsync('wmic', ['process', 'where', `"name like '${command}'" delete`])
26
27
  .catch((e) => console.log(`wmic failed ${e.message}`));
27
28
  }
28
29
  }
package/lib/del-ps.mjs CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-6S4NXESK.mjs";
6
6
  import {
7
7
  require_utils
8
- } from "./chunk-V3N3JEUF.mjs";
8
+ } from "./chunk-5RTXZVCW.mjs";
9
9
  import {
10
10
  __require,
11
11
  __toCommonJS,
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -88,31 +89,78 @@ var require_utils = __commonJS({
88
89
  }
89
90
  module2.exports.getArgs = getArgs;
90
91
  function del(fullPath) {
91
- if (fs.statSync(fullPath).isDirectory()) {
92
- const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
93
- for (let i = 0; i < subdir.length; i++) {
94
- del(subdir[i]);
92
+ try {
93
+ if (!fs.existsSync(fullPath)) return;
94
+ const stat = fs.lstatSync(fullPath);
95
+ if (stat.isSymbolicLink()) {
96
+ try {
97
+ fs.unlinkSync(fullPath);
98
+ console.log("deleted symlink", fullPath);
99
+ } catch (e) {
100
+ console.log("failed delete symlink", fullPath, e && e.message);
101
+ }
102
+ return;
103
+ }
104
+ if (stat.isDirectory()) {
105
+ const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
106
+ for (let i = 0; i < subdir.length; i++) {
107
+ del(subdir[i]);
108
+ }
109
+ try {
110
+ fs.rmdirSync(fullPath);
111
+ console.log("deleted", fullPath);
112
+ } catch (_e) {
113
+ try {
114
+ fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
115
+ console.log("deleted", fullPath);
116
+ } catch (ee) {
117
+ console.log("failed delete", fullPath, ee && ee.message);
118
+ }
119
+ }
120
+ return;
95
121
  }
96
- } else {
97
122
  try {
98
- fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
123
+ fs.unlinkSync(fullPath);
99
124
  console.log("deleted", fullPath);
100
- } catch (_) {
101
- console.log("failed delete", fullPath);
125
+ } catch (_e) {
126
+ try {
127
+ fs.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
128
+ console.log("deleted", fullPath);
129
+ } catch (ee) {
130
+ console.log("failed delete", fullPath, ee && ee.message);
131
+ }
102
132
  }
133
+ } catch (err) {
134
+ console.log("failed delete", fullPath, err && err.message);
103
135
  }
104
136
  }
105
137
  module2.exports.del = del;
106
138
  function delStream2(globStream) {
107
139
  globStream.stream().on("data", (result) => {
108
140
  const fullPath = path.resolve(process.cwd(), result);
109
- if (fs.statSync(fullPath).isDirectory()) {
110
- const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
111
- for (let i = 0; i < subdir.length; i++) {
112
- del(subdir[i]);
141
+ try {
142
+ if (fs.existsSync(fullPath)) {
143
+ const stat = fs.lstatSync(fullPath);
144
+ if (stat.isSymbolicLink()) {
145
+ try {
146
+ fs.unlinkSync(fullPath);
147
+ console.log("deleted symlink", fullPath);
148
+ } catch (e) {
149
+ console.log("failed delete symlink", fullPath, e && e.message);
150
+ }
151
+ return;
152
+ }
153
+ if (stat.isDirectory()) {
154
+ const subdir = fs.readdirSync(fullPath).map((dirPath) => path.resolve(fullPath, dirPath));
155
+ for (let i = 0; i < subdir.length; i++) {
156
+ del(subdir[i]);
157
+ }
158
+ }
113
159
  }
160
+ del(fullPath);
161
+ } catch (err) {
162
+ console.log("failed processing", fullPath, err && err.message);
114
163
  }
115
- del(fullPath);
116
164
  });
117
165
  }
118
166
  module2.exports.delStream = delStream2;
@@ -35,9 +35,9 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  const glob = __importStar(require("glob"));
37
37
  const index_cjs_1 = require("./utils/index.cjs");
38
- const g3 = new glob.Glob(["**/.yarn/cache*", "**/.yarn/*.gz"], {
38
+ const g3 = new glob.Glob(['**/.yarn/cache*', '**/.yarn/*.gz'], {
39
39
  withFileTypes: false,
40
40
  cwd: process.cwd(),
41
- ignore: ["**/.git*", "**/vendor/**"]
41
+ ignore: ['**/.git*', '**/vendor/**']
42
42
  });
43
43
  (0, index_cjs_1.delStream)(g3);
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
2
  import {
3
3
  require_utils
4
- } from "./chunk-V3N3JEUF.mjs";
4
+ } from "./chunk-5RTXZVCW.mjs";
5
5
  import {
6
6
  __toESM,
7
7
  init_esm_shims
@@ -0,0 +1,92 @@
1
+ #!/usr/bin/env node
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+
25
+ // src/file/copy-cli.mjs
26
+ var import_minimist = __toESM(require("minimist"), 1);
27
+
28
+ // src/file/copy.mjs
29
+ var import_fs_extra = __toESM(require("fs-extra"), 1);
30
+ var import_upath = __toESM(require("upath"), 1);
31
+ async function copy(src, dest) {
32
+ if (!await import_fs_extra.default.pathExists(src)) {
33
+ throw new Error(`Source file does not exist: ${src}`);
34
+ }
35
+ const srcStat = await import_fs_extra.default.stat(src);
36
+ let finalDest = dest;
37
+ if (srcStat.isFile()) {
38
+ const destExists = await import_fs_extra.default.pathExists(dest);
39
+ const destStat = destExists ? await import_fs_extra.default.stat(dest) : null;
40
+ if (destStat && destStat.isDirectory()) {
41
+ finalDest = import_upath.default.join(dest, import_upath.default.basename(src));
42
+ }
43
+ }
44
+ await import_fs_extra.default.ensureDir(import_upath.default.dirname(finalDest));
45
+ await import_fs_extra.default.copy(src, finalDest, { overwrite: true });
46
+ }
47
+
48
+ // src/file/copy-cli.mjs
49
+ function showHelp(exitCode = 0) {
50
+ console.log(
51
+ `
52
+ Usage:
53
+ copy <src> <dest>
54
+
55
+ Options:
56
+ -h, --help Show this help message
57
+
58
+ Examples:
59
+ copy file.txt backup/file.txt
60
+ copy ./src ./dist
61
+ `.trim()
62
+ );
63
+ process.exit(exitCode);
64
+ }
65
+ async function main() {
66
+ const args = (0, import_minimist.default)(process.argv.slice(2), {
67
+ boolean: ["help", "h"],
68
+ alias: {
69
+ h: "help"
70
+ }
71
+ });
72
+ if (args.help) {
73
+ showHelp(0);
74
+ }
75
+ const [src, dest] = args._;
76
+ if (!src || !dest) {
77
+ console.error("Error: missing required arguments.\n");
78
+ showHelp(1);
79
+ }
80
+ try {
81
+ await copy(src, dest);
82
+ console.log(`Copied ${src} to ${dest}`);
83
+ } catch (err) {
84
+ console.error(`Error copying file: ${err instanceof Error ? err.message : String(err)}`);
85
+ process.exit(1);
86
+ }
87
+ }
88
+ function handleError(err) {
89
+ console.error(`Unexpected error: ${err instanceof Error ? err.message : String(err)}`);
90
+ process.exit(1);
91
+ }
92
+ main().catch(handleError);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,55 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ copy
4
+ } from "../chunk-OGXVGBRI.mjs";
5
+ import {
6
+ init_esm_shims
7
+ } from "../chunk-QQ4A6DLD.mjs";
8
+
9
+ // src/file/copy-cli.mjs
10
+ init_esm_shims();
11
+ import minimist from "minimist";
12
+ function showHelp(exitCode = 0) {
13
+ console.log(
14
+ `
15
+ Usage:
16
+ copy <src> <dest>
17
+
18
+ Options:
19
+ -h, --help Show this help message
20
+
21
+ Examples:
22
+ copy file.txt backup/file.txt
23
+ copy ./src ./dist
24
+ `.trim()
25
+ );
26
+ process.exit(exitCode);
27
+ }
28
+ async function main() {
29
+ const args = minimist(process.argv.slice(2), {
30
+ boolean: ["help", "h"],
31
+ alias: {
32
+ h: "help"
33
+ }
34
+ });
35
+ if (args.help) {
36
+ showHelp(0);
37
+ }
38
+ const [src, dest] = args._;
39
+ if (!src || !dest) {
40
+ console.error("Error: missing required arguments.\n");
41
+ showHelp(1);
42
+ }
43
+ try {
44
+ await copy(src, dest);
45
+ console.log(`Copied ${src} to ${dest}`);
46
+ } catch (err) {
47
+ console.error(`Error copying file: ${err instanceof Error ? err.message : String(err)}`);
48
+ process.exit(1);
49
+ }
50
+ }
51
+ function handleError(err) {
52
+ console.error(`Unexpected error: ${err instanceof Error ? err.message : String(err)}`);
53
+ process.exit(1);
54
+ }
55
+ main().catch(handleError);
@@ -0,0 +1,56 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/file/copy.mjs
30
+ var copy_exports = {};
31
+ __export(copy_exports, {
32
+ copy: () => copy
33
+ });
34
+ module.exports = __toCommonJS(copy_exports);
35
+ var import_fs_extra = __toESM(require("fs-extra"), 1);
36
+ var import_upath = __toESM(require("upath"), 1);
37
+ async function copy(src, dest) {
38
+ if (!await import_fs_extra.default.pathExists(src)) {
39
+ throw new Error(`Source file does not exist: ${src}`);
40
+ }
41
+ const srcStat = await import_fs_extra.default.stat(src);
42
+ let finalDest = dest;
43
+ if (srcStat.isFile()) {
44
+ const destExists = await import_fs_extra.default.pathExists(dest);
45
+ const destStat = destExists ? await import_fs_extra.default.stat(dest) : null;
46
+ if (destStat && destStat.isDirectory()) {
47
+ finalDest = import_upath.default.join(dest, import_upath.default.basename(src));
48
+ }
49
+ }
50
+ await import_fs_extra.default.ensureDir(import_upath.default.dirname(finalDest));
51
+ await import_fs_extra.default.copy(src, finalDest, { overwrite: true });
52
+ }
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ copy
56
+ });
@@ -0,0 +1 @@
1
+ export function copy(src: any, dest: any): Promise<void>;
@@ -0,0 +1,8 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import {
3
+ copy
4
+ } from "../chunk-OGXVGBRI.mjs";
5
+ import "../chunk-QQ4A6DLD.mjs";
6
+ export {
7
+ copy
8
+ };