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
|
@@ -120,6 +120,9 @@ var require_findEnvFiles = __commonJS({
|
|
|
120
120
|
return envFiles.find((file) => {
|
|
121
121
|
try {
|
|
122
122
|
const content = fs3.readFileSync(file, "utf-8");
|
|
123
|
+
if (tokenName instanceof RegExp) {
|
|
124
|
+
return tokenName.test(content);
|
|
125
|
+
}
|
|
123
126
|
const regex = new RegExp(`^\\s*${tokenName}\\s*=`, "m");
|
|
124
127
|
return regex.test(content);
|
|
125
128
|
} catch (err) {
|
|
@@ -141,9 +144,16 @@ var require_findEnvFiles = __commonJS({
|
|
|
141
144
|
var require_config = __commonJS({
|
|
142
145
|
"src/binary-collections/config.cjs"(exports2, module2) {
|
|
143
146
|
init_cjs_shims();
|
|
144
|
-
var path3 = require("
|
|
147
|
+
var path3 = require("upath");
|
|
148
|
+
var minimistLib = require("minimist");
|
|
145
149
|
var { findEnvWithToken } = require_findEnvFiles();
|
|
146
|
-
require("dotenv")
|
|
150
|
+
var dotenv = require("dotenv");
|
|
151
|
+
var loadDotenv = (tokenKey = /ACCESS_TOKEN|GITHUB_TOKEN/) => dotenv.config({ path: findEnvWithToken(void 0, tokenKey), quiet: true, overwrite: true });
|
|
152
|
+
loadDotenv();
|
|
153
|
+
var cliArgv = minimistLib(process.argv.slice(2), {
|
|
154
|
+
string: ["token"]
|
|
155
|
+
});
|
|
156
|
+
var GITHUB_ACCESS_TOKEN = cliArgv.token || process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
147
157
|
function getTempDir() {
|
|
148
158
|
return process.env.TEMP_DIR || path3.join(process.cwd(), "tmp");
|
|
149
159
|
}
|
|
@@ -154,7 +164,9 @@ var require_config = __commonJS({
|
|
|
154
164
|
module2.exports = {
|
|
155
165
|
getTempDir,
|
|
156
166
|
getTempPath: getTempPath2,
|
|
157
|
-
TEMP_BASE_DIR
|
|
167
|
+
TEMP_BASE_DIR,
|
|
168
|
+
GITHUB_ACCESS_TOKEN,
|
|
169
|
+
loadDotenv
|
|
158
170
|
};
|
|
159
171
|
}
|
|
160
172
|
});
|
|
@@ -165,9 +177,9 @@ var require_utils = __commonJS({
|
|
|
165
177
|
init_cjs_shims();
|
|
166
178
|
var fs3 = require("fs");
|
|
167
179
|
var path3 = require("upath");
|
|
168
|
-
var
|
|
180
|
+
var minimistLib = require("minimist");
|
|
181
|
+
var argv = minimistLib(process.argv.slice(2));
|
|
169
182
|
var { exec } = require("child_process");
|
|
170
|
-
var { URL: URL2 } = require("url");
|
|
171
183
|
var { promisify } = require("util");
|
|
172
184
|
var execAsync = promisify(exec);
|
|
173
185
|
async function parseGitRemotes() {
|
|
@@ -180,7 +192,7 @@ var require_utils = __commonJS({
|
|
|
180
192
|
if (name && url) {
|
|
181
193
|
const [repoUrl] = url.split(" ");
|
|
182
194
|
try {
|
|
183
|
-
const parsedUrl = new
|
|
195
|
+
const parsedUrl = new URL(repoUrl);
|
|
184
196
|
const pathParts = parsedUrl.pathname.split("/").filter(Boolean);
|
|
185
197
|
if (parsedUrl.hostname === "github.com" && pathParts.length === 2) {
|
|
186
198
|
let repoPath = pathParts.join("/");
|
|
@@ -201,15 +213,10 @@ var require_utils = __commonJS({
|
|
|
201
213
|
}
|
|
202
214
|
}
|
|
203
215
|
module2.exports.parseGitRemotes = parseGitRemotes;
|
|
204
|
-
function
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
fullPath = fullPath.charAt(0).toUpperCase() + fullPath.slice(1);
|
|
216
|
+
function getArgs2(opts) {
|
|
217
|
+
if (opts) {
|
|
218
|
+
return minimistLib(process.argv.slice(2), opts);
|
|
208
219
|
}
|
|
209
|
-
return fullPath;
|
|
210
|
-
}
|
|
211
|
-
module2.exports.joinPathPreserveDriveLetter = joinPathPreserveDriveLetter;
|
|
212
|
-
function getArgs2() {
|
|
213
220
|
return argv;
|
|
214
221
|
}
|
|
215
222
|
module2.exports.getArgs = getArgs2;
|
|
@@ -331,7 +338,7 @@ var require_utils = __commonJS({
|
|
|
331
338
|
}
|
|
332
339
|
});
|
|
333
340
|
|
|
334
|
-
// src/git-diff.js
|
|
341
|
+
// src/git/git-diff.js
|
|
335
342
|
var git_diff_exports = {};
|
|
336
343
|
__export(git_diff_exports, {
|
|
337
344
|
CACHE_DIR: () => CACHE_DIR,
|
|
@@ -865,7 +872,7 @@ async function runChatGpt(chatgptOptions = {}) {
|
|
|
865
872
|
}
|
|
866
873
|
}
|
|
867
874
|
|
|
868
|
-
// src/git-diff.js
|
|
875
|
+
// src/git/git-diff.js
|
|
869
876
|
var import_utils = __toESM(require_utils(), 1);
|
|
870
877
|
var __filename2 = (0, import_url.fileURLToPath)(importMetaUrl);
|
|
871
878
|
var __dirname = import_upath2.default.dirname(__filename2);
|
|
@@ -879,16 +886,16 @@ var DIFF_OUTPUT_RELATIVE = import_upath2.default.relative(process.cwd(), DIFF_OU
|
|
|
879
886
|
var GPT_DIFF_OUTPUT_RELATIVE = import_upath2.default.relative(process.cwd(), GPT_DIFF_OUTPUT);
|
|
880
887
|
import_fs_extra2.default.ensureDirSync(CACHE_DIR, { mode: 493 });
|
|
881
888
|
function showHelp() {
|
|
882
|
-
console.log("\u{
|
|
883
|
-
console.log("
|
|
884
|
-
console.log("
|
|
885
|
-
console.log("
|
|
886
|
-
console.log("
|
|
887
|
-
console.log("
|
|
888
|
-
console.log("
|
|
889
|
-
console.log("
|
|
890
|
-
console.log("
|
|
891
|
-
console.log("
|
|
889
|
+
console.log("\u{1F4CB} Git Diff Helper");
|
|
890
|
+
console.log("Usage:");
|
|
891
|
+
console.log(" git-diff FILE Show staged diff of specified file");
|
|
892
|
+
console.log(" git-diff --staged-only Show staged diff of all files");
|
|
893
|
+
console.log(" git-diff -s | -S Same as --staged-only");
|
|
894
|
+
console.log(" git-diff --unstaged FILE Show unstaged diff of specified file");
|
|
895
|
+
console.log(" git-diff --unstaged Show unstaged diff of all files");
|
|
896
|
+
console.log(" git-diff -u Same as --unstaged");
|
|
897
|
+
console.log(" git-diff --ai Run ChatGPT automation for commit message");
|
|
898
|
+
console.log(" git-diff --help | -h Show this help message");
|
|
892
899
|
console.log("");
|
|
893
900
|
console.log(`\u{1F4BE} Output is saved to: ${DIFF_OUTPUT_RELATIVE}`);
|
|
894
901
|
console.log(`\u{1F916} GPT prompt is saved to: ${GPT_DIFF_OUTPUT_RELATIVE}`);
|
|
@@ -896,14 +903,14 @@ function showHelp() {
|
|
|
896
903
|
}
|
|
897
904
|
function runGitDiff(command, successMessage, errorMessage) {
|
|
898
905
|
try {
|
|
899
|
-
console.log(`\
|
|
906
|
+
console.log(`\u2139\uFE0F Running command: ${command}`);
|
|
900
907
|
const result = (0, import_child_process.execSync)(command, {
|
|
901
908
|
encoding: "utf8",
|
|
902
909
|
maxBuffer: 1024 * 1024 * 10
|
|
903
910
|
// 10MB buffer to handle large diffs
|
|
904
911
|
});
|
|
905
912
|
if (!result || result.trim() === "") {
|
|
906
|
-
console.log(`\u2139\uFE0F
|
|
913
|
+
console.log(`\u2139\uFE0F No changes found for the specified criteria`);
|
|
907
914
|
(0, import_sbg_utility.writefile)(DIFF_OUTPUT, "# No changes found\n");
|
|
908
915
|
console.log(`\u2705 Empty diff saved to "${DIFF_OUTPUT_RELATIVE}"`);
|
|
909
916
|
return false;
|
|
@@ -911,7 +918,7 @@ function runGitDiff(command, successMessage, errorMessage) {
|
|
|
911
918
|
(0, import_sbg_utility.writefile)(DIFF_OUTPUT, result);
|
|
912
919
|
(0, import_sbg_utility.writefile)(
|
|
913
920
|
GPT_DIFF_OUTPUT,
|
|
914
|
-
`Hello
|
|
921
|
+
`Hello!
|
|
915
922
|
Can you create a conventional commit message by diff content below:
|
|
916
923
|
|
|
917
924
|
\`\`\`${result}
|
|
@@ -926,14 +933,56 @@ Thank you!`
|
|
|
926
933
|
return true;
|
|
927
934
|
} catch (error) {
|
|
928
935
|
console.error(`\u274C ${errorMessage}`);
|
|
929
|
-
console.error(`\
|
|
930
|
-
console.error(`\
|
|
936
|
+
console.error(`\u274C Command: ${command}`);
|
|
937
|
+
console.error(`\u274C Error: ${error.message}`);
|
|
931
938
|
if (error.message.includes("not a git repository")) {
|
|
932
|
-
console.error("\
|
|
939
|
+
console.error("\u274C Make sure you are in a git repository");
|
|
933
940
|
}
|
|
934
941
|
process.exit(1);
|
|
935
942
|
}
|
|
936
943
|
}
|
|
944
|
+
function getUntrackedDiff() {
|
|
945
|
+
try {
|
|
946
|
+
const untrackedStr = (0, import_child_process.execSync)("git ls-files --others --exclude-standard", {
|
|
947
|
+
encoding: "utf8",
|
|
948
|
+
maxBuffer: 1024 * 1024 * 10
|
|
949
|
+
}).trim();
|
|
950
|
+
if (!untrackedStr) return "";
|
|
951
|
+
const untrackedFiles = untrackedStr.split("\n").filter(function(f) {
|
|
952
|
+
return f;
|
|
953
|
+
});
|
|
954
|
+
if (untrackedFiles.length === 0) return "";
|
|
955
|
+
var result = "\n# Untracked files:\n";
|
|
956
|
+
for (var i = 0; i < untrackedFiles.length; i++) {
|
|
957
|
+
var file = untrackedFiles[i];
|
|
958
|
+
if (!import_fs_extra2.default.existsSync(file)) continue;
|
|
959
|
+
var stat = import_fs_extra2.default.statSync(file);
|
|
960
|
+
if (!stat.isFile()) continue;
|
|
961
|
+
var content;
|
|
962
|
+
try {
|
|
963
|
+
content = import_fs_extra2.default.readFileSync(file, "utf8");
|
|
964
|
+
} catch (_a) {
|
|
965
|
+
continue;
|
|
966
|
+
}
|
|
967
|
+
var lines = content.split("\n");
|
|
968
|
+
if (lines.length > 0 && lines[lines.length - 1] === "") {
|
|
969
|
+
lines.pop();
|
|
970
|
+
}
|
|
971
|
+
result += "diff --git a/" + file + " b/" + file + "\n";
|
|
972
|
+
result += "new file mode 100644\n";
|
|
973
|
+
result += "index 0000000..0000000\n";
|
|
974
|
+
result += "--- /dev/null\n";
|
|
975
|
+
result += "+++ b/" + file + "\n";
|
|
976
|
+
result += "@@ -0,0 +1," + (lines.length || 0) + " @@\n";
|
|
977
|
+
for (var j = 0; j < lines.length; j++) {
|
|
978
|
+
result += "+" + lines[j] + "\n";
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
return result;
|
|
982
|
+
} catch (_b) {
|
|
983
|
+
return "";
|
|
984
|
+
}
|
|
985
|
+
}
|
|
937
986
|
function fileHasChanges(file, mode) {
|
|
938
987
|
const command = mode === "staged" ? `git diff --cached --quiet -- "${file}"` : `git diff --quiet -- "${file}"`;
|
|
939
988
|
try {
|
|
@@ -968,6 +1017,30 @@ async function mainGitDiff() {
|
|
|
968
1017
|
`Full ${fullDiffModeLabel} diff saved to "${import_ansi_colors.default.green(DIFF_OUTPUT_RELATIVE)}"`,
|
|
969
1018
|
"Failed to save all diff's"
|
|
970
1019
|
);
|
|
1020
|
+
const untrackedDiff = getUntrackedDiff();
|
|
1021
|
+
if (untrackedDiff) {
|
|
1022
|
+
const UNTRACKED_DIFF_OUTPUT = (0, import_config.getTempPath)(`git-diff/untracked-${FILENAME}.txt`);
|
|
1023
|
+
const UNTRACKED_GPT_DIFF_OUTPUT = (0, import_config.getTempPath)(`git-diff/gpt-untracked-${FILENAME}.txt`);
|
|
1024
|
+
const UNTRACKED_DIFF_OUTPUT_RELATIVE = import_upath2.default.relative(process.cwd(), UNTRACKED_DIFF_OUTPUT);
|
|
1025
|
+
(0, import_sbg_utility.writefile)(UNTRACKED_DIFF_OUTPUT, untrackedDiff);
|
|
1026
|
+
(0, import_sbg_utility.writefile)(
|
|
1027
|
+
UNTRACKED_GPT_DIFF_OUTPUT,
|
|
1028
|
+
`Hello!
|
|
1029
|
+
Can you create a conventional commit message by diff content below:
|
|
1030
|
+
|
|
1031
|
+
\`\`\`${untrackedDiff}
|
|
1032
|
+
\`\`\`
|
|
1033
|
+
|
|
1034
|
+
Give me result as codeblock with language "text" only.
|
|
1035
|
+
|
|
1036
|
+
Thank you!`
|
|
1037
|
+
);
|
|
1038
|
+
console.log(`\u2705 Untracked file diff saved to "${import_ansi_colors.default.green(UNTRACKED_DIFF_OUTPUT_RELATIVE)}"`);
|
|
1039
|
+
console.log(
|
|
1040
|
+
`\u{1F4BE} AI diff prompt saved to "${import_ansi_colors.default.green(import_upath2.default.relative(process.cwd(), UNTRACKED_GPT_DIFF_OUTPUT))}"`
|
|
1041
|
+
);
|
|
1042
|
+
hasDiff = true;
|
|
1043
|
+
}
|
|
971
1044
|
} else {
|
|
972
1045
|
let fileDiffMode = useUnstaged ? "unstaged" : "staged";
|
|
973
1046
|
if (!useUnstaged && !fileHasChanges(file, "staged") && fileHasChanges(file, "unstaged")) {
|
|
@@ -997,7 +1070,7 @@ async function mainGitDiff() {
|
|
|
997
1070
|
];
|
|
998
1071
|
const opencodePromptPath = (0, import_config.getTempPath)(`git-diff/opencode-${FILENAME}.txt`);
|
|
999
1072
|
(0, import_sbg_utility.writefile)(opencodePromptPath, opencodePrompt.join("\n"));
|
|
1000
|
-
console.log(`\
|
|
1073
|
+
console.log(`\u2705 OpenCode prompt saved to "${import_ansi_colors.default.green(import_upath2.default.relative(process.cwd(), opencodePromptPath))}"`);
|
|
1001
1074
|
}
|
|
1002
1075
|
if (args.ai) {
|
|
1003
1076
|
try {
|
|
@@ -1007,7 +1080,7 @@ async function mainGitDiff() {
|
|
|
1007
1080
|
console.error("\u{1F4A1} Try running with visible browser mode or check if Chrome is installed");
|
|
1008
1081
|
}
|
|
1009
1082
|
} else {
|
|
1010
|
-
console.log("\u{1F4A1}
|
|
1083
|
+
console.log("\u{1F4A1} Use --ai flag to generate commit message with ChatGPT");
|
|
1011
1084
|
}
|
|
1012
1085
|
}
|
|
1013
1086
|
var git_diff_default = runGitDiff;
|
|
@@ -22,9 +22,9 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
22
22
|
const sbg_utility_1 = require("sbg-utility");
|
|
23
23
|
const upath_1 = __importDefault(require("upath"));
|
|
24
24
|
const url_1 = require("url");
|
|
25
|
-
const config_cjs_1 = require("
|
|
26
|
-
const chatgpt_js_1 = require("
|
|
27
|
-
const index_cjs_1 = require("
|
|
25
|
+
const config_cjs_1 = require("../binary-collections/config.cjs");
|
|
26
|
+
const chatgpt_js_1 = require("../utils/chatgpt.js");
|
|
27
|
+
const index_cjs_1 = require("../utils/index.cjs");
|
|
28
28
|
const __filename = (0, url_1.fileURLToPath)(import.meta.url);
|
|
29
29
|
const __dirname = upath_1.default.dirname(__filename);
|
|
30
30
|
const args = (0, index_cjs_1.getArgs)();
|
|
@@ -45,19 +45,19 @@ exports.GPT_DIFF_OUTPUT_RELATIVE = GPT_DIFF_OUTPUT_RELATIVE;
|
|
|
45
45
|
// Ensure output directory exists
|
|
46
46
|
fs_extra_1.default.ensureDirSync(CACHE_DIR, { mode: 0o755 });
|
|
47
47
|
function showHelp() {
|
|
48
|
-
console.log('
|
|
49
|
-
console.log('
|
|
50
|
-
console.log('
|
|
51
|
-
console.log('
|
|
52
|
-
console.log('
|
|
53
|
-
console.log('
|
|
54
|
-
console.log('
|
|
55
|
-
console.log('
|
|
56
|
-
console.log('
|
|
57
|
-
console.log('
|
|
48
|
+
console.log('📋 Git Diff Helper');
|
|
49
|
+
console.log('Usage:');
|
|
50
|
+
console.log(' git-diff FILE Show staged diff of specified file');
|
|
51
|
+
console.log(' git-diff --staged-only Show staged diff of all files');
|
|
52
|
+
console.log(' git-diff -s | -S Same as --staged-only');
|
|
53
|
+
console.log(' git-diff --unstaged FILE Show unstaged diff of specified file');
|
|
54
|
+
console.log(' git-diff --unstaged Show unstaged diff of all files');
|
|
55
|
+
console.log(' git-diff -u Same as --unstaged');
|
|
56
|
+
console.log(' git-diff --ai Run ChatGPT automation for commit message');
|
|
57
|
+
console.log(' git-diff --help | -h Show this help message');
|
|
58
58
|
console.log('');
|
|
59
|
-
console.log(
|
|
60
|
-
console.log(
|
|
59
|
+
console.log(`💾 Output is saved to: ${DIFF_OUTPUT_RELATIVE}`);
|
|
60
|
+
console.log(`🤖 GPT prompt is saved to: ${GPT_DIFF_OUTPUT_RELATIVE}`);
|
|
61
61
|
process.exit(0);
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
@@ -92,46 +92,91 @@ function showHelp() {
|
|
|
92
92
|
*/
|
|
93
93
|
function runGitDiff(command, successMessage, errorMessage) {
|
|
94
94
|
try {
|
|
95
|
-
console.log(
|
|
95
|
+
console.log(`ℹ️ Running command: ${command}`);
|
|
96
96
|
const result = (0, child_process_1.execSync)(command, {
|
|
97
97
|
encoding: 'utf8',
|
|
98
98
|
maxBuffer: 1024 * 1024 * 10 // 10MB buffer to handle large diffs
|
|
99
99
|
});
|
|
100
100
|
// If result is empty, inform user but don't treat as error
|
|
101
101
|
if (!result || result.trim() === '') {
|
|
102
|
-
console.log(`ℹ️
|
|
102
|
+
console.log(`ℹ️ No changes found for the specified criteria`);
|
|
103
103
|
(0, sbg_utility_1.writefile)(DIFF_OUTPUT, '# No changes found\n');
|
|
104
104
|
console.log(`✅ Empty diff saved to "${DIFF_OUTPUT_RELATIVE}"`);
|
|
105
105
|
return false;
|
|
106
106
|
}
|
|
107
107
|
(0, sbg_utility_1.writefile)(DIFF_OUTPUT, result);
|
|
108
|
-
(0, sbg_utility_1.writefile)(GPT_DIFF_OUTPUT, `Hello
|
|
108
|
+
(0, sbg_utility_1.writefile)(GPT_DIFF_OUTPUT, `Hello!\nCan you create a conventional commit message by diff content below:\n\n\`\`\`${result}\n\`\`\`\n\nGive me result as codeblock with language "text" only.\n\nThank you!`);
|
|
109
109
|
console.log(`✅ ${successMessage}`);
|
|
110
110
|
console.log(`💾 GPT diff prompt saved to "${ansi_colors_1.default.green(GPT_DIFF_OUTPUT_RELATIVE)}"`);
|
|
111
111
|
return true;
|
|
112
112
|
}
|
|
113
113
|
catch (error) {
|
|
114
114
|
console.error(`❌ ${errorMessage}`);
|
|
115
|
-
console.error(
|
|
116
|
-
console.error(
|
|
115
|
+
console.error(`❌ Command: ${command}`);
|
|
116
|
+
console.error(`❌ Error: ${error.message}`);
|
|
117
117
|
// Check if it's a git-related error
|
|
118
118
|
if (error.message.includes('not a git repository')) {
|
|
119
|
-
console.error('
|
|
119
|
+
console.error('❌ Make sure you are in a git repository');
|
|
120
120
|
}
|
|
121
121
|
process.exit(1);
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
125
|
-
*
|
|
125
|
+
* Generates diff-formatted output for untracked files.
|
|
126
|
+
* Uses `git ls-files --others --exclude-standard` to find untracked files,
|
|
127
|
+
* then creates synthetic git diff entries for each.
|
|
126
128
|
*
|
|
127
|
-
*
|
|
128
|
-
* - exit code 0: no changes
|
|
129
|
-
* - exit code 1: changes exist
|
|
130
|
-
*
|
|
131
|
-
* @param {string} file - Target file path
|
|
132
|
-
* @param {"staged" | "unstaged"} mode - Diff mode to check
|
|
133
|
-
* @returns {boolean} True when changes exist for the given mode
|
|
129
|
+
* @returns {string} Formatted diff content for untracked files, or empty string if none
|
|
134
130
|
*/
|
|
131
|
+
function getUntrackedDiff() {
|
|
132
|
+
try {
|
|
133
|
+
const untrackedStr = (0, child_process_1.execSync)('git ls-files --others --exclude-standard', {
|
|
134
|
+
encoding: 'utf8',
|
|
135
|
+
maxBuffer: 1024 * 1024 * 10
|
|
136
|
+
}).trim();
|
|
137
|
+
if (!untrackedStr)
|
|
138
|
+
return '';
|
|
139
|
+
const untrackedFiles = untrackedStr.split('\n').filter(function (f) {
|
|
140
|
+
return f;
|
|
141
|
+
});
|
|
142
|
+
if (untrackedFiles.length === 0)
|
|
143
|
+
return '';
|
|
144
|
+
var result = '\n# Untracked files:\n';
|
|
145
|
+
for (var i = 0; i < untrackedFiles.length; i++) {
|
|
146
|
+
var file = untrackedFiles[i];
|
|
147
|
+
if (!fs_extra_1.default.existsSync(file))
|
|
148
|
+
continue;
|
|
149
|
+
var stat = fs_extra_1.default.statSync(file);
|
|
150
|
+
if (!stat.isFile())
|
|
151
|
+
continue;
|
|
152
|
+
var content;
|
|
153
|
+
try {
|
|
154
|
+
content = fs_extra_1.default.readFileSync(file, 'utf8');
|
|
155
|
+
}
|
|
156
|
+
catch (_a) {
|
|
157
|
+
continue; // skip binary files
|
|
158
|
+
}
|
|
159
|
+
var lines = content.split('\n');
|
|
160
|
+
// Remove trailing empty line from split
|
|
161
|
+
if (lines.length > 0 && lines[lines.length - 1] === '') {
|
|
162
|
+
lines.pop();
|
|
163
|
+
}
|
|
164
|
+
result += 'diff --git a/' + file + ' b/' + file + '\n';
|
|
165
|
+
result += 'new file mode 100644\n';
|
|
166
|
+
result += 'index 0000000..0000000\n';
|
|
167
|
+
result += '--- /dev/null\n';
|
|
168
|
+
result += '+++ b/' + file + '\n';
|
|
169
|
+
result += '@@ -0,0 +1,' + (lines.length || 0) + ' @@\n';
|
|
170
|
+
for (var j = 0; j < lines.length; j++) {
|
|
171
|
+
result += '+' + lines[j] + '\n';
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return result;
|
|
175
|
+
}
|
|
176
|
+
catch (_b) {
|
|
177
|
+
return '';
|
|
178
|
+
}
|
|
179
|
+
}
|
|
135
180
|
function fileHasChanges(file, mode) {
|
|
136
181
|
const command = mode === 'staged' ? `git diff --cached --quiet -- "${file}"` : `git diff --quiet -- "${file}"`;
|
|
137
182
|
try {
|
|
@@ -163,6 +208,18 @@ function mainGitDiff() {
|
|
|
163
208
|
if (!file) {
|
|
164
209
|
const fullDiffModeLabel = useUnstaged ? 'unstaged' : 'unstaged';
|
|
165
210
|
hasDiff = runGitDiff('git --no-pager diff', `Full ${fullDiffModeLabel} diff saved to "${ansi_colors_1.default.green(DIFF_OUTPUT_RELATIVE)}"`, "Failed to save all diff's");
|
|
211
|
+
// Save untracked file diffs to separate file
|
|
212
|
+
const untrackedDiff = getUntrackedDiff();
|
|
213
|
+
if (untrackedDiff) {
|
|
214
|
+
const UNTRACKED_DIFF_OUTPUT = (0, config_cjs_1.getTempPath)(`git-diff/untracked-${FILENAME}.txt`);
|
|
215
|
+
const UNTRACKED_GPT_DIFF_OUTPUT = (0, config_cjs_1.getTempPath)(`git-diff/gpt-untracked-${FILENAME}.txt`);
|
|
216
|
+
const UNTRACKED_DIFF_OUTPUT_RELATIVE = upath_1.default.relative(process.cwd(), UNTRACKED_DIFF_OUTPUT);
|
|
217
|
+
(0, sbg_utility_1.writefile)(UNTRACKED_DIFF_OUTPUT, untrackedDiff);
|
|
218
|
+
(0, sbg_utility_1.writefile)(UNTRACKED_GPT_DIFF_OUTPUT, `Hello!\nCan you create a conventional commit message by diff content below:\n\n\`\`\`${untrackedDiff}\n\`\`\`\n\nGive me result as codeblock with language "text" only.\n\nThank you!`);
|
|
219
|
+
console.log(`✅ Untracked file diff saved to "${ansi_colors_1.default.green(UNTRACKED_DIFF_OUTPUT_RELATIVE)}"`);
|
|
220
|
+
console.log(`💾 AI diff prompt saved to "${ansi_colors_1.default.green(upath_1.default.relative(process.cwd(), UNTRACKED_GPT_DIFF_OUTPUT))}"`);
|
|
221
|
+
hasDiff = true;
|
|
222
|
+
}
|
|
166
223
|
}
|
|
167
224
|
else {
|
|
168
225
|
let fileDiffMode = useUnstaged ? 'unstaged' : 'staged';
|
|
@@ -189,7 +246,7 @@ function mainGitDiff() {
|
|
|
189
246
|
];
|
|
190
247
|
const opencodePromptPath = (0, config_cjs_1.getTempPath)(`git-diff/opencode-${FILENAME}.txt`);
|
|
191
248
|
(0, sbg_utility_1.writefile)(opencodePromptPath, opencodePrompt.join('\n'));
|
|
192
|
-
console.log(
|
|
249
|
+
console.log(`✅ OpenCode prompt saved to "${ansi_colors_1.default.green(upath_1.default.relative(process.cwd(), opencodePromptPath))}"`);
|
|
193
250
|
}
|
|
194
251
|
// Generate commit message prompt from ChatGPT (only if --ai is specified)
|
|
195
252
|
if (args.ai) {
|
|
@@ -202,7 +259,7 @@ function mainGitDiff() {
|
|
|
202
259
|
}
|
|
203
260
|
}
|
|
204
261
|
else {
|
|
205
|
-
console.log('💡
|
|
262
|
+
console.log('💡 Use --ai flag to generate commit message with ChatGPT');
|
|
206
263
|
}
|
|
207
264
|
});
|
|
208
265
|
}
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
git_diff_default,
|
|
10
10
|
mainGitDiff,
|
|
11
11
|
runGitDiff
|
|
12
|
-
} from "
|
|
13
|
-
import "
|
|
14
|
-
import "
|
|
15
|
-
import "
|
|
16
|
-
import "
|
|
17
|
-
import "
|
|
12
|
+
} from "../chunk-3F6EIHYG.mjs";
|
|
13
|
+
import "../chunk-SARIXFHP.mjs";
|
|
14
|
+
import "../chunk-J4M5EL5P.mjs";
|
|
15
|
+
import "../chunk-GAGABICI.mjs";
|
|
16
|
+
import "../chunk-6RK5UCTP.mjs";
|
|
17
|
+
import "../chunk-QQ4A6DLD.mjs";
|
|
18
18
|
export {
|
|
19
19
|
CACHE_DIR,
|
|
20
20
|
DIFF_OUTPUT,
|
|
@@ -13,6 +13,135 @@ var init_cjs_shims = __esm({
|
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
|
|
16
|
+
// src/utils/findEnvFiles.cjs
|
|
17
|
+
var require_findEnvFiles = __commonJS({
|
|
18
|
+
"src/utils/findEnvFiles.cjs"(exports2, module2) {
|
|
19
|
+
init_cjs_shims();
|
|
20
|
+
var fs = require("fs");
|
|
21
|
+
var path2 = require("path");
|
|
22
|
+
var glob = require("glob");
|
|
23
|
+
var DEFAULT_IGNORES = [
|
|
24
|
+
"**/node_modules/**",
|
|
25
|
+
"**/.git/**",
|
|
26
|
+
"**/.yarn/**",
|
|
27
|
+
"**/.pnpm/**",
|
|
28
|
+
"**/dist/**",
|
|
29
|
+
"**/build/**",
|
|
30
|
+
"**/coverage/**",
|
|
31
|
+
"**/vendor/**",
|
|
32
|
+
"**/tmp/**",
|
|
33
|
+
"**/.cache/**",
|
|
34
|
+
"**/assets/**",
|
|
35
|
+
"**/logs/**",
|
|
36
|
+
"**/output/**",
|
|
37
|
+
"**/public/**",
|
|
38
|
+
"**/static/**",
|
|
39
|
+
"**/temp/**",
|
|
40
|
+
"**/backup/**",
|
|
41
|
+
"**/backups/**",
|
|
42
|
+
"**/examples/**",
|
|
43
|
+
"**/docs/**",
|
|
44
|
+
"**/tests/**",
|
|
45
|
+
"**/__tests__/**",
|
|
46
|
+
"**/spec/**",
|
|
47
|
+
"**/__specs__/**",
|
|
48
|
+
"**/scripts/**",
|
|
49
|
+
"**/bin/**",
|
|
50
|
+
"**/hooks/**",
|
|
51
|
+
"**/config/**",
|
|
52
|
+
"**/configs/**",
|
|
53
|
+
"**/settings/**",
|
|
54
|
+
"**/.vscode/**",
|
|
55
|
+
"**/.idea/**"
|
|
56
|
+
];
|
|
57
|
+
function findEnvFiles(startDir = process.cwd(), filter) {
|
|
58
|
+
const found = /* @__PURE__ */ new Set();
|
|
59
|
+
function addFile(file) {
|
|
60
|
+
const normalized = path2.normalize(file);
|
|
61
|
+
if (typeof filter === "function" && !filter(normalized)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
found.add(normalized);
|
|
65
|
+
}
|
|
66
|
+
let current = path2.resolve(startDir);
|
|
67
|
+
while (true) {
|
|
68
|
+
const envPath = path2.join(current, ".env");
|
|
69
|
+
if (fs.existsSync(envPath)) {
|
|
70
|
+
addFile(envPath);
|
|
71
|
+
}
|
|
72
|
+
const parent = path2.dirname(current);
|
|
73
|
+
if (parent === current) {
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
current = parent;
|
|
77
|
+
}
|
|
78
|
+
const files = glob.globSync("**/.env*", {
|
|
79
|
+
cwd: startDir,
|
|
80
|
+
absolute: true,
|
|
81
|
+
nodir: true,
|
|
82
|
+
ignore: DEFAULT_IGNORES
|
|
83
|
+
});
|
|
84
|
+
for (const file of files) {
|
|
85
|
+
addFile(file);
|
|
86
|
+
}
|
|
87
|
+
return [...found];
|
|
88
|
+
}
|
|
89
|
+
function findEnvWithToken(startDir = process.cwd(), tokenName = "GITHUB_TOKEN") {
|
|
90
|
+
const envFiles = findEnvFiles(startDir);
|
|
91
|
+
return envFiles.find((file) => {
|
|
92
|
+
try {
|
|
93
|
+
const content = fs.readFileSync(file, "utf-8");
|
|
94
|
+
if (tokenName instanceof RegExp) {
|
|
95
|
+
return tokenName.test(content);
|
|
96
|
+
}
|
|
97
|
+
const regex = new RegExp(`^\\s*${tokenName}\\s*=`, "m");
|
|
98
|
+
return regex.test(content);
|
|
99
|
+
} catch (err) {
|
|
100
|
+
console.warn(`Failed to read ${file}: ${err instanceof Error ? err.message : String(err)}`);
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
module2.exports = {
|
|
106
|
+
DEFAULT_IGNORES,
|
|
107
|
+
findEnvFiles,
|
|
108
|
+
findEnvWithToken,
|
|
109
|
+
default: findEnvFiles
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
// src/binary-collections/config.cjs
|
|
115
|
+
var require_config = __commonJS({
|
|
116
|
+
"src/binary-collections/config.cjs"(exports2, module2) {
|
|
117
|
+
init_cjs_shims();
|
|
118
|
+
var path2 = require("upath");
|
|
119
|
+
var minimistLib = require("minimist");
|
|
120
|
+
var { findEnvWithToken } = require_findEnvFiles();
|
|
121
|
+
var dotenv = require("dotenv");
|
|
122
|
+
var loadDotenv2 = (tokenKey = /ACCESS_TOKEN|GITHUB_TOKEN/) => dotenv.config({ path: findEnvWithToken(void 0, tokenKey), quiet: true, overwrite: true });
|
|
123
|
+
loadDotenv2();
|
|
124
|
+
var cliArgv = minimistLib(process.argv.slice(2), {
|
|
125
|
+
string: ["token"]
|
|
126
|
+
});
|
|
127
|
+
var GITHUB_ACCESS_TOKEN = cliArgv.token || process.env.ACCESS_TOKEN || process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
128
|
+
function getTempDir() {
|
|
129
|
+
return process.env.TEMP_DIR || path2.join(process.cwd(), "tmp");
|
|
130
|
+
}
|
|
131
|
+
function getTempPath(...segments) {
|
|
132
|
+
return path2.join(getTempDir(), ...segments);
|
|
133
|
+
}
|
|
134
|
+
var TEMP_BASE_DIR = getTempDir();
|
|
135
|
+
module2.exports = {
|
|
136
|
+
getTempDir,
|
|
137
|
+
getTempPath,
|
|
138
|
+
TEMP_BASE_DIR,
|
|
139
|
+
GITHUB_ACCESS_TOKEN,
|
|
140
|
+
loadDotenv: loadDotenv2
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
|
|
16
145
|
// src/git/utils.cjs
|
|
17
146
|
var require_utils = __commonJS({
|
|
18
147
|
"src/git/utils.cjs"(exports2, module2) {
|
|
@@ -349,9 +478,9 @@ var require_utils2 = __commonJS({
|
|
|
349
478
|
init_cjs_shims();
|
|
350
479
|
var fs = require("fs");
|
|
351
480
|
var path2 = require("upath");
|
|
352
|
-
var
|
|
481
|
+
var minimistLib = require("minimist");
|
|
482
|
+
var argv = minimistLib(process.argv.slice(2));
|
|
353
483
|
var { exec } = require("child_process");
|
|
354
|
-
var { URL: URL2 } = require("url");
|
|
355
484
|
var { promisify } = require("util");
|
|
356
485
|
var execAsync = promisify(exec);
|
|
357
486
|
async function parseGitRemotes() {
|
|
@@ -364,7 +493,7 @@ var require_utils2 = __commonJS({
|
|
|
364
493
|
if (name && url) {
|
|
365
494
|
const [repoUrl] = url.split(" ");
|
|
366
495
|
try {
|
|
367
|
-
const parsedUrl = new
|
|
496
|
+
const parsedUrl = new URL(repoUrl);
|
|
368
497
|
const pathParts = parsedUrl.pathname.split("/").filter(Boolean);
|
|
369
498
|
if (parsedUrl.hostname === "github.com" && pathParts.length === 2) {
|
|
370
499
|
let repoPath = pathParts.join("/");
|
|
@@ -385,15 +514,10 @@ var require_utils2 = __commonJS({
|
|
|
385
514
|
}
|
|
386
515
|
}
|
|
387
516
|
module2.exports.parseGitRemotes = parseGitRemotes;
|
|
388
|
-
function
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
fullPath = fullPath.charAt(0).toUpperCase() + fullPath.slice(1);
|
|
517
|
+
function getArgs2(opts) {
|
|
518
|
+
if (opts) {
|
|
519
|
+
return minimistLib(process.argv.slice(2), opts);
|
|
392
520
|
}
|
|
393
|
-
return fullPath;
|
|
394
|
-
}
|
|
395
|
-
module2.exports.joinPathPreserveDriveLetter = joinPathPreserveDriveLetter;
|
|
396
|
-
function getArgs2() {
|
|
397
521
|
return argv;
|
|
398
522
|
}
|
|
399
523
|
module2.exports.getArgs = getArgs2;
|
|
@@ -519,10 +643,11 @@ var require_utils2 = __commonJS({
|
|
|
519
643
|
var require_user_config = __commonJS({
|
|
520
644
|
"src/git/user-config.cjs"(exports2, module2) {
|
|
521
645
|
init_cjs_shims();
|
|
646
|
+
var { loadDotenv: loadDotenv2 } = require_config();
|
|
522
647
|
var gch = require("git-command-helper");
|
|
523
648
|
var { runGitCommand, runGitCommandOutput } = require_utils();
|
|
524
649
|
var { getArgs: getArgs2 } = require_utils2();
|
|
525
|
-
|
|
650
|
+
loadDotenv2();
|
|
526
651
|
function configureGitUser2(cliUser = null, cliEmail = null, options2 = {}) {
|
|
527
652
|
console.log("\n=== Configuring Git User ===");
|
|
528
653
|
let username, email;
|
|
@@ -646,8 +771,9 @@ var require_normalize = __commonJS({
|
|
|
646
771
|
}
|
|
647
772
|
});
|
|
648
773
|
|
|
649
|
-
// src/git-fix.cjs
|
|
774
|
+
// src/git/git-fix.cjs
|
|
650
775
|
init_cjs_shims();
|
|
776
|
+
var { loadDotenv } = require_config();
|
|
651
777
|
var { isGitRepository } = require_utils();
|
|
652
778
|
var { forceLfLineEndings } = require_line_endings();
|
|
653
779
|
var { ignoreFilePermissions } = require_permissions();
|
|
@@ -656,7 +782,7 @@ var { configureGitUser } = require_user_config();
|
|
|
656
782
|
var { normalizeLineEndings } = require_normalize();
|
|
657
783
|
var { getArgs } = require_utils2();
|
|
658
784
|
var path = require("upath");
|
|
659
|
-
|
|
785
|
+
loadDotenv();
|
|
660
786
|
function showHelp() {
|
|
661
787
|
console.log("Git Fix Utility");
|
|
662
788
|
console.log("----------------------------");
|