binary-collections 2.0.13 → 2.0.15

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 (303) hide show
  1. package/.opencode/plugins/opencode-request-logger/README.md +44 -0
  2. package/.venv/Lib/site-packages/pyarrow/tests/data/orc/README.md +22 -0
  3. package/binaries/binary-executor.cjs +307 -238
  4. package/binaries/clean-nodemodule.cjs +307 -238
  5. package/binaries/clean-nodemodules.cjs +307 -238
  6. package/binaries/composer.cjs +323 -0
  7. package/binaries/composer.cmd +2 -0
  8. package/binaries/composer.phar +0 -0
  9. package/binaries/dev.cjs +307 -238
  10. package/binaries/empty.cjs +307 -238
  11. package/binaries/git-reduce-size.cjs +307 -238
  12. package/binaries/javakill.cjs +307 -238
  13. package/binaries/kill-process.cjs +307 -238
  14. package/binaries/nodekill.cjs +307 -238
  15. package/binaries/prod.cjs +307 -238
  16. package/binaries/py.cjs +307 -238
  17. package/binaries/rmfind.cjs +307 -238
  18. package/binaries/rmx.cjs +307 -238
  19. package/binaries/submodule-token.cjs +307 -238
  20. package/binaries/test-cjs.cjs +307 -238
  21. package/binaries/test-esm.cjs +307 -238
  22. package/binaries/yarn-clean.cjs +307 -238
  23. package/binaries/yc.cjs +307 -238
  24. package/binaries/ycw.cjs +307 -238
  25. package/docs-src/binary-collections.md +1 -1
  26. package/docs-src/clean-github-actions-caches.md +1 -1
  27. package/docs-src/copy-move-file.md +1 -4
  28. package/docs-src/del-ps.md +1 -1
  29. package/docs-src/find-node-modules.md +1 -1
  30. package/docs-src/generate-test-ci.md +56 -0
  31. package/docs-src/get-latest-workflow-status.md +100 -0
  32. package/docs-src/git-diff.md +1 -1
  33. package/docs-src/git-fix.md +1 -1
  34. package/docs-src/git-purge.md +1 -1
  35. package/docs-src/install-opencode-plugins.md +86 -0
  36. package/docs-src/kill-night-crows.md +1 -1
  37. package/docs-src/node-cache-cleaner.md +2 -2
  38. package/docs-src/node-package-packer.md +1 -1
  39. package/docs-src/opencode-cli.md +155 -0
  40. package/docs-src/package-resolutions-updater.md +1 -1
  41. package/docs-src/rmpath.md +1 -1
  42. package/docs-src/run-by-checksum.md +1 -1
  43. package/docs-src/submodule-remove.md +1 -1
  44. package/docs-src/upload-backend.md +29 -0
  45. package/docs-src/vscode-cli.md +84 -0
  46. package/docs-src/workflow-badge.md +120 -0
  47. package/lib/binary-collections/config-types.cjs +17 -0
  48. package/lib/binary-collections/config-types.d.ts +12 -0
  49. package/lib/binary-collections/config-types.js +2 -0
  50. package/lib/binary-collections/config-types.mjs +7 -0
  51. package/lib/binary-collections/config.cjs +28 -8
  52. package/lib/binary-collections/config.d.cts +26 -8
  53. package/lib/binary-collections/config.mjs +2 -2
  54. package/lib/binary-collections/findScript.cjs +49 -25
  55. package/lib/binary-collections/findScript.mjs +2 -2
  56. package/lib/binary-collections/listScript.cjs +49 -25
  57. package/lib/binary-collections/listScript.mjs +2 -2
  58. package/lib/binary-collections.cjs +49 -25
  59. package/lib/binary-collections.mjs +6 -6
  60. package/lib/changelog.cjs +142 -4
  61. package/lib/changelog.mjs +9 -5
  62. package/lib/chunk-3T6AMFI3.mjs +52 -0
  63. package/lib/{chunk-2MN4VPV2.mjs → chunk-3ZF2QMDK.mjs} +4 -4
  64. package/lib/chunk-56BVU63B.mjs +86 -0
  65. package/lib/chunk-7N52Z4IJ.mjs +39 -0
  66. package/lib/chunk-B77D3SR4.mjs +28 -0
  67. package/lib/chunk-BPED62FN.mjs +115 -0
  68. package/lib/{chunk-RDN6HF5Z.mjs → chunk-DHFRWM2W.mjs} +1 -1
  69. package/lib/chunk-DPEE3FBB.mjs +146 -0
  70. package/lib/{chunk-MGPYPKIE.mjs → chunk-H7AE4IO3.mjs} +5 -1
  71. package/lib/{chunk-H44UWUFY.mjs → chunk-J4M5EL5P.mjs} +3 -0
  72. package/lib/chunk-KCJYREA2.mjs +67 -0
  73. package/lib/chunk-LACQTD5V.mjs +225 -0
  74. package/lib/{chunk-TBWXE7ST.mjs → chunk-NHD4HLSU.mjs} +24 -31
  75. package/lib/{chunk-RDGDLSPD.mjs → chunk-OWNVMKAA.mjs} +6 -5
  76. package/lib/chunk-SKVF4TMD.mjs +59 -0
  77. package/lib/{chunk-BZWVHODJ.mjs → chunk-TDUUOAQD.mjs} +5 -5
  78. package/lib/chunk-TP3O2JGW.mjs +88 -0
  79. package/lib/{chunk-FLYSZFLW.mjs → chunk-UAEKSLAX.mjs} +1 -1
  80. package/lib/chunk-UDZBVKXH.mjs +94 -0
  81. package/lib/chunk-UEOWRYAN.mjs +32 -0
  82. package/lib/chunk-V6PTSDW5.mjs +82 -0
  83. package/lib/{chunk-NQXUYO67.mjs → chunk-WNUEY6VJ.mjs} +49 -25
  84. package/lib/chunk-X7UVQ6ZC.mjs +183 -0
  85. package/lib/chunk-XW5NZAKI.mjs +82 -0
  86. package/lib/{chunk-LVSPEFU2.mjs → chunk-Z53IUBUN.mjs} +6 -5
  87. package/lib/{chunk-CD3HF3LK.mjs → chunk-Z7RM46Q4.mjs} +5 -11
  88. package/lib/chunk-ZB4IQ6VJ.mjs +46 -0
  89. package/lib/del-gradle.cjs +1 -1
  90. package/lib/del-gradle.mjs +22 -16
  91. package/lib/del-node-modules.cjs +1 -1
  92. package/lib/del-node-modules.mjs +148 -142
  93. package/lib/find-node-modules-cli.cjs +1 -1
  94. package/lib/find-node-modules-cli.mjs +10 -4
  95. package/lib/{git-diff-cli.cjs → git/git-diff-cli.cjs} +32 -12
  96. package/lib/{git-diff-cli.mjs → git/git-diff-cli.mjs} +7 -7
  97. package/lib/{git-diff.cjs → git/git-diff.cjs} +30 -10
  98. package/lib/{git-diff.js → git/git-diff.js} +3 -3
  99. package/lib/{git-diff.mjs → git/git-diff.mjs} +6 -6
  100. package/lib/{git-fix.cjs → git/git-fix.cjs} +142 -3
  101. package/lib/{git-fix.mjs → git/git-fix.mjs} +19 -14
  102. package/lib/{git-purge.cjs → git/git-purge.cjs} +1 -1
  103. package/lib/{git-purge.mjs → git/git-purge.mjs} +4 -4
  104. package/lib/git/user-config.cjs +139 -1
  105. package/lib/git/user-config.mjs +3 -1
  106. package/lib/{clean-github-actions-caches-cli.cjs → github-workflows/clean-github-actions-caches-cli.cjs} +46 -10
  107. package/lib/{clean-github-actions-caches-cli.mjs → github-workflows/clean-github-actions-caches-cli.mjs} +7 -6
  108. package/lib/{clean-github-actions-caches.cjs → github-workflows/clean-github-actions-caches.cjs} +46 -10
  109. package/lib/{clean-github-actions-caches.mjs → github-workflows/clean-github-actions-caches.mjs} +5 -4
  110. package/lib/github-workflows/generate-test-ci-step-cli.cjs +240 -0
  111. package/lib/github-workflows/generate-test-ci-step-cli.d.mts +2 -0
  112. package/lib/github-workflows/generate-test-ci-step-cli.mjs +132 -0
  113. package/lib/github-workflows/get-latest-workflow-status-cli.cjs +549 -0
  114. package/lib/github-workflows/get-latest-workflow-status-cli.d.mts +2 -0
  115. package/lib/github-workflows/get-latest-workflow-status-cli.mjs +61 -0
  116. package/lib/github-workflows/get-latest-workflow-status.cjs +56 -0
  117. package/lib/github-workflows/get-latest-workflow-status.d.mts +1 -0
  118. package/lib/github-workflows/get-latest-workflow-status.mjs +8 -0
  119. package/lib/github-workflows/utils.cjs +279 -0
  120. package/lib/github-workflows/utils.d.cts +76 -0
  121. package/lib/github-workflows/utils.mjs +8 -0
  122. package/lib/github-workflows/workflow-badge-cli.cjs +730 -0
  123. package/lib/github-workflows/workflow-badge-cli.d.mts +2 -0
  124. package/lib/github-workflows/workflow-badge-cli.mjs +98 -0
  125. package/lib/github-workflows/workflow-badge-generator.cjs +200 -0
  126. package/lib/github-workflows/workflow-badge-generator.d.mts +14 -0
  127. package/lib/github-workflows/workflow-badge-generator.mjs +8 -0
  128. package/lib/github-workflows/workflow-test-data.cjs +73 -0
  129. package/lib/github-workflows/workflow-test-data.d.cts +63 -0
  130. package/lib/github-workflows/workflow-test-data.mjs +6 -0
  131. package/lib/node-cache-cleaner-cli.mjs +3 -3
  132. package/lib/opencode/cli/auth-rotate.cjs +458 -0
  133. package/lib/opencode/cli/auth-rotate.d.ts +3 -0
  134. package/lib/opencode/cli/auth-rotate.js +65 -0
  135. package/lib/opencode/cli/auth-rotate.mjs +14 -0
  136. package/lib/opencode/cli/auth-rotate.runner.cjs +454 -0
  137. package/lib/opencode/cli/auth-rotate.runner.d.ts +1 -0
  138. package/lib/opencode/cli/auth-rotate.runner.js +8 -0
  139. package/lib/opencode/cli/auth-rotate.runner.mjs +21 -0
  140. package/lib/opencode/cli/list-projects.cjs +184 -0
  141. package/lib/opencode/cli/list-projects.d.ts +1 -0
  142. package/lib/opencode/cli/list-projects.js +32 -0
  143. package/lib/opencode/cli/list-projects.mjs +11 -0
  144. package/lib/opencode/cli/list-sessions.cjs +215 -0
  145. package/lib/opencode/cli/list-sessions.d.ts +1 -0
  146. package/lib/opencode/cli/list-sessions.js +45 -0
  147. package/lib/opencode/cli/list-sessions.mjs +11 -0
  148. package/lib/opencode/database.cjs +349 -0
  149. package/lib/opencode/database.d.ts +91 -0
  150. package/lib/opencode/database.js +252 -0
  151. package/lib/opencode/database.mjs +28 -0
  152. package/lib/opencode/database.runner.cjs +145 -0
  153. package/lib/opencode/database.runner.d.ts +1 -0
  154. package/lib/opencode/database.runner.js +56 -0
  155. package/lib/opencode/database.runner.mjs +37 -0
  156. package/lib/opencode/install-opencode-plugins-cli.cjs +82 -0
  157. package/lib/opencode/install-opencode-plugins-cli.d.ts +1 -0
  158. package/lib/opencode/install-opencode-plugins-cli.js +78 -0
  159. package/lib/opencode/install-opencode-plugins-cli.mjs +65 -0
  160. package/lib/opencode/opencode-zen.runner.cjs +48 -0
  161. package/lib/opencode/opencode-zen.runner.d.mts +1 -0
  162. package/lib/opencode/opencode-zen.runner.mjs +31 -0
  163. package/lib/opencode/sqlite.cjs +114 -0
  164. package/lib/opencode/sqlite.d.ts +18 -0
  165. package/lib/opencode/sqlite.js +82 -0
  166. package/lib/opencode/sqlite.mjs +10 -0
  167. package/lib/opencode/storage.cjs +124 -0
  168. package/lib/opencode/storage.d.ts +27 -0
  169. package/lib/opencode/storage.js +101 -0
  170. package/lib/opencode/storage.mjs +38 -0
  171. package/lib/opencode/storage.runner.cjs +50 -0
  172. package/lib/opencode/storage.runner.d.ts +1 -0
  173. package/lib/opencode/storage.runner.js +13 -0
  174. package/lib/opencode/storage.runner.mjs +29 -0
  175. package/lib/opencode/types.cjs +17 -0
  176. package/lib/opencode/types.d.ts +31 -0
  177. package/lib/opencode/types.js +2 -0
  178. package/lib/opencode/types.mjs +7 -0
  179. package/lib/opencode/utils/check-api.cjs +373 -0
  180. package/lib/opencode/utils/check-api.d.ts +16 -0
  181. package/lib/opencode/utils/check-api.js +132 -0
  182. package/lib/opencode/utils/check-api.mjs +12 -0
  183. package/lib/opencode/utils/check-api.runner.cjs +0 -0
  184. package/lib/opencode/utils/check-api.runner.d.ts +0 -0
  185. package/lib/opencode/utils/check-api.runner.js +1 -0
  186. package/lib/opencode/utils/check-api.runner.mjs +7 -0
  187. package/lib/opencode-cli.cjs +796 -0
  188. package/lib/opencode-cli.d.ts +2 -0
  189. package/lib/opencode-cli.js +116 -0
  190. package/lib/opencode-cli.mjs +116 -0
  191. package/lib/package-resolutions-updater-cli.cjs +189 -154
  192. package/lib/package-resolutions-updater-cli.mjs +3 -2
  193. package/lib/package-resolutions-updater.cjs +189 -154
  194. package/lib/package-resolutions-updater.d.mts +12 -3
  195. package/lib/package-resolutions-updater.mjs +3 -2
  196. package/lib/print-directory-tree.cjs +139 -3
  197. package/lib/print-directory-tree.mjs +6 -3
  198. package/lib/print-tarball-tree-cli.cjs +305 -0
  199. package/lib/print-tarball-tree-cli.d.mts +2 -0
  200. package/lib/print-tarball-tree-cli.mjs +54 -0
  201. package/lib/print-tarball-tree.cjs +43 -216
  202. package/lib/print-tarball-tree.d.mts +4 -1
  203. package/lib/print-tarball-tree.mjs +12 -66
  204. package/lib/rmpath-cli.cjs +139 -5
  205. package/lib/rmpath-cli.mjs +3 -1
  206. package/lib/rmpath.cjs +155 -11
  207. package/lib/rmpath.mjs +3 -1
  208. package/lib/run-by-checksum/hash.cjs +50 -56
  209. package/lib/run-by-checksum/hash.d.cts +24 -0
  210. package/lib/run-by-checksum/hash.mjs +3 -7
  211. package/lib/run-by-checksum/run.cjs +95 -42
  212. package/lib/run-by-checksum/run.js +3 -3
  213. package/lib/run-by-checksum/run.mjs +2 -2
  214. package/lib/run-by-checksum-cli.cjs +96 -58
  215. package/lib/run-by-checksum-cli.mjs +2 -2
  216. package/lib/submodule-install.cjs +138 -4
  217. package/lib/submodule-install.mjs +5 -4
  218. package/lib/submodule-remove-cli.cjs +139 -5
  219. package/lib/submodule-remove-cli.mjs +3 -1
  220. package/lib/submodule-remove.cjs +154 -5
  221. package/lib/submodule-remove.mjs +3 -1
  222. package/lib/utils/findEnvFiles.cjs +3 -0
  223. package/lib/utils/findEnvFiles.d.cts +2 -2
  224. package/lib/utils/findEnvFiles.mjs +1 -1
  225. package/lib/utils/isDebug.cjs +13 -0
  226. package/lib/utils/isDebug.d.cts +9 -0
  227. package/lib/utils/isDebug.mjs +6 -0
  228. package/lib/vscode/project.cjs +0 -0
  229. package/lib/vscode/project.d.ts +0 -0
  230. package/lib/vscode/project.js +1 -0
  231. package/lib/vscode/project.mjs +7 -0
  232. package/lib/vscode/storage.cjs +138 -0
  233. package/lib/vscode/storage.d.ts +51 -0
  234. package/lib/vscode/storage.js +169 -0
  235. package/lib/vscode/storage.mjs +42 -0
  236. package/lib/vscode/storage.runner.cjs +125 -0
  237. package/lib/vscode/storage.runner.d.ts +1 -0
  238. package/lib/vscode/storage.runner.js +47 -0
  239. package/lib/vscode/storage.runner.mjs +60 -0
  240. package/lib/vscode-cli.cjs +155 -0
  241. package/lib/vscode-cli.d.ts +2 -0
  242. package/lib/vscode-cli.js +80 -0
  243. package/lib/vscode-cli.mjs +71 -0
  244. package/package.json +50 -26
  245. package/readme.md +104 -8
  246. package/releases/readme.md +1 -1
  247. package/src/github-workflows/generate-test-ci-step-cli.mjs +126 -0
  248. package/vendor/clue/ndjson-react/README.md +365 -0
  249. package/vendor/composer/pcre/README.md +189 -0
  250. package/vendor/composer/semver/README.md +99 -0
  251. package/vendor/composer/xdebug-handler/README.md +305 -0
  252. package/vendor/ergebnis/agent-detector/README.md +107 -0
  253. package/vendor/evenement/evenement/README.md +64 -0
  254. package/vendor/fidry/cpu-core-counter/README.md +138 -0
  255. package/vendor/friendsofphp/php-cs-fixer/README.md +97 -0
  256. package/vendor/psr/container/README.md +13 -0
  257. package/vendor/psr/event-dispatcher/README.md +6 -0
  258. package/vendor/psr/log/README.md +58 -0
  259. package/vendor/react/cache/README.md +367 -0
  260. package/vendor/react/child-process/README.md +619 -0
  261. package/vendor/react/dns/README.md +453 -0
  262. package/vendor/react/event-loop/README.md +930 -0
  263. package/vendor/react/promise/README.md +722 -0
  264. package/vendor/react/socket/README.md +1564 -0
  265. package/vendor/react/stream/README.md +1249 -0
  266. package/vendor/sebastian/diff/README.md +151 -0
  267. package/vendor/symfony/console/README.md +30 -0
  268. package/vendor/symfony/deprecation-contracts/README.md +26 -0
  269. package/vendor/symfony/event-dispatcher/README.md +25 -0
  270. package/vendor/symfony/event-dispatcher-contracts/README.md +9 -0
  271. package/vendor/symfony/filesystem/README.md +23 -0
  272. package/vendor/symfony/finder/README.md +24 -0
  273. package/vendor/symfony/options-resolver/README.md +25 -0
  274. package/vendor/symfony/polyfill-ctype/README.md +12 -0
  275. package/vendor/symfony/polyfill-intl-grapheme/README.md +32 -0
  276. package/vendor/symfony/polyfill-intl-normalizer/README.md +14 -0
  277. package/vendor/symfony/polyfill-mbstring/README.md +13 -0
  278. package/vendor/symfony/polyfill-php80/README.md +25 -0
  279. package/vendor/symfony/polyfill-php81/README.md +18 -0
  280. package/vendor/symfony/polyfill-php84/README.md +23 -0
  281. package/vendor/symfony/polyfill-php85/README.md +20 -0
  282. package/vendor/symfony/process/README.md +23 -0
  283. package/vendor/symfony/service-contracts/README.md +9 -0
  284. package/vendor/symfony/stopwatch/README.md +52 -0
  285. package/vendor/symfony/string/README.md +24 -0
  286. package/lib/chunk-WSHVPGNM.mjs +0 -44
  287. package/lib/chunk-X2B3X7D4.mjs +0 -35
  288. package/lib/del-gradle.js +0 -16
  289. package/lib/del-node-modules.js +0 -211
  290. package/lib/find-node-modules-cli.js +0 -4
  291. package/lib/run-by-checksum/hash.d.ts +0 -14
  292. package/lib/run-by-checksum/hash.js +0 -85
  293. package/readme.html +0 -784
  294. /package/lib/{clean-github-actions-caches-cli.d.cts → del-gradle.d.cts} +0 -0
  295. /package/lib/{del-gradle.d.ts → del-node-modules.d.cts} +0 -0
  296. /package/lib/{find-node-modules-cli.d.ts → find-node-modules-cli.d.cts} +0 -0
  297. /package/lib/{git-diff-cli.d.ts → git/git-diff-cli.d.ts} +0 -0
  298. /package/lib/{git-diff-cli.js → git/git-diff-cli.js} +0 -0
  299. /package/lib/{git-diff.d.ts → git/git-diff.d.ts} +0 -0
  300. /package/lib/{git-fix.d.cts → git/git-fix.d.cts} +0 -0
  301. /package/lib/{git-purge.d.cts → git/git-purge.d.cts} +0 -0
  302. /package/lib/{del-node-modules.d.ts → github-workflows/clean-github-actions-caches-cli.d.cts} +0 -0
  303. /package/lib/{clean-github-actions-caches.d.cts → github-workflows/clean-github-actions-caches.d.cts} +0 -0
