binary-collections 2.0.12 → 2.0.14
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.
- package/binaries/binary-executor.cjs +307 -162
- package/binaries/clean-nodemodule.cjs +307 -162
- package/binaries/clean-nodemodules.cjs +307 -162
- package/binaries/composer.cjs +323 -0
- package/binaries/composer.cmd +2 -0
- package/binaries/composer.phar +0 -0
- package/binaries/dev.cjs +307 -162
- package/binaries/empty.cjs +307 -162
- package/binaries/git-reduce-size.cjs +307 -162
- package/binaries/javakill.cjs +307 -162
- package/binaries/kill-process.cjs +307 -162
- package/binaries/nodekill.cjs +307 -162
- package/binaries/prod.cjs +307 -162
- package/binaries/py.cjs +307 -162
- package/binaries/rmfind.cjs +307 -162
- package/binaries/rmx.cjs +307 -162
- package/binaries/submodule-token.cjs +307 -162
- package/binaries/test-cjs.cjs +307 -162
- package/binaries/test-esm.cjs +307 -162
- package/binaries/yarn-clean.cjs +307 -162
- package/binaries/yc +22 -1
- package/binaries/yc.cjs +307 -162
- package/binaries/ycw +256 -0
- package/binaries/ycw.cjs +323 -0
- package/docs-src/binary-collections.md +34 -0
- package/docs-src/changelog.md +26 -0
- package/docs-src/clean-github-actions-caches.md +115 -0
- package/docs-src/copy-move-file.md +56 -0
- package/docs-src/del-gradle.md +17 -0
- package/docs-src/del-ps.md +28 -0
- package/docs-src/downloader.md +62 -0
- package/docs-src/env-helpers.md +29 -0
- package/docs-src/find-node-modules.md +17 -0
- package/docs-src/free-chatgpt.md +26 -0
- package/docs-src/generate-test-ci.md +56 -0
- package/docs-src/get-latest-workflow-status.md +100 -0
- package/docs-src/git-diff.md +33 -0
- package/docs-src/git-fix.md +34 -0
- package/docs-src/git-purge.md +17 -0
- package/docs-src/git-reduce-size.md +17 -0
- package/docs-src/git-undo.md +21 -0
- package/docs-src/kill-night-crows.md +26 -0
- package/docs-src/node-cache-cleaner.md +182 -0
- package/docs-src/node-executor.md +50 -0
- package/docs-src/node-package-packer.md +48 -0
- package/docs-src/npm-run-series.md +43 -0
- package/docs-src/opencode-cli.md +127 -0
- package/docs-src/package-resolutions-updater.md +22 -0
- package/docs-src/php-cs-fixer-staged.md +19 -0
- package/docs-src/print-directory-tree.md +35 -0
- package/docs-src/print-tarball-tree.md +55 -0
- package/docs-src/py.md +19 -0
- package/docs-src/remove-module.md +32 -0
- package/docs-src/rmfind-rmx.md +21 -0
- package/docs-src/rmpath.md +38 -0
- package/docs-src/run-by-checksum.md +87 -0
- package/docs-src/submodule-install.md +31 -0
- package/docs-src/submodule-remove.md +22 -0
- package/docs-src/submodule-token.md +17 -0
- package/docs-src/test-runners.md +21 -0
- package/docs-src/upload-backend.md +29 -0
- package/docs-src/vscode-cli.md +84 -0
- package/docs-src/workflow-badge.md +120 -0
- package/docs-src/yarn-install.md +31 -0
- package/docs-src/yarn-reinstall.md +27 -0
- package/lib/binary-collections/config.cjs +15 -3
- package/lib/binary-collections/config.d.cts +10 -0
- package/lib/binary-collections/config.mjs +2 -2
- package/lib/binary-collections/findScript.cjs +75 -28
- package/lib/binary-collections/findScript.mjs +2 -2
- package/lib/binary-collections/listScript.cjs +75 -28
- package/lib/binary-collections/listScript.mjs +2 -2
- package/lib/binary-collections.cjs +85 -43
- package/lib/binary-collections.mjs +8 -8
- package/lib/changelog.cjs +7 -12
- package/lib/changelog.mjs +2 -2
- package/lib/chunk-2SJKVOTN.mjs +146 -0
- package/lib/{chunk-SPTECFE5.mjs → chunk-3F6EIHYG.mjs} +87 -21
- package/lib/chunk-546KAIYT.mjs +113 -0
- package/lib/chunk-56BVU63B.mjs +86 -0
- package/lib/chunk-5WAOOOGZ.mjs +77 -0
- package/lib/{chunk-V2IBPCEV.mjs → chunk-6C7KTYGZ.mjs} +3 -1
- package/lib/{chunk-5RTXZVCW.mjs → chunk-6RK5UCTP.mjs} +5 -10
- package/lib/chunk-72XTQ3CK.mjs +45 -0
- package/lib/chunk-7N52Z4IJ.mjs +39 -0
- package/lib/chunk-7Q6YEUQF.mjs +246 -0
- package/lib/{chunk-ZOWVMII3.mjs → chunk-AJ3OIYYP.mjs} +75 -28
- package/lib/chunk-AQZ7LMFS.mjs +100 -0
- package/lib/chunk-BDCMTOZI.mjs +246 -0
- package/lib/chunk-BEUM4LH4.mjs +184 -0
- package/lib/{chunk-66KDU4TX.mjs → chunk-BO4TZS4Q.mjs} +39 -61
- package/lib/chunk-CM3IC5YC.mjs +226 -0
- package/lib/{chunk-6PU7BAHB.mjs → chunk-D42YBRZW.mjs} +1 -1
- package/lib/chunk-FR3DMHJC.mjs +146 -0
- package/lib/chunk-I3O5ZRYU.mjs +77 -0
- package/lib/chunk-J4M5EL5P.mjs +108 -0
- package/lib/chunk-JK3MG2KF.mjs +236 -0
- package/lib/chunk-JMUFQSPE.mjs +184 -0
- package/lib/chunk-JVMLKHD2.mjs +62 -0
- package/lib/chunk-KAT2JNLZ.mjs +146 -0
- package/lib/chunk-KLKAIFKI.mjs +40 -0
- package/lib/{chunk-FB2WKVJD.mjs → chunk-KRCPFWIF.mjs} +72 -37
- package/lib/chunk-LACQTD5V.mjs +225 -0
- package/lib/chunk-LVSPEFU2.mjs +86 -0
- package/lib/chunk-MCCMMZSM.mjs +60 -0
- package/lib/{chunk-2LSRSEXF.mjs → chunk-MGPYPKIE.mjs} +2 -2
- package/lib/chunk-OA2RKEY3.mjs +162 -0
- package/lib/{chunk-C6D2TTYU.mjs → chunk-OBXLTXFJ.mjs} +4 -2
- package/lib/{chunk-G5UUEWUO.mjs → chunk-PAZH45HS.mjs} +8 -2
- package/lib/chunk-QD4T255Z.mjs +40 -0
- package/lib/{chunk-XPJGCDOD.mjs → chunk-QII2EKCS.mjs} +14 -2
- package/lib/chunk-QZMGBDSA.mjs +32 -0
- package/lib/chunk-RDGDLSPD.mjs +76 -0
- package/lib/chunk-RJKTSUAX.mjs +123 -0
- package/lib/chunk-RKPIBGKE.mjs +61 -0
- package/lib/chunk-SARIXFHP.mjs +44 -0
- package/lib/chunk-SJYP66BO.mjs +62 -0
- package/lib/chunk-SWUAEY4H.mjs +44 -0
- package/lib/chunk-TP3O2JGW.mjs +88 -0
- package/lib/chunk-UAIF5VIA.mjs +89 -0
- package/lib/chunk-UDZBVKXH.mjs +94 -0
- package/lib/chunk-UEOWRYAN.mjs +32 -0
- package/lib/chunk-UHPFLJXH.mjs +227 -0
- package/lib/{chunk-M3YIYRHT.mjs → chunk-UY5VUEA3.mjs} +1 -1
- package/lib/chunk-UYNBNLV5.mjs +113 -0
- package/lib/chunk-WOC4FZ6F.mjs +164 -0
- package/lib/chunk-WSHVPGNM.mjs +44 -0
- package/lib/chunk-X7UVQ6ZC.mjs +183 -0
- package/lib/{chunk-NCZPTKDV.mjs → chunk-XI67TI46.mjs} +1 -1
- package/lib/chunk-XW5NZAKI.mjs +82 -0
- package/lib/chunk-YLV4QATP.mjs +86 -0
- package/lib/chunk-YWSLMAQ7.mjs +65 -0
- package/lib/chunk-ZB4IQ6VJ.mjs +46 -0
- package/lib/cross-env/command.cjs +2 -2
- package/lib/cross-env/command.js +2 -2
- package/lib/cross-env/command.mjs +2 -2
- package/lib/cross-env/index.cjs +2 -2
- package/lib/cross-env/index.mjs +5 -5
- package/lib/cross-env/variable.mjs +2 -2
- package/lib/del-gradle.cjs +7 -12
- package/lib/del-gradle.mjs +23 -17
- package/lib/del-node-modules.cjs +186 -4
- package/lib/del-node-modules.mjs +151 -142
- package/lib/{del-ps.cjs → del-ps-cli.cjs} +36 -41
- package/lib/del-ps-cli.mjs +44 -0
- package/lib/del-yarn-caches.cjs +6 -11
- package/lib/del-yarn-caches.mjs +1 -1
- package/lib/downloader-cli.cjs +256 -0
- package/lib/downloader-cli.mjs +90 -0
- package/lib/file/copy-cli.cjs +183 -2
- package/lib/file/copy-cli.mjs +6 -2
- package/lib/file/move-cli.cjs +183 -2
- package/lib/file/move-cli.mjs +6 -2
- package/lib/find-node-modules-cli.cjs +2 -2
- package/lib/find-node-modules-cli.mjs +11 -5
- package/lib/find-node-modules.cjs +1 -1
- package/lib/find-node-modules.mjs +1 -1
- package/lib/free-chatgpt.cjs +6 -11
- package/lib/free-chatgpt.mjs +1 -1
- package/lib/{git-diff-cli.cjs → git/git-diff-cli.cjs} +109 -36
- package/lib/{git-diff-cli.mjs → git/git-diff-cli.mjs} +7 -7
- package/lib/{git-diff.cjs → git/git-diff.cjs} +107 -34
- package/lib/{git-diff.js → git/git-diff.js} +88 -31
- package/lib/{git-diff.mjs → git/git-diff.mjs} +6 -6
- package/lib/{git-fix.cjs → git/git-fix.cjs} +140 -14
- package/lib/git/git-fix.d.cts +2 -0
- package/lib/{git-fix.mjs → git/git-fix.mjs} +19 -14
- package/lib/{git-purge.cjs → git/git-purge.cjs} +8 -13
- package/lib/{git-purge.mjs → git/git-purge.mjs} +5 -5
- package/lib/git/user-config.cjs +137 -12
- package/lib/git/user-config.mjs +4 -2
- package/lib/{clean-github-actions-caches-cli.cjs → github-workflows/clean-github-actions-caches-cli.cjs} +292 -222
- package/lib/{clean-github-actions-caches-cli.mjs → github-workflows/clean-github-actions-caches-cli.mjs} +30 -11
- package/lib/github-workflows/clean-github-actions-caches.cjs +473 -0
- package/lib/github-workflows/clean-github-actions-caches.d.cts +53 -0
- package/lib/{clean-github-actions-caches.mjs → github-workflows/clean-github-actions-caches.mjs} +5 -3
- package/lib/github-workflows/generate-test-ci-step-cli.cjs +240 -0
- package/lib/github-workflows/generate-test-ci-step-cli.d.mts +2 -0
- package/lib/github-workflows/generate-test-ci-step-cli.mjs +132 -0
- package/lib/github-workflows/get-latest-workflow-status-cli.cjs +541 -0
- package/lib/github-workflows/get-latest-workflow-status-cli.d.mts +2 -0
- package/lib/github-workflows/get-latest-workflow-status-cli.mjs +61 -0
- package/lib/github-workflows/get-latest-workflow-status.cjs +56 -0
- package/lib/github-workflows/get-latest-workflow-status.d.mts +1 -0
- package/lib/{ps/isWin.mjs → github-workflows/get-latest-workflow-status.mjs} +3 -5
- package/lib/github-workflows/utils.cjs +271 -0
- package/lib/github-workflows/utils.d.cts +76 -0
- package/lib/github-workflows/utils.mjs +8 -0
- package/lib/github-workflows/workflow-badge-cli.cjs +722 -0
- package/lib/github-workflows/workflow-badge-cli.d.mts +2 -0
- package/lib/github-workflows/workflow-badge-cli.mjs +98 -0
- package/lib/github-workflows/workflow-badge-generator.cjs +200 -0
- package/lib/github-workflows/workflow-badge-generator.d.mts +14 -0
- package/lib/github-workflows/workflow-badge-generator.mjs +8 -0
- package/lib/github-workflows/workflow-test-data.cjs +73 -0
- package/lib/github-workflows/workflow-test-data.d.cts +63 -0
- package/lib/github-workflows/workflow-test-data.mjs +6 -0
- package/lib/index.cjs +1 -1
- package/lib/index.mjs +1 -1
- package/lib/node-cache-cleaner-cli.cjs +185 -2
- package/lib/node-cache-cleaner-cli.js +2 -5
- package/lib/node-cache-cleaner-cli.mjs +8 -4
- package/lib/node-executor.cjs +183 -2
- package/lib/node-executor.mjs +5 -2
- package/lib/node-package-packer/build-readme.cjs +150 -0
- package/lib/node-package-packer/build-readme.d.mts +10 -0
- package/lib/node-package-packer/build-readme.mjs +10 -0
- package/lib/node-package-packer/build-tarball.cjs +495 -0
- package/lib/node-package-packer/build-tarball.d.mts +33 -0
- package/lib/node-package-packer/build-tarball.mjs +175 -0
- package/lib/node-package-packer-cli.cjs +525 -0
- package/lib/node-package-packer-cli.d.mts +1 -0
- package/lib/node-package-packer-cli.mjs +34 -0
- package/lib/npm-run-series.cjs +7 -12
- package/lib/npm-run-series.mjs +2 -2
- package/lib/opencode/cli/auth-rotate.cjs +143 -0
- package/lib/opencode/cli/auth-rotate.d.ts +1 -0
- package/lib/opencode/cli/auth-rotate.js +70 -0
- package/lib/opencode/cli/auth-rotate.mjs +10 -0
- package/lib/opencode/cli/list-projects.cjs +184 -0
- package/lib/opencode/cli/list-projects.d.ts +1 -0
- package/lib/opencode/cli/list-projects.js +32 -0
- package/lib/opencode/cli/list-projects.mjs +11 -0
- package/lib/opencode/cli/list-sessions.cjs +215 -0
- package/lib/opencode/cli/list-sessions.d.ts +1 -0
- package/lib/opencode/cli/list-sessions.js +45 -0
- package/lib/opencode/cli/list-sessions.mjs +11 -0
- package/lib/opencode/database.cjs +349 -0
- package/lib/opencode/database.d.ts +91 -0
- package/lib/opencode/database.js +252 -0
- package/lib/opencode/database.mjs +28 -0
- package/lib/opencode/database.runner.cjs +145 -0
- package/lib/opencode/database.runner.d.ts +1 -0
- package/lib/opencode/database.runner.js +56 -0
- package/lib/opencode/database.runner.mjs +37 -0
- package/lib/opencode/opencode-zen.runner.cjs +48 -0
- package/lib/opencode/opencode-zen.runner.d.mts +1 -0
- package/lib/opencode/opencode-zen.runner.mjs +31 -0
- package/lib/opencode/sqlite.cjs +114 -0
- package/lib/opencode/sqlite.d.ts +18 -0
- package/lib/opencode/sqlite.js +82 -0
- package/lib/opencode/sqlite.mjs +10 -0
- package/lib/opencode/storage.cjs +124 -0
- package/lib/opencode/storage.d.ts +27 -0
- package/lib/opencode/storage.js +101 -0
- package/lib/opencode/storage.mjs +38 -0
- package/lib/opencode/storage.runner.cjs +50 -0
- package/lib/opencode/storage.runner.d.ts +1 -0
- package/lib/opencode/storage.runner.js +13 -0
- package/lib/opencode/storage.runner.mjs +29 -0
- package/lib/{ps/isWin.cjs → opencode/types.cjs} +3 -12
- package/lib/opencode/types.d.ts +31 -0
- package/lib/{ps/isWin.js → opencode/types.js} +0 -2
- package/lib/opencode/types.mjs +7 -0
- package/lib/opencode/utils/check-api.cjs +59 -0
- package/lib/opencode/utils/check-api.d.ts +12 -0
- package/lib/opencode/utils/check-api.js +46 -0
- package/lib/opencode/utils/check-api.mjs +8 -0
- package/lib/opencode-cli.cjs +473 -0
- package/lib/opencode-cli.d.ts +2 -0
- package/lib/opencode-cli.js +115 -0
- package/lib/opencode-cli.mjs +111 -0
- package/lib/package-resolutions-updater-cli.cjs +218 -194
- package/lib/package-resolutions-updater-cli.mjs +6 -4
- package/lib/package-resolutions-updater.cjs +216 -192
- package/lib/package-resolutions-updater.d.mts +44 -1
- package/lib/package-resolutions-updater.mjs +5 -3
- package/lib/php-cs-fixer-staged.cjs +1 -1
- package/lib/php-cs-fixer-staged.mjs +1 -1
- package/lib/print-directory-tree.cjs +147 -21
- package/lib/print-directory-tree.mjs +17 -11
- package/lib/print-tarball-tree.cjs +262 -0
- package/lib/print-tarball-tree.d.mts +1 -0
- package/lib/print-tarball-tree.mjs +68 -0
- package/lib/ps/index.cjs +10 -10
- package/lib/ps/index.mjs +4 -4
- package/lib/ps/table-parser.d.ts +3 -4
- package/lib/ps/table-parser.js +9 -16
- package/lib/remove-module.cjs +17 -22
- package/lib/remove-module.mjs +2 -2
- package/lib/rm-node-module-cli.cjs +171 -4
- package/lib/rm-node-module-cli.mjs +7 -4
- package/lib/rmpath-cli.cjs +411 -0
- package/lib/rmpath-cli.d.mts +1 -0
- package/lib/rmpath-cli.mjs +25 -0
- package/lib/rmpath.cjs +113 -188
- package/lib/rmpath.mjs +7 -101
- package/lib/run-by-checksum/cache.cjs +69 -0
- package/lib/run-by-checksum/cache.d.ts +19 -0
- package/lib/run-by-checksum/cache.js +50 -0
- package/lib/run-by-checksum/cache.mjs +12 -0
- package/lib/run-by-checksum/hash.cjs +88 -0
- package/lib/run-by-checksum/hash.d.ts +17 -0
- package/lib/run-by-checksum/hash.js +119 -0
- package/lib/run-by-checksum/hash.mjs +10 -0
- package/lib/run-by-checksum/run.cjs +185 -0
- package/lib/run-by-checksum/run.d.ts +22 -0
- package/lib/run-by-checksum/run.js +93 -0
- package/lib/run-by-checksum/run.mjs +10 -0
- package/lib/run-by-checksum-cli.cjs +398 -0
- package/lib/run-by-checksum-cli.d.ts +2 -0
- package/lib/run-by-checksum-cli.js +43 -0
- package/lib/run-by-checksum-cli.mjs +56 -0
- package/lib/submodule-install.cjs +137 -16
- package/lib/submodule-install.mjs +7 -6
- package/lib/submodule-remove-cli.cjs +300 -7
- package/lib/submodule-remove-cli.js +2 -2
- package/lib/submodule-remove-cli.mjs +8 -3
- package/lib/submodule-remove.cjs +146 -5
- package/lib/submodule-remove.mjs +3 -1
- package/lib/utils/fetchResponse.cjs +24 -0
- package/lib/utils/fetchResponse.d.cts +25 -0
- package/lib/utils/fetchResponse.mjs +6 -0
- package/lib/utils/findEnvFiles.cjs +3 -0
- package/lib/utils/findEnvFiles.d.cts +2 -2
- package/lib/utils/findEnvFiles.mjs +1 -1
- package/lib/utils/index.cjs +5 -10
- package/lib/utils/index.d.cts +2 -9
- package/lib/utils/index.mjs +1 -1
- package/lib/utils/isWindows.mjs +3 -1
- package/lib/utils/runBash.cjs +1 -1
- package/lib/utils/runBash.mjs +1 -1
- package/lib/vscode/project.cjs +0 -0
- package/lib/vscode/project.d.ts +0 -0
- package/lib/vscode/project.js +1 -0
- package/lib/vscode/project.mjs +7 -0
- package/lib/vscode/storage.cjs +138 -0
- package/lib/vscode/storage.d.ts +51 -0
- package/lib/vscode/storage.js +169 -0
- package/lib/vscode/storage.mjs +42 -0
- package/lib/vscode/storage.runner.cjs +125 -0
- package/lib/vscode/storage.runner.d.ts +1 -0
- package/lib/vscode/storage.runner.js +47 -0
- package/lib/vscode/storage.runner.mjs +60 -0
- package/lib/vscode-cli.cjs +155 -0
- package/lib/vscode-cli.d.ts +2 -0
- package/lib/vscode-cli.js +80 -0
- package/lib/vscode-cli.mjs +71 -0
- package/lib/yarn-per-branch-lock-installer.cjs +202 -11
- package/lib/yarn-per-branch-lock-installer.mjs +24 -11
- package/lib/yarn-reinstall.cjs +6 -11
- package/lib/yarn-reinstall.mjs +1 -1
- package/package.json +75 -28
- package/readme.html +2 -2
- package/readme.md +44 -11
- package/releases/readme.md +6 -3
- package/src/github-workflows/generate-test-ci-step-cli.mjs +126 -0
- package/tmp/test-repo-runChecksum/test-complex-glob/README.md +1 -0
- package/tmp/test-repo-runChecksum/test-mixed-args/README.md +1 -0
- package/vendor/clue/ndjson-react/README.md +365 -0
- package/vendor/composer/pcre/README.md +189 -0
- package/vendor/composer/semver/README.md +99 -0
- package/vendor/composer/xdebug-handler/README.md +305 -0
- package/vendor/ergebnis/agent-detector/README.md +107 -0
- package/vendor/evenement/evenement/README.md +64 -0
- package/vendor/fidry/cpu-core-counter/README.md +138 -0
- package/vendor/friendsofphp/php-cs-fixer/README.md +97 -0
- package/vendor/psr/container/README.md +13 -0
- package/vendor/psr/event-dispatcher/README.md +6 -0
- package/vendor/psr/log/README.md +58 -0
- package/vendor/react/cache/README.md +367 -0
- package/vendor/react/child-process/README.md +619 -0
- package/vendor/react/dns/README.md +453 -0
- package/vendor/react/event-loop/README.md +930 -0
- package/vendor/react/promise/README.md +722 -0
- package/vendor/react/socket/README.md +1564 -0
- package/vendor/react/stream/README.md +1249 -0
- package/vendor/sebastian/diff/README.md +151 -0
- package/vendor/symfony/console/README.md +30 -0
- package/vendor/symfony/deprecation-contracts/README.md +26 -0
- package/vendor/symfony/event-dispatcher/README.md +25 -0
- package/vendor/symfony/event-dispatcher-contracts/README.md +9 -0
- package/vendor/symfony/filesystem/README.md +23 -0
- package/vendor/symfony/finder/README.md +24 -0
- package/vendor/symfony/options-resolver/README.md +25 -0
- package/vendor/symfony/polyfill-ctype/README.md +12 -0
- package/vendor/symfony/polyfill-intl-grapheme/README.md +32 -0
- package/vendor/symfony/polyfill-intl-normalizer/README.md +14 -0
- package/vendor/symfony/polyfill-mbstring/README.md +13 -0
- package/vendor/symfony/polyfill-php80/README.md +25 -0
- package/vendor/symfony/polyfill-php81/README.md +18 -0
- package/vendor/symfony/polyfill-php84/README.md +23 -0
- package/vendor/symfony/polyfill-php85/README.md +20 -0
- package/vendor/symfony/process/README.md +23 -0
- package/vendor/symfony/service-contracts/README.md +9 -0
- package/vendor/symfony/stopwatch/README.md +52 -0
- package/vendor/symfony/string/README.md +24 -0
- package/.opencode/package.json +0 -5
- package/lib/chunk-6S4NXESK.mjs +0 -26
- package/lib/clean-github-actions-caches.cjs +0 -249
- package/lib/clean-github-actions-caches.d.cts +0 -15
- package/lib/del-gradle.js +0 -16
- package/lib/del-node-modules.js +0 -211
- package/lib/del-ps.js +0 -32
- package/lib/del-ps.mjs +0 -43
- package/lib/find-node-modules-cli.js +0 -4
- package/lib/ps/isWin.d.ts +0 -2
- package/test/package.json +0 -20
- package/test-project/package.json +0 -22
- package/test-project/workspaces/workspace-a/package.json +0 -135
- package/test-project/workspaces/workspace-a/test/demo/package.json +0 -25
- package/test-project/workspaces/workspace-b/package.json +0 -139
- package/test-project/workspaces/workspace-b/test/sample-project/package.json +0 -7
- package/test-project/workspaces/workspace-b/themes/hexo-theme-flowbite/package.json +0 -96
- package/tmp/rm-node-modules-test-project/package.json +0 -17
- package/tmp/rm-node-modules-test-project/packages/workspace-a/package.json +0 -16
- package/tmp/rm-node-modules-test-project/packages/workspace-b/package.json +0 -16
- package/tmp/test-repo/package.json +0 -17
- /package/lib/{clean-github-actions-caches-cli.d.cts → del-gradle.d.cts} +0 -0
- /package/lib/{del-gradle.d.ts → del-node-modules.d.cts} +0 -0
- /package/lib/{del-node-modules.d.ts → del-ps-cli.d.mts} +0 -0
- /package/lib/{find-node-modules-cli.d.ts → downloader-cli.d.cts} +0 -0
- /package/lib/{git-diff-cli.d.ts → find-node-modules-cli.d.cts} +0 -0
- /package/lib/{git-fix.d.cts → git/git-diff-cli.d.ts} +0 -0
- /package/lib/{git-diff-cli.js → git/git-diff-cli.js} +0 -0
- /package/lib/{git-diff.d.ts → git/git-diff.d.ts} +0 -0
- /package/lib/{git-purge.d.cts → git/git-purge.d.cts} +0 -0
- /package/lib/{del-ps.d.ts → github-workflows/clean-github-actions-caches-cli.d.cts} +0 -0
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
2
|
-
var __esm = (fn, res) => function __init() {
|
|
3
|
-
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
4
|
-
};
|
|
5
|
-
var __commonJS = (cb, mod) => function __require() {
|
|
6
|
-
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
// node_modules/tsup/assets/cjs_shims.js
|
|
10
|
-
var init_cjs_shims = __esm({
|
|
11
|
-
"node_modules/tsup/assets/cjs_shims.js"() {
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
// src/utils/findEnvFiles.cjs
|
|
16
|
-
var require_findEnvFiles = __commonJS({
|
|
17
|
-
"src/utils/findEnvFiles.cjs"(exports2, module2) {
|
|
18
|
-
init_cjs_shims();
|
|
19
|
-
var fs = require("fs");
|
|
20
|
-
var path = require("path");
|
|
21
|
-
var glob = require("glob");
|
|
22
|
-
var DEFAULT_IGNORES = [
|
|
23
|
-
"**/node_modules/**",
|
|
24
|
-
"**/.git/**",
|
|
25
|
-
"**/.yarn/**",
|
|
26
|
-
"**/.pnpm/**",
|
|
27
|
-
"**/dist/**",
|
|
28
|
-
"**/build/**",
|
|
29
|
-
"**/coverage/**",
|
|
30
|
-
"**/vendor/**",
|
|
31
|
-
"**/tmp/**",
|
|
32
|
-
"**/.cache/**",
|
|
33
|
-
"**/assets/**",
|
|
34
|
-
"**/logs/**",
|
|
35
|
-
"**/output/**",
|
|
36
|
-
"**/public/**",
|
|
37
|
-
"**/static/**",
|
|
38
|
-
"**/temp/**",
|
|
39
|
-
"**/backup/**",
|
|
40
|
-
"**/backups/**",
|
|
41
|
-
"**/examples/**",
|
|
42
|
-
"**/docs/**",
|
|
43
|
-
"**/tests/**",
|
|
44
|
-
"**/__tests__/**",
|
|
45
|
-
"**/spec/**",
|
|
46
|
-
"**/__specs__/**",
|
|
47
|
-
"**/scripts/**",
|
|
48
|
-
"**/bin/**",
|
|
49
|
-
"**/hooks/**",
|
|
50
|
-
"**/config/**",
|
|
51
|
-
"**/configs/**",
|
|
52
|
-
"**/settings/**",
|
|
53
|
-
"**/.vscode/**",
|
|
54
|
-
"**/.idea/**"
|
|
55
|
-
];
|
|
56
|
-
function findEnvFiles(startDir = process.cwd(), filter) {
|
|
57
|
-
const found = /* @__PURE__ */ new Set();
|
|
58
|
-
function addFile(file) {
|
|
59
|
-
const normalized = path.normalize(file);
|
|
60
|
-
if (typeof filter === "function" && !filter(normalized)) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
found.add(normalized);
|
|
64
|
-
}
|
|
65
|
-
let current = path.resolve(startDir);
|
|
66
|
-
while (true) {
|
|
67
|
-
const envPath = path.join(current, ".env");
|
|
68
|
-
if (fs.existsSync(envPath)) {
|
|
69
|
-
addFile(envPath);
|
|
70
|
-
}
|
|
71
|
-
const parent = path.dirname(current);
|
|
72
|
-
if (parent === current) {
|
|
73
|
-
break;
|
|
74
|
-
}
|
|
75
|
-
current = parent;
|
|
76
|
-
}
|
|
77
|
-
const files = glob.globSync("**/.env*", {
|
|
78
|
-
cwd: startDir,
|
|
79
|
-
absolute: true,
|
|
80
|
-
nodir: true,
|
|
81
|
-
ignore: DEFAULT_IGNORES
|
|
82
|
-
});
|
|
83
|
-
for (const file of files) {
|
|
84
|
-
addFile(file);
|
|
85
|
-
}
|
|
86
|
-
return [...found];
|
|
87
|
-
}
|
|
88
|
-
function findEnvWithToken2(startDir = process.cwd(), tokenName = "GITHUB_TOKEN") {
|
|
89
|
-
const envFiles = findEnvFiles(startDir);
|
|
90
|
-
return envFiles.find((file) => {
|
|
91
|
-
try {
|
|
92
|
-
const content = fs.readFileSync(file, "utf-8");
|
|
93
|
-
const regex = new RegExp(`^\\s*${tokenName}\\s*=`, "m");
|
|
94
|
-
return regex.test(content);
|
|
95
|
-
} catch (err) {
|
|
96
|
-
console.warn(`Failed to read ${file}: ${err instanceof Error ? err.message : String(err)}`);
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
module2.exports = {
|
|
102
|
-
DEFAULT_IGNORES,
|
|
103
|
-
findEnvFiles,
|
|
104
|
-
findEnvWithToken: findEnvWithToken2,
|
|
105
|
-
default: findEnvFiles
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
// src/clean-github-actions-caches.cjs
|
|
111
|
-
init_cjs_shims();
|
|
112
|
-
var axios = require("axios");
|
|
113
|
-
var minimist = require("minimist");
|
|
114
|
-
var { findEnvWithToken } = require_findEnvFiles();
|
|
115
|
-
require("dotenv").config({
|
|
116
|
-
path: findEnvWithToken(),
|
|
117
|
-
quiet: true,
|
|
118
|
-
overwrite: true
|
|
119
|
-
});
|
|
120
|
-
var ACCESS_TOKEN = process.env.GITHUB_TOKEN || process.env.ACCESS_TOKEN;
|
|
121
|
-
if (!ACCESS_TOKEN) {
|
|
122
|
-
throw new Error(
|
|
123
|
-
"Access token is not provided. Please set ACCESS_TOKEN or GITHUB_TOKEN in your environment variables."
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
function printHelp() {
|
|
127
|
-
console.log(`
|
|
128
|
-
GitHub Actions Cache Cleaner
|
|
129
|
-
|
|
130
|
-
Description:
|
|
131
|
-
Removes outdated GitHub Actions caches for a repository, keeping only the newest
|
|
132
|
-
cache for each cache-key prefix. Authenticates via ACCESS_TOKEN or GITHUB_TOKEN
|
|
133
|
-
from your environment or .env file.
|
|
134
|
-
|
|
135
|
-
Usage:
|
|
136
|
-
clean-github-actions-caches [options]
|
|
137
|
-
|
|
138
|
-
Options:
|
|
139
|
-
-h, --help Show this help message
|
|
140
|
-
-r, --repo <repo> GitHub repository (owner/repo). If omitted, the tool will
|
|
141
|
-
attempt to infer the repository from the current working
|
|
142
|
-
directory's git remotes.
|
|
143
|
-
|
|
144
|
-
Environment Variables:
|
|
145
|
-
ACCESS_TOKEN GitHub access token (preferred)
|
|
146
|
-
GITHUB_TOKEN GitHub access token (fallback)
|
|
147
|
-
|
|
148
|
-
Behavior & Safety:
|
|
149
|
-
- Groups caches by a derived prefix from the cache key and keeps the most
|
|
150
|
-
recently created cache for each group.
|
|
151
|
-
- Deletes only caches older than the latest per prefix to reduce risk of
|
|
152
|
-
removing needed artifacts.
|
|
153
|
-
|
|
154
|
-
Examples:
|
|
155
|
-
# Run against a specific repo (owner/repo)
|
|
156
|
-
clean-github-actions-caches --repo octocat/hello-world
|
|
157
|
-
|
|
158
|
-
# Run via npx without installing
|
|
159
|
-
npx -y binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz clean-github-actions-caches --repo owner/repo
|
|
160
|
-
|
|
161
|
-
# Run via yarn dlx
|
|
162
|
-
yarn dlx binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz clean-github-actions-caches
|
|
163
|
-
|
|
164
|
-
Notes:
|
|
165
|
-
- Ensure ACCESS_TOKEN or GITHUB_TOKEN is set and has permissions to manage Actions caches.
|
|
166
|
-
- Intended for repository maintainers with appropriate permissions.
|
|
167
|
-
`);
|
|
168
|
-
}
|
|
169
|
-
var argv = minimist(process.argv.slice(2), {
|
|
170
|
-
alias: {
|
|
171
|
-
h: "help",
|
|
172
|
-
r: "repo"
|
|
173
|
-
},
|
|
174
|
-
string: ["repo"],
|
|
175
|
-
boolean: ["help"]
|
|
176
|
-
});
|
|
177
|
-
if (argv.help) {
|
|
178
|
-
printHelp();
|
|
179
|
-
process.exit(0);
|
|
180
|
-
}
|
|
181
|
-
function deleteGitHubActionsCache(GH_REPO, cacheId) {
|
|
182
|
-
return new Promise((resolve, reject) => {
|
|
183
|
-
const url = `https://api.github.com/repos/${GH_REPO}/actions/caches/${cacheId}`;
|
|
184
|
-
const token = ACCESS_TOKEN;
|
|
185
|
-
if (!token) {
|
|
186
|
-
return reject(new Error("Access token is not provided"));
|
|
187
|
-
}
|
|
188
|
-
axios.delete(url, {
|
|
189
|
-
headers: {
|
|
190
|
-
Authorization: `token ${token}`,
|
|
191
|
-
Accept: "application/vnd.github.v3+json"
|
|
192
|
-
}
|
|
193
|
-
}).then((response) => {
|
|
194
|
-
console.log(`Cache (${cacheId}) deleted successfully`, response.data);
|
|
195
|
-
resolve(response.data);
|
|
196
|
-
}).catch((error) => {
|
|
197
|
-
var _a;
|
|
198
|
-
console.error("Error deleting cache:", ((_a = error.response) == null ? void 0 : _a.data) || error.message || "Unknown error");
|
|
199
|
-
reject(error);
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
function get_caches(GH_REPO) {
|
|
204
|
-
const url = `https://api.github.com/repos/${GH_REPO}/actions/caches`;
|
|
205
|
-
return new Promise((resolve, reject) => {
|
|
206
|
-
axios.get(url, {
|
|
207
|
-
headers: {
|
|
208
|
-
Accept: "application/vnd.github.v3+json",
|
|
209
|
-
Authorization: `token ${ACCESS_TOKEN}`
|
|
210
|
-
}
|
|
211
|
-
}).then((response) => {
|
|
212
|
-
const data = response.data.actions_caches;
|
|
213
|
-
const getPrefix = (key) => {
|
|
214
|
-
const split = key.split(/[-_]/);
|
|
215
|
-
if (split.length === 3) {
|
|
216
|
-
return `${split[0]}-${split[1]}`;
|
|
217
|
-
}
|
|
218
|
-
if (split.length > 3) {
|
|
219
|
-
return `${split[0]}-${split[1]}-${split[2]}`;
|
|
220
|
-
}
|
|
221
|
-
return split[0];
|
|
222
|
-
};
|
|
223
|
-
const grouped = data.reduce(
|
|
224
|
-
/**
|
|
225
|
-
* @param {Record<string, Record<string, any>[]>} acc
|
|
226
|
-
* @param {Record<string, any>} item
|
|
227
|
-
* @returns {Record<string, Record<string, any>[]>}
|
|
228
|
-
*/
|
|
229
|
-
(acc, item) => {
|
|
230
|
-
const prefix = getPrefix(item.key);
|
|
231
|
-
if (!acc[prefix]) {
|
|
232
|
-
acc[prefix] = [];
|
|
233
|
-
}
|
|
234
|
-
acc[prefix].push(item);
|
|
235
|
-
return acc;
|
|
236
|
-
},
|
|
237
|
-
{}
|
|
238
|
-
);
|
|
239
|
-
resolve(grouped);
|
|
240
|
-
}).catch((error) => {
|
|
241
|
-
console.error("Error fetching data:", error);
|
|
242
|
-
reject(error);
|
|
243
|
-
});
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
module.exports = {
|
|
247
|
-
deleteGitHubActionsCache,
|
|
248
|
-
get_caches
|
|
249
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Deletes a GitHub Actions cache.
|
|
3
|
-
*
|
|
4
|
-
* @param {string} GH_REPO - The GitHub repository in the format "owner/repo".
|
|
5
|
-
* @param {string|number} cacheId - The ID of the cache to delete.
|
|
6
|
-
* @returns {Promise<any>} Promise resolving with GitHub API response.
|
|
7
|
-
*/
|
|
8
|
-
export function deleteGitHubActionsCache(GH_REPO: string, cacheId: string | number): Promise<any>;
|
|
9
|
-
/**
|
|
10
|
-
* List GitHub Actions caches grouped by cache key prefix.
|
|
11
|
-
*
|
|
12
|
-
* @param {string} GH_REPO GitHub repository in format `owner/repo`.
|
|
13
|
-
* @returns {Promise<Record<string, Record<string, any>[]>>}
|
|
14
|
-
*/
|
|
15
|
-
export function get_caches(GH_REPO: string): Promise<Record<string, Record<string, any>[]>>;
|
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
|
-
});
|
package/lib/del-node-modules.js
DELETED
|
@@ -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('path');
|
|
14
|
-
const os = require('os');
|
|
15
|
-
const minimist = require('minimist');
|
|
16
|
-
// ----------------------
|
|
17
|
-
// CLI
|
|
18
|
-
// ----------------------
|
|
19
|
-
const argv = minimist(process.argv.slice(2), {
|
|
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();
|
package/lib/del-ps.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
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');
|
|
6
|
-
getArgs()._.forEach((command) => {
|
|
7
|
-
ps.lookup({
|
|
8
|
-
command,
|
|
9
|
-
psargs: 'ux'
|
|
10
|
-
}, function (err, resultList) {
|
|
11
|
-
if (err) {
|
|
12
|
-
throw new Error(err);
|
|
13
|
-
}
|
|
14
|
-
resultList.forEach(function (process) {
|
|
15
|
-
if (process) {
|
|
16
|
-
// console.log('PID: %s, COMMAND: %s, ARGUMENTS: %s', process.pid, process.command, process.arguments);
|
|
17
|
-
if (!isWin) {
|
|
18
|
-
crossSpawn.spawnAsync('kill', ['-9', process.pid]).catch((e) => console.log(`kill failed ${e.message}`));
|
|
19
|
-
crossSpawn
|
|
20
|
-
.spawnAsync('killall', ['-9', process.pid])
|
|
21
|
-
.catch((e) => console.log(`killall failed ${e.message}`));
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
// wmic process where "name like 'java.exe'" delete
|
|
25
|
-
crossSpawn
|
|
26
|
-
.spawnAsync('wmic', ['process', 'where', `"name like '${command}'" delete`])
|
|
27
|
-
.catch((e) => console.log(`wmic failed ${e.message}`));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
});
|
package/lib/del-ps.mjs
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
init_isWin,
|
|
4
|
-
isWin_exports
|
|
5
|
-
} from "./chunk-6S4NXESK.mjs";
|
|
6
|
-
import {
|
|
7
|
-
require_utils
|
|
8
|
-
} from "./chunk-5RTXZVCW.mjs";
|
|
9
|
-
import {
|
|
10
|
-
__require,
|
|
11
|
-
__toCommonJS,
|
|
12
|
-
init_esm_shims
|
|
13
|
-
} from "./chunk-QQ4A6DLD.mjs";
|
|
14
|
-
|
|
15
|
-
// src/del-ps.js
|
|
16
|
-
init_esm_shims();
|
|
17
|
-
var crossSpawn = __require("cross-spawn");
|
|
18
|
-
var ps = __require("ps-node");
|
|
19
|
-
var isWin = (init_isWin(), __toCommonJS(isWin_exports)).default;
|
|
20
|
-
var { getArgs } = require_utils();
|
|
21
|
-
getArgs()._.forEach((command) => {
|
|
22
|
-
ps.lookup(
|
|
23
|
-
{
|
|
24
|
-
command,
|
|
25
|
-
psargs: "ux"
|
|
26
|
-
},
|
|
27
|
-
function(err, resultList) {
|
|
28
|
-
if (err) {
|
|
29
|
-
throw new Error(err);
|
|
30
|
-
}
|
|
31
|
-
resultList.forEach(function(process) {
|
|
32
|
-
if (process) {
|
|
33
|
-
if (!isWin) {
|
|
34
|
-
crossSpawn.spawnAsync("kill", ["-9", process.pid]).catch((e) => console.log(`kill failed ${e.message}`));
|
|
35
|
-
crossSpawn.spawnAsync("killall", ["-9", process.pid]).catch((e) => console.log(`killall failed ${e.message}`));
|
|
36
|
-
} else {
|
|
37
|
-
crossSpawn.spawnAsync("wmic", ["process", "where", `"name like '${command}'" delete`]).catch((e) => console.log(`wmic failed ${e.message}`));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
);
|
|
43
|
-
});
|
package/lib/ps/isWin.d.ts
DELETED
package/test/package.json
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "binary-collections-test",
|
|
3
|
-
"private": true,
|
|
4
|
-
"version": "1.0.0",
|
|
5
|
-
"description": "",
|
|
6
|
-
"main": "index.js",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"build:a": "echo a",
|
|
9
|
-
"build:b": "echo b",
|
|
10
|
-
"build:c": "echo c",
|
|
11
|
-
"test": "npm-run-series build:**",
|
|
12
|
-
"install-deps": "npm i -D file:../"
|
|
13
|
-
},
|
|
14
|
-
"keywords": [],
|
|
15
|
-
"author": "",
|
|
16
|
-
"license": "ISC",
|
|
17
|
-
"devDependencies": {
|
|
18
|
-
"binary-collections": "./.."
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "test-binary-collections",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Test project for binary-collections",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"init-lock": "echo > yarn.lock",
|
|
8
|
-
"init-workspace": "node init-workspace.cjs"
|
|
9
|
-
},
|
|
10
|
-
"keywords": [],
|
|
11
|
-
"author": "dimaslanjaka@gmail.com",
|
|
12
|
-
"license": "MIT",
|
|
13
|
-
"workspaces": [
|
|
14
|
-
"packages/*",
|
|
15
|
-
"workspaces/*"
|
|
16
|
-
],
|
|
17
|
-
"dependencies": {
|
|
18
|
-
"binary-collections": "file:../releases/bin.tgz",
|
|
19
|
-
"cross-spawn": "https://github.com/dimaslanjaka/node-cross-spawn/raw/80999ac7a7031a81e11ddb5fab0f8ba433041c98/release/cross-spawn.tgz"
|
|
20
|
-
},
|
|
21
|
-
"packageManager": "yarn@4.9.2"
|
|
22
|
-
}
|