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
@@ -0,0 +1,182 @@
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/node-cache-cleaner-cli.ts
26
+ var import_minimist = __toESM(require("minimist"), 1);
27
+
28
+ // src/node-cache-cleaner/npm.ts
29
+ var import_cross_spawn = require("cross-spawn");
30
+ function cleanNpmCache() {
31
+ return new Promise((resolve, reject) => {
32
+ const process2 = (0, import_cross_spawn.spawn)("npm", ["cache", "clean", "--force"], {
33
+ stdio: "inherit",
34
+ shell: true
35
+ });
36
+ process2.on("close", (code) => {
37
+ if (code === 0) {
38
+ resolve(true);
39
+ } else {
40
+ reject(new Error(`NPM cache clean failed with exit code ${code}`));
41
+ }
42
+ });
43
+ });
44
+ }
45
+
46
+ // src/node-cache-cleaner/npx.ts
47
+ var import_fs_extra = __toESM(require("fs-extra"), 1);
48
+ var import_upath = __toESM(require("upath"), 1);
49
+ var import_os = __toESM(require("os"), 1);
50
+ var import_cross_spawn2 = require("cross-spawn");
51
+ function getNpmCacheDir() {
52
+ return new Promise((resolve, reject) => {
53
+ var _a, _b;
54
+ const child = (0, import_cross_spawn2.spawn)("npm", ["config", "get", "cache"], {
55
+ stdio: ["ignore", "pipe", "pipe"],
56
+ shell: true
57
+ });
58
+ let output = "";
59
+ let error = "";
60
+ (_a = child.stdout) == null ? void 0 : _a.on("data", (data) => {
61
+ output += data.toString();
62
+ });
63
+ (_b = child.stderr) == null ? void 0 : _b.on("data", (data) => {
64
+ error += data.toString();
65
+ });
66
+ child.on("close", (code) => {
67
+ if (code === 0) {
68
+ resolve(output.trim());
69
+ } else {
70
+ reject(new Error(`Failed to get npm cache directory (code ${code}): ${error}`));
71
+ }
72
+ });
73
+ });
74
+ }
75
+ async function removeDir(target) {
76
+ try {
77
+ const exists = await import_fs_extra.default.pathExists(target);
78
+ if (exists) {
79
+ console.log(`Removing: ${target}`);
80
+ await import_fs_extra.default.remove(target);
81
+ } else {
82
+ console.log(`Not found: ${target}`);
83
+ }
84
+ } catch (err) {
85
+ console.error(`Failed to remove ${target}:`, err);
86
+ }
87
+ }
88
+ async function cleanNpxCache() {
89
+ const cacheDir = await getNpmCacheDir();
90
+ console.log("Detected npm cache:", cacheDir);
91
+ console.log("\nCleaning npm/npx cache...\n");
92
+ const npxCache = import_upath.default.join(cacheDir, "_npx");
93
+ const npmCache = import_upath.default.join(cacheDir, "_cacache");
94
+ const altNpxLinux = import_upath.default.join(import_os.default.homedir(), ".cache", "npx");
95
+ await Promise.all([removeDir(npxCache), removeDir(npmCache), removeDir(altNpxLinux)]);
96
+ console.log("\nDone \u2714\uFE0F");
97
+ }
98
+
99
+ // src/node-cache-cleaner/yarn.ts
100
+ var import_cross_spawn3 = require("cross-spawn");
101
+ function yarnVersion() {
102
+ return new Promise((resolve, reject) => {
103
+ const process2 = (0, import_cross_spawn3.spawn)("yarn", ["--version"], {
104
+ stdio: "pipe",
105
+ shell: true
106
+ });
107
+ let version = "";
108
+ process2.stdout.on("data", (data) => {
109
+ version += data.toString();
110
+ });
111
+ process2.on("close", (code) => {
112
+ if (code === 0) {
113
+ resolve(version.trim());
114
+ } else {
115
+ reject(new Error(`Yarn version check failed with exit code ${code}`));
116
+ }
117
+ });
118
+ });
119
+ }
120
+ async function cleanYarnCache() {
121
+ let version = "";
122
+ try {
123
+ version = await yarnVersion();
124
+ } catch {
125
+ }
126
+ const major = parseInt(version.split(".")[0], 10);
127
+ const isClassic = major === 1 || version === "";
128
+ const args = isClassic ? ["cache", "clean"] : ["cache", "clean", "--all"];
129
+ return new Promise((resolve, reject) => {
130
+ const process2 = (0, import_cross_spawn3.spawn)("yarn", args, {
131
+ stdio: "inherit",
132
+ shell: true
133
+ });
134
+ process2.on("close", (code) => {
135
+ if (code === 0) {
136
+ resolve(true);
137
+ } else {
138
+ reject(new Error(`Yarn cache clean failed with exit code ${code}`));
139
+ }
140
+ });
141
+ });
142
+ }
143
+
144
+ // src/node-cache-cleaner-cli.ts
145
+ function printHelp() {
146
+ console.log(`
147
+ Usage: cache-cleaner [options]
148
+
149
+ Options:
150
+ -h, --help Show this help message
151
+
152
+ Description:
153
+ Cleans NPM, Yarn, and NPX caches in parallel.
154
+ `);
155
+ }
156
+ async function run() {
157
+ const argv = (0, import_minimist.default)(process.argv.slice(2), {
158
+ boolean: ["help"],
159
+ alias: {
160
+ h: "help"
161
+ },
162
+ default: {
163
+ help: false
164
+ }
165
+ });
166
+ if (argv.help) {
167
+ printHelp();
168
+ process.exit(0);
169
+ }
170
+ const results = await Promise.allSettled([cleanNpmCache(), cleanYarnCache(), cleanNpxCache()]);
171
+ const labels = ["NPM", "Yarn", "NPX"];
172
+ results.forEach((result, i) => {
173
+ if (result.status === "fulfilled") {
174
+ console.log(`${labels[i]} cache cleaned successfully.`);
175
+ } else {
176
+ console.error(`Error cleaning ${labels[i]} cache:`, result.reason);
177
+ }
178
+ });
179
+ const hasError = results.some((r) => r.status === "rejected");
180
+ process.exit(hasError ? 1 : 0);
181
+ }
182
+ run();
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ const minimist_1 = __importDefault(require("minimist"));
17
+ const npm_1 = require("./node-cache-cleaner/npm");
18
+ const npx_1 = require("./node-cache-cleaner/npx");
19
+ const yarn_1 = require("./node-cache-cleaner/yarn");
20
+ function printHelp() {
21
+ console.log(`
22
+ Usage: cache-cleaner [options]
23
+
24
+ Options:
25
+ -h, --help Show this help message
26
+
27
+ Description:
28
+ Cleans NPM, Yarn, and NPX caches in parallel.
29
+ `);
30
+ }
31
+ function run() {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ const argv = (0, minimist_1.default)(process.argv.slice(2), {
34
+ boolean: ['help'],
35
+ alias: {
36
+ h: 'help'
37
+ },
38
+ default: {
39
+ help: false
40
+ }
41
+ });
42
+ if (argv.help) {
43
+ printHelp();
44
+ process.exit(0);
45
+ }
46
+ const results = yield Promise.allSettled([(0, npm_1.cleanNpmCache)(), (0, yarn_1.cleanYarnCache)(), (0, npx_1.cleanNpxCache)()]);
47
+ const labels = ['NPM', 'Yarn', 'NPX'];
48
+ results.forEach((result, i) => {
49
+ if (result.status === 'fulfilled') {
50
+ console.log(`${labels[i]} cache cleaned successfully.`);
51
+ }
52
+ else {
53
+ console.error(`Error cleaning ${labels[i]} cache:`, result.reason);
54
+ }
55
+ });
56
+ const hasError = results.some((r) => r.status === 'rejected');
57
+ process.exit(hasError ? 1 : 0);
58
+ });
59
+ }
60
+ run();
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
3
+ import {
4
+ cleanNpxCache
5
+ } from "./chunk-OXV52GD5.mjs";
6
+ import {
7
+ cleanYarnCache
8
+ } from "./chunk-UXCFNAR6.mjs";
9
+ import {
10
+ cleanNpmCache
11
+ } from "./chunk-R5FJOR63.mjs";
12
+ import {
13
+ init_esm_shims
14
+ } from "./chunk-QQ4A6DLD.mjs";
15
+
16
+ // src/node-cache-cleaner-cli.ts
17
+ init_esm_shims();
18
+ import minimist from "minimist";
19
+ function printHelp() {
20
+ console.log(`
21
+ Usage: cache-cleaner [options]
22
+
23
+ Options:
24
+ -h, --help Show this help message
25
+
26
+ Description:
27
+ Cleans NPM, Yarn, and NPX caches in parallel.
28
+ `);
29
+ }
30
+ async function run() {
31
+ const argv = minimist(process.argv.slice(2), {
32
+ boolean: ["help"],
33
+ alias: {
34
+ h: "help"
35
+ },
36
+ default: {
37
+ help: false
38
+ }
39
+ });
40
+ if (argv.help) {
41
+ printHelp();
42
+ process.exit(0);
43
+ }
44
+ const results = await Promise.allSettled([cleanNpmCache(), cleanYarnCache(), cleanNpxCache()]);
45
+ const labels = ["NPM", "Yarn", "NPX"];
46
+ results.forEach((result, i) => {
47
+ if (result.status === "fulfilled") {
48
+ console.log(`${labels[i]} cache cleaned successfully.`);
49
+ } else {
50
+ console.error(`Error cleaning ${labels[i]} cache:`, result.reason);
51
+ }
52
+ });
53
+ const hasError = results.some((r) => r.status === "rejected");
54
+ process.exit(hasError ? 1 : 0);
55
+ }
56
+ run();
@@ -0,0 +1,91 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/node-executor.cjs
4
+ var fs = require("fs-extra");
5
+ var path = require("upath");
6
+ var minimist = require("minimist");
7
+ var { spawn } = require("child_process");
8
+ var argv = minimist(process.argv.slice(2), {
9
+ boolean: ["help", "h"],
10
+ string: ["exit-code"],
11
+ alias: {
12
+ h: "help"
13
+ },
14
+ default: {
15
+ "exit-code": "1"
16
+ }
17
+ });
18
+ function getExitCode() {
19
+ const code = argv["exit-code"];
20
+ if (code === void 0) return 1;
21
+ const num = Number(code);
22
+ return Number.isNaN(num) ? 1 : num;
23
+ }
24
+ if (argv.help) {
25
+ console.log(`
26
+ Usage:
27
+ node run.js [options] <file>
28
+
29
+ Options:
30
+ -h, --help Show help
31
+ --exit-code=<code> Exit code when file not found or invalid (default: 1)
32
+
33
+ Examples:
34
+ node run.js test.php
35
+ node run.js script.js
36
+ node run.js --exit-code=0 missing.php
37
+
38
+ Supported extensions:
39
+ .php -> php
40
+ .js -> node
41
+ .mjs -> node
42
+ .cjs -> node
43
+ .py -> python
44
+ .rb -> ruby
45
+ .sh -> bash
46
+ .bat -> cmd
47
+ `);
48
+ process.exit(0);
49
+ }
50
+ var filename = argv._[0];
51
+ if (!filename) {
52
+ console.error("No file specified. Use --help for usage.");
53
+ process.exit(getExitCode());
54
+ }
55
+ var filepath = path.resolve(filename);
56
+ if (!fs.existsSync(filepath)) {
57
+ console.error(`File not found: ${filepath}`);
58
+ process.exit(getExitCode());
59
+ }
60
+ var ext = path.extname(filepath).toLowerCase();
61
+ var executors = {
62
+ ".php": "php",
63
+ ".js": "node",
64
+ ".mjs": "node",
65
+ ".cjs": "node",
66
+ ".py": "python",
67
+ ".rb": "ruby",
68
+ ".sh": "bash",
69
+ ".bat": "cmd"
70
+ };
71
+ var executor = executors[ext];
72
+ if (!executor) {
73
+ console.error(`No executor registered for extension: ${ext}`);
74
+ process.exit(1);
75
+ }
76
+ var command = executor;
77
+ var args = [filepath];
78
+ if (ext === ".bat") {
79
+ args = ["/c", filepath];
80
+ }
81
+ var child = spawn(command, args, {
82
+ stdio: "inherit",
83
+ shell: process.platform === "win32"
84
+ });
85
+ child.on("exit", (code) => {
86
+ process.exit(code ?? 0);
87
+ });
88
+ child.on("error", (error) => {
89
+ console.error(error.message);
90
+ process.exit(1);
91
+ });
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
3
+ import {
4
+ __commonJS,
5
+ __require,
6
+ init_esm_shims
7
+ } from "./chunk-QQ4A6DLD.mjs";
8
+
9
+ // src/node-executor.cjs
10
+ var require_node_executor = __commonJS({
11
+ "src/node-executor.cjs"() {
12
+ init_esm_shims();
13
+ var fs = __require("fs-extra");
14
+ var path = __require("upath");
15
+ var minimist = __require("minimist");
16
+ var { spawn } = __require("child_process");
17
+ var argv = minimist(process.argv.slice(2), {
18
+ boolean: ["help", "h"],
19
+ string: ["exit-code"],
20
+ alias: {
21
+ h: "help"
22
+ },
23
+ default: {
24
+ "exit-code": "1"
25
+ }
26
+ });
27
+ function getExitCode() {
28
+ const code = argv["exit-code"];
29
+ if (code === void 0) return 1;
30
+ const num = Number(code);
31
+ return Number.isNaN(num) ? 1 : num;
32
+ }
33
+ if (argv.help) {
34
+ console.log(`
35
+ Usage:
36
+ node run.js [options] <file>
37
+
38
+ Options:
39
+ -h, --help Show help
40
+ --exit-code=<code> Exit code when file not found or invalid (default: 1)
41
+
42
+ Examples:
43
+ node run.js test.php
44
+ node run.js script.js
45
+ node run.js --exit-code=0 missing.php
46
+
47
+ Supported extensions:
48
+ .php -> php
49
+ .js -> node
50
+ .mjs -> node
51
+ .cjs -> node
52
+ .py -> python
53
+ .rb -> ruby
54
+ .sh -> bash
55
+ .bat -> cmd
56
+ `);
57
+ process.exit(0);
58
+ }
59
+ var filename = argv._[0];
60
+ if (!filename) {
61
+ console.error("No file specified. Use --help for usage.");
62
+ process.exit(getExitCode());
63
+ }
64
+ var filepath = path.resolve(filename);
65
+ if (!fs.existsSync(filepath)) {
66
+ console.error(`File not found: ${filepath}`);
67
+ process.exit(getExitCode());
68
+ }
69
+ var ext = path.extname(filepath).toLowerCase();
70
+ var executors = {
71
+ ".php": "php",
72
+ ".js": "node",
73
+ ".mjs": "node",
74
+ ".cjs": "node",
75
+ ".py": "python",
76
+ ".rb": "ruby",
77
+ ".sh": "bash",
78
+ ".bat": "cmd"
79
+ };
80
+ var executor = executors[ext];
81
+ if (!executor) {
82
+ console.error(`No executor registered for extension: ${ext}`);
83
+ process.exit(1);
84
+ }
85
+ var command = executor;
86
+ var args = [filepath];
87
+ if (ext === ".bat") {
88
+ args = ["/c", filepath];
89
+ }
90
+ var child = spawn(command, args, {
91
+ stdio: "inherit",
92
+ shell: process.platform === "win32"
93
+ });
94
+ child.on("exit", (code) => {
95
+ process.exit(code ?? 0);
96
+ });
97
+ child.on("error", (error) => {
98
+ console.error(error.message);
99
+ process.exit(1);
100
+ });
101
+ }
102
+ });
103
+ export default require_node_executor();
@@ -1,32 +1,11 @@
1
1
  #!/usr/bin/env node
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
3
  var __esm = (fn, res) => function __init() {
9
4
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
5
  };