@@ -1,35 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import {
3
- require_findEnvFiles
4
- } from "./chunk-H44UWUFY.mjs";
5
- import {
6
- __commonJS,
7
- __require,
8
- init_esm_shims
9
- } from "./chunk-QQ4A6DLD.mjs";
10
-
11
- // src/binary-collections/config.cjs
12
- var require_config = __commonJS({
13
- "src/binary-collections/config.cjs"(exports, module) {
14
- init_esm_shims();
15
- var path = __require("upath");
16
- var { findEnvWithToken } = require_findEnvFiles();
17
- __require("dotenv").config({ path: findEnvWithToken(), quiet: true, overwrite: true });
18
- function getTempDir() {
19
- return process.env.TEMP_DIR || path.join(process.cwd(), "tmp");
20
- }
21
- function getTempPath(...segments) {
22
- return path.join(getTempDir(), ...segments);
23
- }
24
- var TEMP_BASE_DIR = getTempDir();
25
- module.exports = {
26
- getTempDir,
27
- getTempPath,
28
- TEMP_BASE_DIR
29
- };
30
- }
31
- });
32
-
33
- export {
34
- require_config
35
- };
package/lib/del-gradle.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
- const glob = require('glob');
3
- const path = require('upath');
4
- const { del } = require('./utils/index.cjs');
5
- const globStream = new glob.Glob(['**/build.gradle'], {
6
- withFileTypes: false,
7
- cwd: process.cwd(),
8
- ignore: ['**/node_modules/**', '**/vendor/**']
9
- });
10
- globStream.stream().on('data', (result) => {
11
- const fullPath = path.resolve(process.cwd(), result);
12
- const base = path.dirname(fullPath);
13
- const buildFolder = path.join(base, 'build');
14
- console.log('delete build folder', buildFolder);
15
- del(buildFolder);
16
- });
@@ -1,211 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- const fs = require('fs');
12
- const fsp = fs.promises;
13
- const path = require('upath');
14
- const os = require('os');
15
- const { getArgs } = require('./utils/index.cjs');
16
- // ----------------------
17
- // CLI
18
- // ----------------------
19
- const argv = getArgs({
20
- boolean: ['force', 'help'],
21
- alias: { h: 'help', f: 'force', c: 'concurrent' },
22
- default: { force: false, concurrent: 2 }
23
- });
24
- if (argv.help) {
25
- console.log(`Usage: clean-node [--force] [-c|--concurrent N]
26
- By default runs in dry-run mode. Use --force to actually delete.
27
- Use -c/--concurrent to set concurrent removals (default 2).`);
28
- process.exit(0);
29
- }
30
- const DRY_RUN = !argv.force;
31
- const defaultConcurrency = Math.max(2, os.cpus().length || 2);
32
- const CONCURRENCY = Math.max(1, Number(argv.concurrent || argv.c || defaultConcurrency));
33
- // ----------------------
34
- // CONSTANTS
35
- // ----------------------
36
- const customChars = '@.';
37
- const vowels = 'aeiouAEIOU';
38
- const alnum = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
39
- const combined = alnum + vowels + customChars;
40
- const ROOT = process.cwd();
41
- // ----------------------
42
- // HELPERS
43
- // ----------------------
44
- function isSymlinkAsync(p) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- try {
47
- return (yield fsp.lstat(p)).isSymbolicLink();
48
- }
49
- catch (_a) {
50
- return false;
51
- }
52
- });
53
- }
54
- function removeAsync(target) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- if (yield isSymlinkAsync(target)) {
57
- console.log('Skipping symlink', target);
58
- return;
59
- }
60
- if (DRY_RUN) {
61
- console.log('Would remove', target);
62
- return;
63
- }
64
- try {
65
- yield fsp.rm(target, { recursive: true, force: true });
66
- console.log('Deleting', target);
67
- }
68
- catch (e) {
69
- console.error('Failed:', target, e.message);
70
- }
71
- });
72
- }
73
- function runWithConcurrency(tasks, concurrency) {
74
- return new Promise((resolve, reject) => {
75
- let i = 0;
76
- let active = 0;
77
- let done = 0;
78
- const total = tasks.length;
79
- if (total === 0)
80
- return resolve();
81
- function next() {
82
- if (done === total)
83
- return resolve();
84
- while (active < concurrency && i < total) {
85
- const idx = i++;
86
- active++;
87
- Promise.resolve()
88
- .then(() => tasks[idx]())
89
- .then(() => {
90
- active--;
91
- done++;
92
- next();
93
- })
94
- .catch((err) => reject(err));
95
- }
96
- }
97
- next();
98
- });
99
- }
100
- // `removeAsync` is the single deletion path; synchronous removals were
101
- // removed in favor of collecting targets and executing them with
102
- // `runWithConcurrency` so all deletions respect `DRY_RUN` and concurrency.
103
- /**
104
- * Walk (no symlink traversal)
105
- */
106
- function walk(dir, callback, { skipNodeModulesChildren = false } = {}) {
107
- let entries;
108
- try {
109
- entries = fs.readdirSync(dir, { withFileTypes: true });
110
- }
111
- catch (_a) {
112
- return;
113
- }
114
- for (const entry of entries) {
115
- const fullPath = path.join(dir, entry.name);
116
- // 🚫 never follow symlinks
117
- if (entry.isSymbolicLink())
118
- continue;
119
- // skip inside node_modules/*
120
- if (skipNodeModulesChildren && dir.includes('node_modules'))
121
- continue;
122
- callback(fullPath, entry);
123
- if (entry.isDirectory()) {
124
- if (skipNodeModulesChildren && entry.name === 'node_modules') {
125
- continue;
126
- }
127
- walk(fullPath, callback, { skipNodeModulesChildren });
128
- }
129
- }
130
- }
131
- // ----------------------
132
- // NODE_MODULES HANDLER
133
- // ----------------------
134
- function processNodeModules(dir) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- console.log('Found:', dir);
137
- let items;
138
- try {
139
- items = fs.readdirSync(dir, { withFileTypes: true });
140
- }
141
- catch (_a) {
142
- return;
143
- }
144
- // determine targets whose first char is in the allowed combined set
145
- const targets = items.filter((entry) => entry.name.length && combined.includes(entry.name[0]));
146
- const tasks = targets.map((entry) => () => __awaiter(this, void 0, void 0, function* () {
147
- const name = entry.name;
148
- const target = path.join(dir, name);
149
- // 🚫 skip symlinks entirely (Dirent gives this cheaply)
150
- if (entry.isSymbolicLink && entry.isSymbolicLink()) {
151
- console.log('Skipping symlink', target);
152
- return;
153
- }
154
- yield removeAsync(target);
155
- }));
156
- // run with limited concurrency
157
- yield runWithConcurrency(tasks, CONCURRENCY);
158
- yield removeAsync(dir);
159
- });
160
- }
161
- // ----------------------
162
- // MAIN
163
- // ----------------------
164
- function main() {
165
- return __awaiter(this, void 0, void 0, function* () {
166
- const nodeModulesDirs = [];
167
- // find node_modules
168
- walk(ROOT, (fullPath, entry) => {
169
- if (entry.isDirectory() && entry.name === 'node_modules') {
170
- nodeModulesDirs.push(fullPath);
171
- }
172
- });
173
- for (const dir of nodeModulesDirs) {
174
- // process each node_modules directory, await to avoid too many parallel top-level ops
175
- // (internals already limit concurrency)
176
- yield processNodeModules(dir);
177
- }
178
- // collect package/yarn targets then remove them with concurrency
179
- const packageLocks = [];
180
- const yarnLocks = [];
181
- const yarnCaches = [];
182
- walk(ROOT, (fullPath, entry) => {
183
- const base = path.basename(fullPath);
184
- if (base === 'package-lock.json')
185
- packageLocks.push(fullPath);
186
- if (base === 'yarn.lock')
187
- yarnLocks.push(fullPath);
188
- if (entry.isDirectory() && fullPath.endsWith(path.join('.yarn', 'cache')))
189
- yarnCaches.push(fullPath);
190
- }, { skipNodeModulesChildren: true });
191
- if (DRY_RUN) {
192
- console.log('Would remove package-lock.json files:');
193
- for (const p of packageLocks)
194
- console.log(p);
195
- console.log('Would remove yarn.lock files:');
196
- for (const p of yarnLocks)
197
- console.log(p);
198
- console.log('Would remove .yarn/cache directories:');
199
- for (const p of yarnCaches)
200
- console.log(p);
201
- }
202
- else {
203
- const allTasks = [];
204
- allTasks.push(...packageLocks.map((p) => () => __awaiter(this, void 0, void 0, function* () { return removeAsync(p); })));
205
- allTasks.push(...yarnLocks.map((p) => () => __awaiter(this, void 0, void 0, function* () { return removeAsync(p); })));
206
- allTasks.push(...yarnCaches.map((p) => () => __awaiter(this, void 0, void 0, function* () { return removeAsync(p); })));
207
- yield runWithConcurrency(allTasks, CONCURRENCY);
208
- }
209
- });
210
- }
211
- main();
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- const findNodeModules = require('./find-node-modules.cjs');
4
- findNodeModules(null, console.log);
@@ -1,14 +0,0 @@
1
- /**
2
- * @param {{ patterns: string[], ignore: string[], cwd?: string }} options
3
- * @returns {string[]}
4
- */
5
- export function getAllFiles({ patterns, ignore, cwd }: {
6
- patterns: string[];
7
- ignore: string[];
8
- cwd?: string;
9
- }): string[];
10
- /**
11
- * @param {string[]} files
12
- * @returns {string}
13
- */
14
- export function buildChecksum(files: string[]): string;
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.getAllFiles = getAllFiles;
40
- exports.buildChecksum = buildChecksum;
41
- const fs_extra_1 = __importDefault(require("fs-extra"));
42
- const glob = __importStar(require("glob"));
43
- const upath_1 = __importDefault(require("upath"));
44
- const upath_2 = __importDefault(require("upath"));
45
- const crypto_1 = __importDefault(require("crypto"));
46
- /**
47
- * @param {{ patterns: string[], ignore: string[], cwd?: string }} options
48
- * @returns {string[]}
49
- */
50
- function getAllFiles({ patterns, ignore, cwd }) {
51
- const files = new Set();
52
- const root = cwd || process.cwd();
53
- for (const pattern of patterns) {
54
- const matched = glob.sync(pattern, {
55
- cwd: root,
56
- nodir: true,
57
- ignore
58
- });
59
- for (const f of matched) {
60
- // Resolve to absolute path for consistent hashing
61
- files.add(upath_1.default.normalize(upath_2.default.resolve(root, f)));
62
- }
63
- }
64
- return [...files].sort();
65
- }
66
- /**
67
- * @param {string} file
68
- * @returns {string}
69
- */
70
- function hashFile(file) {
71
- const content = fs_extra_1.default.readFileSync(file);
72
- return crypto_1.default.createHash('sha256').update(content).digest('hex');
73
- }
74
- /**
75
- * @param {string[]} files
76
- * @returns {string}
77
- */
78
- function buildChecksum(files) {
79
- const hash = crypto_1.default.createHash('sha256');
80
- for (const file of files) {
81
- hash.update(file);
82
- hash.update(hashFile(file));
83
- }
84
- return hash.digest('hex');
85
- }