11
6
  var __commonJS = (cb, mod) => function __require() {
12
7
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
13
8
  };
14
- var __copyProps = (to, from, except, desc) => {
15
- if (from && typeof from === "object" || typeof from === "function") {
16
- for (let key of __getOwnPropNames(from))
17
- if (!__hasOwnProp.call(to, key) && key !== except)
18
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
- }
20
- return to;
21
- };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
- mod
29
- ));
30
9
 
31
10
  // node_modules/tsup/assets/cjs_shims.js
32
11
  var init_cjs_shims = __esm({
@@ -89,31 +68,78 @@ var require_utils = __commonJS({
89
68
  }
90
69
  module2.exports.getArgs = getArgs2;
91
70
  function del(fullPath) {
92
- if (fs2.statSync(fullPath).isDirectory()) {
93
- const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
94
- for (let i = 0; i < subdir.length; i++) {
95
- del(subdir[i]);
71
+ try {
72
+ if (!fs2.existsSync(fullPath)) return;
73
+ const stat = fs2.lstatSync(fullPath);
74
+ if (stat.isSymbolicLink()) {
75
+ try {
76
+ fs2.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 = fs2.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
+ fs2.rmdirSync(fullPath);
90
+ console.log("deleted", fullPath);
91
+ } catch (_e) {
92
+ try {
93
+ fs2.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;
96
100
  }
97
- } else {
98
101
  try {
99
- fs2.rmSync(fullPath, { recursive: true, force: true, retryDelay: 7e3 });
102
+ fs2.unlinkSync(fullPath);
100
103
  console.log("deleted", fullPath);
101
- } catch (_) {
102
- console.log("failed delete", fullPath);
104
+ } catch (_e) {
105
+ try {
106
+ fs2.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
+ }
103
111
  }
112
+ } catch (err) {
113
+ console.log("failed delete", fullPath, err && err.message);
104
114
  }
105
115
  }
106
116
  module2.exports.del = del;
107
117
  function delStream(globStream) {
108
118
  globStream.stream().on("data", (result) => {
109
119
  const fullPath = path2.resolve(process.cwd(), result);
110
- if (fs2.statSync(fullPath).isDirectory()) {
111
- const subdir = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
112
- for (let i = 0; i < subdir.length; i++) {
113
- del(subdir[i]);
120
+ try {
121
+ if (fs2.existsSync(fullPath)) {
122
+ const stat = fs2.lstatSync(fullPath);
123
+ if (stat.isSymbolicLink()) {
124
+ try {
125
+ fs2.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 = fs2.readdirSync(fullPath).map((dirPath) => path2.resolve(fullPath, dirPath));
134
+ for (let i = 0; i < subdir.length; i++) {
135
+ del(subdir[i]);
136
+ }
137
+ }
114
138
  }
139
+ del(fullPath);
140
+ } catch (err) {
141
+ console.log("failed processing", fullPath, err && err.message);
115
142
  }
116
- del(fullPath);
117
143
  });
118
144
  }
119
145
  module2.exports.delStream = delStream;
@@ -161,6 +187,7 @@ var require_utils = __commonJS({
161
187
 
162
188
  // src/npm-run-series.cjs
163
189
  init_cjs_shims();
190
+ var { spawnSync } = require("child_process");
164
191
  var fs = require("fs");
165
192
  var path = require("path");
166
193
  var { Minimatch } = require("minimatch");
@@ -170,8 +197,22 @@ var cwd = process.cwd();
170
197
  var packagejson = path.join(cwd, "package.json");
171
198
  var verbose = args["v"] || args["verbose"];
172
199
  var usingYarn = args["yarn"];
200
+ function runCommand(command, commandArgs) {
201
+ const result = spawnSync(command, commandArgs, {
202
+ cwd,
203
+ shell: true,
204
+ stdio: "inherit"
205
+ });
206
+ if (result.error) {
207
+ throw result.error;
208
+ }
209
+ if (result.status !== 0) {
210
+ process.exitCode = result.status ?? 1;
211
+ return false;
212
+ }
213
+ return true;
214
+ }
173
215
  (async function npmRunSeries() {
174
- const { execa } = await import("execa");
175
216
  if (fs.existsSync(packagejson)) {
176
217
  const parse = JSON.parse(fs.readFileSync(packagejson, "utf-8"));
177
218
  if (parse !== null && typeof parse === "object") {
@@ -187,10 +228,9 @@ var usingYarn = args["yarn"];
187
228
  const match = matcher.match(scriptName);
188
229
  if (verbose) console.log({ pattern, scriptName, match });
189
230
  if (match === true) {
190
- await execa(usingYarn ? "yarn" : "npm", ["run", scriptName], {
191
- cwd,
192
- stdio: "inherit"
193
- });
231
+ const command = usingYarn ? "yarn" : "npm";
232
+ const completed = runCommand(command, ["run", scriptName]);
233
+ if (!completed) return;
194
234
  }
195
235
  }
196
236
  }