binary-collections 2.0.9 → 2.0.11
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/.puppeterrc.cjs +25 -0
- package/binaries/binary-executor.cjs +178 -0
- package/{bin → binaries}/clean-nodemodule +0 -0
- package/binaries/clean-nodemodule.cjs +178 -0
- package/binaries/clean-nodemodule.cmd +4 -0
- package/{bin → binaries}/clean-nodemodules +0 -0
- package/binaries/clean-nodemodules.cjs +178 -0
- package/binaries/clean-nodemodules.cmd +5 -0
- package/{bin → binaries}/dev +0 -0
- package/binaries/dev.cjs +178 -0
- package/{bin → binaries}/empty +0 -0
- package/binaries/empty.cjs +178 -0
- package/{bin → binaries}/git-reduce-size +0 -0
- package/binaries/git-reduce-size.cjs +178 -0
- package/binaries/javakill.cjs +178 -0
- package/{bin → binaries}/javakill.cmd +0 -0
- package/binaries/kill-night-crows.bat +7 -0
- package/binaries/kill-night-crows.ps1 +172 -0
- package/{bin → binaries}/kill-process +0 -0
- package/binaries/kill-process.cjs +178 -0
- package/binaries/nodekill.cjs +178 -0
- package/{bin → binaries}/nodekill.ps1 +0 -0
- package/{bin → binaries}/prod +0 -0
- package/binaries/prod.cjs +178 -0
- package/binaries/py +111 -0
- package/binaries/py.cjs +178 -0
- package/binaries/py.cmd +49 -0
- package/{bin → binaries}/rmfind +0 -0
- package/binaries/rmfind.cjs +178 -0
- package/{bin → binaries}/rmx +0 -0
- package/binaries/rmx.cjs +178 -0
- package/{bin → binaries}/submodule-token +0 -0
- package/binaries/submodule-token.cjs +178 -0
- package/binaries/test-cjs +10 -0
- package/binaries/test-cjs.cjs +178 -0
- package/binaries/test-cjs.cmd +11 -0
- package/binaries/yarn-clean +32 -0
- package/binaries/yarn-clean.cjs +178 -0
- package/binaries/yarn-clean.cmd +30 -0
- package/binaries/yarn-clean.py +148 -0
- package/docs-src/clean-github-actions-caches.md +26 -0
- package/docs-src/free-chatgpt.md +26 -0
- package/lib/binary-collections-config.cjs +3 -2
- package/lib/binary-collections-config.mjs +2 -2
- package/lib/binary-collections.cjs +513 -105
- package/lib/binary-collections.mjs +178 -117
- package/lib/changelog.cjs +64 -16
- package/lib/changelog.mjs +177 -171
- package/lib/{chunk-VVEZVNIV.mjs → chunk-2CBJCW7E.mjs} +3 -3
- package/lib/chunk-34IQDTLZ.mjs +27 -0
- package/lib/chunk-3HFFECCI.mjs +27 -0
- package/lib/chunk-4UHL4WVN.mjs +136 -0
- package/lib/{chunk-4BYBVEYC.mjs → chunk-66PAU5PS.mjs} +5 -4
- package/lib/chunk-6HHJRKFB.mjs +59 -0
- package/lib/chunk-6S4NXESK.mjs +26 -0
- package/lib/chunk-7XTEJHOE.mjs +193 -0
- package/lib/{chunk-ZYAQRPUL.mjs → chunk-7YD7IPFF.mjs} +2 -2
- package/lib/{chunk-SH3L6HHV.mjs → chunk-A2JQXI5Z.mjs} +2 -2
- package/lib/{chunk-EGSSKVDH.mjs → chunk-A3VUZEJK.mjs} +1 -1
- package/lib/chunk-AJDD5DZM.mjs +109 -0
- package/lib/chunk-BZWVHODJ.mjs +62 -0
- package/lib/chunk-FCDQGYBF.mjs +136 -0
- package/lib/chunk-FKI7IEB5.mjs +172 -0
- package/lib/chunk-GEYA2USY.mjs +207 -0
- package/lib/chunk-GJTGHXRA.mjs +356 -0
- package/lib/{chunk-YV7DO3YV.mjs → chunk-HLGOWBEO.mjs} +1 -1
- package/lib/chunk-ID2WBTE2.mjs +80 -0
- package/lib/chunk-JXFOHKDM.mjs +239 -0
- package/lib/{chunk-YX5U7XDR.mjs → chunk-M3YIYRHT.mjs} +6 -5
- package/lib/chunk-N436BNBK.mjs +514 -0
- package/lib/chunk-NCXAP7AA.mjs +31 -0
- package/lib/chunk-PDN26I7O.mjs +188 -0
- package/lib/{chunk-JGR2NW6D.mjs → chunk-PDSXF5HY.mjs} +3 -3
- package/lib/{chunk-AASHBCRW.mjs → chunk-QQ4A6DLD.mjs} +8 -0
- package/lib/{chunk-ONIBBBQ3.mjs → chunk-RWLXRTYP.mjs} +4 -3
- package/lib/chunk-TOIVAQF7.mjs +136 -0
- package/lib/chunk-V5SKYJUB.mjs +136 -0
- package/lib/chunk-WSRETQCA.mjs +59 -0
- package/lib/chunk-XA3SNBPA.mjs +184 -0
- package/lib/chunk-XVBFFVCJ.mjs +209 -0
- package/lib/chunk-YYLIQQKF.mjs +31 -0
- package/lib/{chunk-APBWENF6.mjs → chunk-Z6JLYU2J.mjs} +63 -16
- package/lib/chunk-ZDMWBSYF.mjs +81 -0
- package/lib/clean-github-actions-caches.cjs +291 -148
- package/lib/clean-github-actions-caches.mjs +4 -3
- package/lib/del-gradle.cjs +63 -15
- package/lib/del-gradle.js +2 -1
- package/lib/del-gradle.mjs +2 -2
- package/lib/del-node-modules.cjs +143 -148
- package/lib/del-node-modules.js +210 -14
- package/lib/del-node-modules.mjs +149 -18
- package/lib/del-ps.cjs +90 -21
- package/lib/del-ps.js +3 -2
- package/lib/del-ps.mjs +7 -5
- package/lib/del-yarn-caches.cjs +87 -18
- package/lib/del-yarn-caches.js +38 -3
- package/lib/del-yarn-caches.mjs +6 -6
- package/lib/find-node-modules-cli.cjs +5 -4
- package/lib/find-node-modules-cli.js +2 -1
- package/lib/find-node-modules-cli.mjs +2 -2
- package/lib/find-node-modules.cjs +4 -3
- package/lib/{find-node-modules.d.ts → find-node-modules.d.cts} +1 -1
- package/lib/find-node-modules.mjs +2 -2
- package/lib/free-chatgpt.cjs +754 -0
- package/lib/free-chatgpt.js +51 -0
- package/lib/free-chatgpt.mjs +50 -0
- package/lib/git/gitattributes.cjs +2 -1
- package/lib/git/{gitattributes.d.ts → gitattributes.d.cts} +7 -2
- package/lib/git/gitattributes.mjs +2 -2
- package/lib/git/line-endings.cjs +298 -64
- package/lib/git/line-endings.mjs +4 -4
- package/lib/git/normalize.cjs +26 -36
- package/lib/git/normalize.mjs +2 -2
- package/lib/git/permissions.cjs +77 -11
- package/lib/git/permissions.mjs +3 -3
- package/lib/git/pull-strategy.cjs +76 -9
- package/lib/git/pull-strategy.mjs +3 -3
- package/lib/git/undo-commit-cli.cjs +110 -0
- package/lib/git/undo-commit-cli.d.ts +1 -0
- package/lib/git/undo-commit-cli.js +4 -0
- package/lib/git/undo-commit-cli.mjs +14 -0
- package/lib/git/undo-commit.cjs +81 -0
- package/lib/git/undo-commit.d.cts +1 -0
- package/lib/git/undo-commit.mjs +7 -0
- package/lib/git/undo-staged-cli.cjs +110 -0
- package/lib/git/undo-staged-cli.d.ts +1 -0
- package/lib/git/undo-staged-cli.js +4 -0
- package/lib/git/undo-staged-cli.mjs +14 -0
- package/lib/git/undo-staged.cjs +81 -0
- package/lib/git/undo-staged.d.cts +1 -0
- package/lib/git/undo-staged.mjs +7 -0
- package/lib/git/user-config.cjs +313 -83
- package/lib/git/user-config.mjs +4 -4
- package/lib/git/utils.cjs +40 -60
- package/lib/git/utils.mjs +2 -2
- package/lib/git-diff-cli.cjs +857 -0
- package/lib/git-diff-cli.js +16 -0
- package/lib/git-diff-cli.mjs +17 -0
- package/lib/git-diff.cjs +862 -58
- package/lib/git-diff.d.ts +38 -83
- package/lib/git-diff.js +152 -0
- package/lib/git-diff.mjs +23 -85
- package/lib/git-fix.cjs +733 -97
- package/lib/git-fix.mjs +10 -9
- package/lib/git-purge.cjs +64 -16
- package/lib/git-purge.d.cts +1 -0
- package/lib/git-purge.mjs +43 -37
- package/lib/index.cjs +7 -6
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -5
- package/lib/index.mjs +4 -4
- package/lib/kill-night-crows.cjs +87 -0
- package/lib/kill-night-crows.d.mts +1 -0
- package/lib/kill-night-crows.mjs +65 -0
- package/lib/npm-run-series.cjs +63 -16
- package/lib/npm-run-series.mjs +42 -36
- package/lib/package-resolutions-updater-cli.cjs +560 -0
- package/lib/package-resolutions-updater-cli.d.mts +1 -0
- package/lib/package-resolutions-updater-cli.mjs +124 -0
- package/lib/package-resolutions-updater.cjs +178 -158
- package/lib/package-resolutions-updater.d.mts +32 -1
- package/lib/package-resolutions-updater.mjs +17 -338
- package/lib/php-cs-fixer-staged.cjs +105 -0
- package/lib/php-cs-fixer-staged.d.cts +2 -0
- package/lib/php-cs-fixer-staged.mjs +117 -0
- package/lib/print-directory-tree.cjs +320 -207
- package/lib/print-directory-tree.mjs +3 -3
- package/lib/ps/connected-domain.cjs +25 -2
- package/lib/ps/connected-domain.d.ts +10 -2
- package/lib/ps/connected-domain.js +5 -2
- package/lib/ps/connected-domain.mjs +8 -4
- package/lib/ps/index.cjs +345 -322
- package/lib/ps/index.d.mjs +1 -1
- package/lib/ps/index.js +2 -1
- package/lib/ps/index.mjs +179 -182
- package/lib/ps/isWin.cjs +24 -1
- package/lib/ps/isWin.d.ts +1 -1
- package/lib/ps/isWin.js +3 -1
- package/lib/ps/isWin.mjs +8 -4
- package/lib/ps/table-parser.cjs +167 -159
- package/lib/ps/table-parser.d.ts +5 -0
- package/lib/ps/table-parser.js +10 -4
- package/lib/ps/table-parser.mjs +9 -5
- package/lib/remove-module.cjs +310 -0
- package/lib/remove-module.d.mts +1 -0
- package/lib/remove-module.mjs +111 -0
- package/lib/rmpath.cjs +322 -0
- package/lib/rmpath.d.mts +3 -0
- package/lib/rmpath.mjs +108 -0
- package/lib/submodule-install.cjs +311 -86
- package/lib/submodule-install.mjs +53 -5
- package/lib/submodule-remove-cli.cjs +107 -0
- package/lib/submodule-remove-cli.d.ts +1 -0
- package/lib/submodule-remove-cli.js +31 -0
- package/lib/submodule-remove-cli.mjs +28 -0
- package/lib/submodule-remove.cjs +46 -0
- package/lib/submodule-remove.d.cts +2 -0
- package/lib/submodule-remove.mjs +6 -0
- package/lib/utils/chatgpt.cjs +541 -0
- package/lib/utils/chatgpt.d.ts +31 -0
- package/lib/utils/chatgpt.js +708 -0
- package/lib/utils/chatgpt.mjs +8 -0
- package/lib/utils/findEnvFiles.cjs +107 -0
- package/lib/utils/findEnvFiles.d.ts +8 -0
- package/lib/utils/findEnvFiles.js +121 -0
- package/lib/utils/findEnvFiles.mjs +8 -0
- package/lib/utils/findWorkspaceRoot.cjs +70 -0
- package/lib/utils/findWorkspaceRoot.d.ts +9 -0
- package/lib/utils/findWorkspaceRoot.js +57 -0
- package/lib/utils/findWorkspaceRoot.mjs +40 -0
- package/lib/{utils.cjs → utils/index.cjs} +61 -14
- package/lib/{utils.mjs → utils/index.mjs} +2 -2
- package/lib/utils/isGithubTokenValid.cjs +64 -0
- package/lib/utils/isGithubTokenValid.d.ts +7 -0
- package/lib/utils/isGithubTokenValid.js +48 -0
- package/lib/utils/isGithubTokenValid.mjs +36 -0
- package/lib/yarn-reinstall.cjs +220 -38
- package/lib/yarn-reinstall.mjs +2 -2
- package/package.json +138 -104
- package/readme.md +48 -75
- package/releases/readme.md +36 -0
- package/requirements.txt +1 -0
- package/test/README.md +101 -0
- package/test/package.json +2 -1
- package/test-project/readme.md +26 -0
- package/tmp/test-repo/README.md +35 -0
- package/tmp/test-repo/package.json +1 -1
- package/tmp/typedoc/readme.md +320 -0
- package/bin/bash-dummy +0 -56
- package/bin/bash-dummy.cmd +0 -25
- package/bin/dir-tree.cmd +0 -7
- package/bin/git-diff +0 -4
- package/bin/git-diff.cmd +0 -7
- package/bin/git-fix +0 -36
- package/bin/git-fix.cmd +0 -7
- package/bin/rmpath +0 -70
- package/bin/submodule-install.txt +0 -118
- package/bin/submodule-remove +0 -46
- package/bin/submodule.txt +0 -172
- package/lib/binary-collections-config.d.mts +0 -18
- package/lib/binary-collections-config.js +0 -39
- package/lib/binary-collections.d.mts +0 -137
- package/lib/binary-collections.d.ts +0 -137
- package/lib/changelog.d.mts +0 -2
- package/lib/changelog.js +0 -226
- package/lib/chunk-DPKAJKFO.mjs +0 -171
- package/lib/chunk-G3THLIDT.mjs +0 -200
- package/lib/chunk-W3ENOM53.mjs +0 -18
- package/lib/clean-github-actions-caches.d.mts +0 -169
- package/lib/clean-github-actions-caches.d.ts +0 -169
- package/lib/del-gradle.d.mts +0 -2
- package/lib/del-node-modules.d.mts +0 -2
- package/lib/del-ps.d.mts +0 -2
- package/lib/del-yarn-caches.d.mts +0 -2
- package/lib/find-node-modules-cli.d.mts +0 -1
- package/lib/find-node-modules.d.mts +0 -13
- package/lib/find-node-modules.js +0 -53
- package/lib/git/gitattributes.d.mts +0 -35
- package/lib/git/gitattributes.js +0 -223
- package/lib/git/line-endings.d.mts +0 -83
- package/lib/git/line-endings.d.ts +0 -83
- package/lib/git/normalize.d.mts +0 -43
- package/lib/git/normalize.d.ts +0 -43
- package/lib/git/permissions.d.mts +0 -17
- package/lib/git/permissions.d.ts +0 -17
- package/lib/git/pull-strategy.d.mts +0 -15
- package/lib/git/pull-strategy.d.ts +0 -15
- package/lib/git/user-config.d.mts +0 -105
- package/lib/git/user-config.d.ts +0 -105
- package/lib/git/utils.d.mts +0 -69
- package/lib/git/utils.d.ts +0 -69
- package/lib/git-diff.d.mts +0 -84
- package/lib/git-fix.d.mts +0 -141
- package/lib/git-fix.d.ts +0 -141
- package/lib/git-purge.d.mts +0 -2
- package/lib/git-purge.js +0 -59
- package/lib/index.d.mts +0 -1
- package/lib/npm-run-series.d.mts +0 -1
- package/lib/npm-run-series.js +0 -86
- package/lib/package-resolutions-updater.d.ts +0 -352
- package/lib/print-directory-tree.d.mts +0 -234
- package/lib/print-directory-tree.d.ts +0 -234
- package/lib/ps/connected-domain.d.mts +0 -3
- package/lib/ps/index.d.d.mts +0 -26
- package/lib/ps/index.d.d.ts +0 -26
- package/lib/ps/index.d.mts +0 -26
- package/lib/ps/isWin.d.mts +0 -3
- package/lib/ps/table-parser.d.mts +0 -3
- package/lib/submodule-install.d.mts +0 -121
- package/lib/submodule-install.d.ts +0 -121
- package/lib/utils.d.mts +0 -40
- package/lib/utils.js +0 -181
- package/lib/yarn-reinstall.d.mts +0 -49
- package/lib/yarn-reinstall.d.ts +0 -49
- package/src/package-resolutions-updater.mjs +0 -350
- package/src/print-directory-tree.cjs +0 -234
- package/src/ps/index.js +0 -286
- package/src/yarn-reinstall.cjs +0 -49
- /package/{bin → binaries}/nodekill +0 -0
- /package/{bin → binaries}/nodekill.cmd +0 -0
- /package/lib/{binary-collections-config.d.ts → binary-collections-config.d.cts} +0 -0
- /package/lib/{changelog.d.ts → changelog.d.cts} +0 -0
- /package/lib/{git-purge.d.ts → free-chatgpt.d.ts} +0 -0
- /package/lib/{git-diff.d.cts → git-diff-cli.d.ts} +0 -0
- /package/lib/{npm-run-series.d.ts → npm-run-series.d.cts} +0 -0
- /package/lib/{utils.d.ts → utils/index.d.cts} +0 -0
package/readme.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# Binary Collections
|
|
2
|
-
|
|
3
|
-
A comprehensive collection of Node.js CLI tools designed to streamline common development workflows. This toolkit provides utilities for git operations, dependency management, build processes, and various development automation tasks.
|
|
2
|
+
A comprehensive toolkit of Node.js CLI utilities for streamlining development workflows. Includes tools for git operations, dependency management, build processes, automation, and more.
|
|
4
3
|
|
|
5
4
|
## Features
|
|
6
5
|
|
|
@@ -28,7 +27,17 @@ npm install binary-collections -g
|
|
|
28
27
|
npm install binary-collections@https://github.com/dimaslanjaka/bin/raw/master/releases/bin.tgz
|
|
29
28
|
```
|
|
30
29
|
|
|
31
|
-
|
|
30
|
+
### Direct run
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# Yarn berry
|
|
34
|
+
yarn dlx binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name>
|
|
35
|
+
|
|
36
|
+
# NPX
|
|
37
|
+
npx -y binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## VSCode Setup
|
|
32
41
|
|
|
33
42
|
Create `.vscode/settings.json` to add binary tools to your PATH:
|
|
34
43
|
|
|
@@ -72,8 +81,8 @@ Create `.vscode/settings.json` to add binary tools to your PATH:
|
|
|
72
81
|
|
|
73
82
|
### Quick Reference
|
|
74
83
|
|
|
75
|
-
| Category |
|
|
76
|
-
|
|
84
|
+
| Category | Commands | Description |
|
|
85
|
+
|---|---|---|
|
|
77
86
|
| **Git** | `git-purge`, `git-diff`, `git-fix`, `git-reduce-size` | Git repository management and optimization |
|
|
78
87
|
| **Submodules** | `submodule`, `submodule-install`, `submodule-remove`, `submodule-token` | Git submodule operations |
|
|
79
88
|
| **NPM Scripts** | `nrs`, `run-s`, `run-series`, `npm-run-series` | Run npm scripts in series with pattern matching |
|
|
@@ -82,51 +91,25 @@ Create `.vscode/settings.json` to add binary tools to your PATH:
|
|
|
82
91
|
| **Process Mgmt** | `kill-process`, `nodekill`, `javakill`, `del-ps` | Process management and termination |
|
|
83
92
|
| **File System** | `rmfind`, `rmpath`, `rmx`, `print-tree`, `dir-tree` | File system operations |
|
|
84
93
|
| **Cleanup** | `del-nodemodules`, `del-yarncaches`, `del-gradle` | Cache and build directory cleanup |
|
|
85
|
-
| **GitHub Actions** | `clean-github-actions-caches`, `clean-github-actions-cache`, `clear-github-actions-cache`, `clear-github-actions-caches`, `clear-gh-caches` | Remove old GitHub Actions caches, keep only
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
#### Binary List Generation & Source Code
|
|
90
|
-
|
|
91
|
-
The list of available binaries and utilities is automatically generated by the build script (`build.js`).
|
|
92
|
-
All CLI tools and binaries are collected from the `bin/`, `lib/`, and other relevant folders. The build process updates the `bin` field in `package.json` to reflect all available executables.
|
|
93
|
-
|
|
94
|
-
Source code for utilities is located in the [`src/`](./src/) folder. To update the binary list, run:
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
yarn run build
|
|
98
|
-
# or
|
|
99
|
-
node build.js
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
This will scan the project and update `package.json` with all available binaries. The list may change as files are added or removed from the project.
|
|
103
|
-
|
|
104
|
-
For a complete list of available binaries and utilities, see:
|
|
105
|
-
- [Binary executables](https://github.com/dimaslanjaka/bin/tree/master/bin)
|
|
106
|
-
- [Library modules](https://github.com/dimaslanjaka/bin/tree/master/lib)
|
|
107
|
-
- [Package configuration](https://github.com/dimaslanjaka/bin/blob/master/package.json)
|
|
94
|
+
| **GitHub Actions** | `clean-github-actions-caches`, `clean-github-actions-cache`, `clear-github-actions-cache`, `clear-github-actions-caches`, `clear-gh-caches` | Remove old GitHub Actions caches, keep only latest |
|
|
108
95
|
|
|
109
96
|
### Git Tools
|
|
110
97
|
|
|
111
98
|
#### Git Repository Purge
|
|
112
99
|
Clean and optimize git repositories by pruning reflogs:
|
|
113
|
-
|
|
114
100
|
```bash
|
|
115
101
|
git-purge
|
|
116
102
|
```
|
|
117
|
-
|
|
118
103
|

|
|
119
104
|
|
|
120
105
|
#### Git Diff Utility
|
|
121
106
|
Enhanced git diff functionality:
|
|
122
|
-
|
|
123
107
|
```bash
|
|
124
108
|
git-diff
|
|
125
109
|
```
|
|
126
110
|
|
|
127
111
|
#### Git Fix Utility
|
|
128
|
-
Comprehensive Git configuration fixer for cross-platform development (replaces
|
|
129
|
-
|
|
112
|
+
Comprehensive Git configuration fixer for cross-platform development (replaces `git-fix-encoding`):
|
|
130
113
|
```bash
|
|
131
114
|
git-fix # Apply all fixes
|
|
132
115
|
git-fix --lf-only # Force LF line endings only
|
|
@@ -137,7 +120,6 @@ git-fix --user NAME EMAIL # Configure Git user with specific values
|
|
|
137
120
|
git-fix --user --update-remote # Also update remote URL to match user
|
|
138
121
|
git-fix --user NAME EMAIL --update-remote # Configure user and update remote URL
|
|
139
122
|
```
|
|
140
|
-
|
|
141
123
|
Features:
|
|
142
124
|
- Forces LF line endings (`core.autocrlf = false`)
|
|
143
125
|
- Ignores file permission changes (`core.filemode = false`)
|
|
@@ -162,7 +144,6 @@ User Configuration:
|
|
|
162
144
|
|
|
163
145
|
#### Git Repository Size Reducer
|
|
164
146
|
Reduce git repository size by cleaning up history:
|
|
165
|
-
|
|
166
147
|
```bash
|
|
167
148
|
git-reduce-size
|
|
168
149
|
```
|
|
@@ -183,16 +164,13 @@ git-reduce-size
|
|
|
183
164
|
Run multiple npm scripts in series with pattern matching support.
|
|
184
165
|
|
|
185
166
|
#### Options
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
| `--
|
|
190
|
-
| `--verbose`, `-v` | Enable verbose output |
|
|
167
|
+
| Flag | Description |
|
|
168
|
+
|---------------------|---------------------------------------------|
|
|
169
|
+
| `--yarn` | Use `yarn run <script-name>` instead of npm |
|
|
170
|
+
| `--verbose`, `-v` | Enable verbose output |
|
|
191
171
|
|
|
192
172
|
#### Example
|
|
193
|
-
|
|
194
173
|
Execute all scripts matching the pattern `namescript:**`:
|
|
195
|
-
|
|
196
174
|
```json
|
|
197
175
|
{
|
|
198
176
|
"name": "package-name",
|
|
@@ -213,14 +191,12 @@ Execute all scripts matching the pattern `namescript:**`:
|
|
|
213
191
|
|
|
214
192
|
#### Yarn Package Reinstaller
|
|
215
193
|
Reinstall yarn packages with dependency type flags:
|
|
216
|
-
|
|
217
194
|
```bash
|
|
218
195
|
yarn-reinstall <packageName> [--dev|-D|--peer|-P|--optional|-O]
|
|
219
196
|
```
|
|
220
197
|
|
|
221
198
|
#### Package Resolutions Manager
|
|
222
199
|
Manage package resolutions in package.json (aliases: `pkg-resolutions-updater`, `pkg-res-updater`):
|
|
223
|
-
|
|
224
200
|
```bash
|
|
225
201
|
pkg-resolutions-updater
|
|
226
202
|
pkg-res-updater
|
|
@@ -230,7 +206,6 @@ pkg-res-updater
|
|
|
230
206
|
|
|
231
207
|
#### Node Modules Finder
|
|
232
208
|
Find all node_modules directories in a project:
|
|
233
|
-
|
|
234
209
|
```bash
|
|
235
210
|
find-node-modules # Library function
|
|
236
211
|
find-node-modules-cli # CLI tool
|
|
@@ -246,7 +221,6 @@ find-nodemodules # Alias
|
|
|
246
221
|
|
|
247
222
|
#### Process Killers
|
|
248
223
|
Kill processes by name or pattern:
|
|
249
|
-
|
|
250
224
|
```bash
|
|
251
225
|
kill-process # General process killer
|
|
252
226
|
nodekill # Kill Node.js processes
|
|
@@ -261,39 +235,21 @@ del-ps # Kill processes by command name
|
|
|
261
235
|
|
|
262
236
|
### Cleanup Tools
|
|
263
237
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
Remove old GitHub Actions caches, keeping only the most recent cache for each prefix:
|
|
267
|
-
|
|
268
|
-
```bash
|
|
269
|
-
clean-github-actions-caches
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
Features:
|
|
273
|
-
- Authenticates using `ACCESS_TOKEN` or `GITHUB_TOKEN` from your `.env` file
|
|
274
|
-
- Automatically groups and deletes caches by prefix, keeping only the latest
|
|
275
|
-
- Works for the current repository (origin remote)
|
|
276
|
-
|
|
277
|
-
Environment setup:
|
|
278
|
-
- Ensure your `.env` file contains `ACCESS_TOKEN` or `GITHUB_TOKEN`
|
|
279
|
-
|
|
280
|
-
Source: [`src/clean-github-actions-caches.cjs`](./src/clean-github-actions-caches.cjs)
|
|
238
|
+
#### GitHub Actions Cache Cleaner
|
|
239
|
+
[See full documentation](./docs-src/clean-github-actions-caches.md).
|
|
281
240
|
|
|
282
241
|
#### Node Modules Cleaner
|
|
283
242
|
Remove node_modules directories recursively:
|
|
284
|
-
|
|
285
243
|
```bash
|
|
286
244
|
del-nodemodules # Primary command
|
|
287
245
|
del-node-modules # Alternative
|
|
288
246
|
clean-nodemodule # Legacy
|
|
289
247
|
clean-nodemodules # Legacy
|
|
290
248
|
```
|
|
291
|
-
|
|
292
249
|

|
|
293
250
|
|
|
294
251
|
#### Yarn Cache Cleaner
|
|
295
252
|
Clear yarn cache directories:
|
|
296
|
-
|
|
297
253
|
```bash
|
|
298
254
|
del-yarncaches # Primary command
|
|
299
255
|
del-yarn-caches # Alternative
|
|
@@ -301,26 +257,25 @@ del-yarn-caches # Alternative
|
|
|
301
257
|
|
|
302
258
|
#### Gradle Build Cleaner
|
|
303
259
|
Delete gradle build folders:
|
|
304
|
-
|
|
305
260
|
```bash
|
|
306
261
|
del-gradle
|
|
307
262
|
```
|
|
308
263
|
|
|
264
|
+
#### Free ChatGPT automation tool
|
|
265
|
+
|
|
266
|
+
[See full documentation](./docs-src/free-chatgpt.md)
|
|
267
|
+
|
|
309
268
|
## Troubleshooting
|
|
310
269
|
|
|
311
270
|
### Submodule Installation Issues
|
|
312
|
-
|
|
313
271
|
If you encounter the following error:
|
|
314
|
-
|
|
315
272
|
```log
|
|
316
273
|
fatal: 'origin/<branch>' is not a commit and a branch '<branch>' cannot be created from it
|
|
317
274
|
fatal: unable to checkout submodule '<folder>/<submodule>'
|
|
318
275
|
```
|
|
319
|
-
|
|
320
276
|
**Solution**: Delete `.git/modules` directory before running `submodule-install`.
|
|
321
277
|
|
|
322
278
|
#### Complete Submodule Setup Example
|
|
323
|
-
|
|
324
279
|
```bash
|
|
325
280
|
echo "Initializing submodules..."
|
|
326
281
|
git submodule init
|
|
@@ -331,12 +286,30 @@ git submodule sync
|
|
|
331
286
|
git submodule foreach "git submodule sync"
|
|
332
287
|
|
|
333
288
|
echo "Updating submodules..."
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
rm -rf .git/modules
|
|
337
|
-
bash ./bin/submodule-install
|
|
289
|
+
npx --yes rimraf .git/modules
|
|
290
|
+
npx --yes binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz submodule-install
|
|
338
291
|
```
|
|
339
292
|
|
|
293
|
+
## Binary List Generation & Source Code (Development)
|
|
294
|
+
|
|
295
|
+
The list of available binaries and utilities is auto-generated by the build script ([`build.mjs`](./build.mjs)).
|
|
296
|
+
- All CLI tools and binaries are collected from the `bin/`, `lib/`, and other relevant folders.
|
|
297
|
+
- The build process updates the `bin` field in `package.json` to reflect all available executables.
|
|
298
|
+
- Source code for utilities is located in the `src/` folder.
|
|
299
|
+
|
|
300
|
+
To update the binary list, run:
|
|
301
|
+
```bash
|
|
302
|
+
yarn run build
|
|
303
|
+
# or
|
|
304
|
+
node build.mjs
|
|
305
|
+
```
|
|
306
|
+
This scans the project and updates `package.json` with all available binaries. The list may change as files are added or removed.
|
|
307
|
+
|
|
308
|
+
See also:
|
|
309
|
+
- [Binary executables](https://github.com/dimaslanjaka/bin/tree/master/bin)
|
|
310
|
+
- [Library modules](https://github.com/dimaslanjaka/bin/tree/master/lib)
|
|
311
|
+
- [Package configuration](https://github.com/dimaslanjaka/bin/blob/master/package.json)
|
|
312
|
+
|
|
340
313
|
## Contributing
|
|
341
314
|
|
|
342
315
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Release `binary-collections` tarball
|
|
2
|
+
## Releases
|
|
3
|
+
| version | tarball url |
|
|
4
|
+
| :--- | :--- |
|
|
5
|
+
| latest | https://github.com/dimaslanjaka/bin/raw/6b683c8/releases/bin.tgz |
|
|
6
|
+
| latest | https://github.com/dimaslanjaka/bin/raw/master/releases/bin.tgz |
|
|
7
|
+
|
|
8
|
+
use this tarball with `resolutions`:
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"resolutions": {
|
|
12
|
+
"binary-collections": "<url of tarball>"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Releases
|
|
18
|
+
|
|
19
|
+
## Get URL of `binary-collections` Release Tarball
|
|
20
|
+
- select tarball file
|
|
21
|
+

|
|
22
|
+
- copy raw url
|
|
23
|
+

|
|
24
|
+
- or copy download url
|
|
25
|
+

|
|
26
|
+
- then run installation from command line
|
|
27
|
+
```bash
|
|
28
|
+
npm i https://....url-tgz
|
|
29
|
+
```
|
|
30
|
+
for example
|
|
31
|
+
```bash
|
|
32
|
+
npm i https://github.com/dimaslanjaka/nodejs-package-types/raw/main/release/nodejs-package-types.tgz
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## URL Parts Explanations
|
|
36
|
+
> https://github.com/github-username/github-repo-name/raw/github-branch-name/path-to-file-with-extension
|
package/requirements.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
psutil
|
package/test/README.md
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Git-Fix Test Suite
|
|
2
|
+
|
|
3
|
+
This directory contains comprehensive tests for the `git-fix` utility and its related modules.
|
|
4
|
+
|
|
5
|
+
## Environment Configuration
|
|
6
|
+
|
|
7
|
+
The test suite properly reads the `.env` file from the project root to load environment variables:
|
|
8
|
+
- `GITHUB_USER` - Used for git user.name configuration
|
|
9
|
+
- `GITHUB_EMAIL` - Used for git user.email configuration
|
|
10
|
+
|
|
11
|
+
This ensures tests run with the same environment as the actual application.
|
|
12
|
+
|
|
13
|
+
## Test Files
|
|
14
|
+
|
|
15
|
+
### 1. `git-fix.test.js`
|
|
16
|
+
**Main unit tests for the git-fix CLI utility**
|
|
17
|
+
- Tests command-line argument parsing (`--help`, `-h`, `--user`, etc.)
|
|
18
|
+
- Tests option combinations (`--lf-only`, `--permissions`, `--normalize`)
|
|
19
|
+
- Tests user configuration with CLI arguments and environment variables
|
|
20
|
+
- Tests error handling for invalid arguments and non-git repositories
|
|
21
|
+
- Tests summary message output
|
|
22
|
+
- Uses extensive mocking to isolate the CLI logic
|
|
23
|
+
|
|
24
|
+
### 2. `git-utils.test.js`
|
|
25
|
+
**Unit tests for the git utility functions**
|
|
26
|
+
- Tests `runGitCommand()` function with success/failure scenarios
|
|
27
|
+
- Tests `isGitRepository()` function
|
|
28
|
+
- Tests error handling and console output
|
|
29
|
+
- Mocks `child_process` functions
|
|
30
|
+
|
|
31
|
+
### 3. `git-user-config.test.js`
|
|
32
|
+
**Unit tests for the git user configuration module**
|
|
33
|
+
- Tests user configuration with CLI arguments vs environment variables
|
|
34
|
+
- Tests precedence (CLI args override environment variables)
|
|
35
|
+
- Tests partial configuration (username only, email only)
|
|
36
|
+
- Tests whitespace handling and trimming
|
|
37
|
+
- Tests error scenarios when git commands fail
|
|
38
|
+
|
|
39
|
+
### 4. `git-fix-integration.test.js`
|
|
40
|
+
**Integration tests using real git repositories**
|
|
41
|
+
- Creates temporary git repositories for testing
|
|
42
|
+
- Tests actual git configuration changes
|
|
43
|
+
- Tests `.gitattributes` file creation and modification
|
|
44
|
+
- Tests real git config values (`core.autocrlf`, `core.eol`, etc.)
|
|
45
|
+
- Tests console output and error handling
|
|
46
|
+
- More realistic testing but slower than unit tests
|
|
47
|
+
|
|
48
|
+
### 5. `test-helpers.js`
|
|
49
|
+
**Test utility functions**
|
|
50
|
+
- `createTempGitRepo()` - Creates temporary git repositories for testing
|
|
51
|
+
- `cleanupTempDir()` - Cleans up test directories
|
|
52
|
+
- `getGitConfig()` - Reads actual git configuration values
|
|
53
|
+
- `gitAttributesContains()` - Checks .gitattributes file content
|
|
54
|
+
- Helper functions for mocking `process.argv`
|
|
55
|
+
|
|
56
|
+
## Running Tests
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Run all git-related tests
|
|
60
|
+
yarn test --testNamePattern="git"
|
|
61
|
+
|
|
62
|
+
# Run specific test files
|
|
63
|
+
yarn test git-fix.test.js
|
|
64
|
+
yarn test git-utils.test.js
|
|
65
|
+
yarn test git-user-config.test.js
|
|
66
|
+
yarn test git-fix-integration.test.js
|
|
67
|
+
|
|
68
|
+
# Run with coverage
|
|
69
|
+
yarn test:coverage
|
|
70
|
+
|
|
71
|
+
# Run in watch mode
|
|
72
|
+
yarn test:watch
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Test Coverage
|
|
76
|
+
|
|
77
|
+
The test suite covers:
|
|
78
|
+
- ✅ Command-line argument parsing
|
|
79
|
+
- ✅ Help system (`--help`, `-h`)
|
|
80
|
+
- ✅ All CLI options and combinations
|
|
81
|
+
- ✅ User configuration (CLI args + environment variables)
|
|
82
|
+
- ✅ Git repository detection
|
|
83
|
+
- ✅ Error handling and edge cases
|
|
84
|
+
- ✅ Console output and logging
|
|
85
|
+
- ✅ Real git configuration changes (integration tests)
|
|
86
|
+
- ✅ File system operations (.gitattributes creation)
|
|
87
|
+
|
|
88
|
+
## Test Structure
|
|
89
|
+
|
|
90
|
+
- **Unit tests** use extensive mocking to test logic in isolation
|
|
91
|
+
- **Integration tests** use real git repositories to test actual functionality
|
|
92
|
+
- **Helper functions** provide reusable utilities for test setup and cleanup
|
|
93
|
+
- All tests use Jest with proper setup/teardown for clean testing environment
|
|
94
|
+
|
|
95
|
+
## Notes
|
|
96
|
+
|
|
97
|
+
- Integration tests create temporary directories in the system temp folder
|
|
98
|
+
- All tests clean up after themselves (no leftover files or directories)
|
|
99
|
+
- Console output is mocked in tests to avoid cluttered test output
|
|
100
|
+
- Environment variables are properly reset between tests
|
|
101
|
+
- Tests work on both Windows and Unix-like systems
|
package/test/package.json
CHANGED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Test Project
|
|
2
|
+
|
|
3
|
+
This project is intended to be run separately from the parent project. To set up an isolated environment with Yarn, follow these steps:
|
|
4
|
+
|
|
5
|
+
## Steps
|
|
6
|
+
|
|
7
|
+
1. **Create an empty `yarn.lock` file:**
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
cd /d:/Repositories/binary-collections/test-project
|
|
11
|
+
type nul > yarn.lock
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
2. **Initialize a new Yarn project:**
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
yarn init -y
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
3. **Install dependencies as needed:**
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
yarn add <package-name>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
This ensures the `test-project` has its own dependency tree, separate from the parent project.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# A Git(Hub) Test Repository
|
|
2
|
+
|
|
3
|
+
Hey! This is my personal Git(Hub) Test Repository where I experiment with Git and GitHub.
|
|
4
|
+
|
|
5
|
+
If you are new to Git and GitHub and found this repository through Google: feel free to clone the repository and experiment with it! You will not be able to push back to the repository, as it is *my* repository and I cannot let everybody push to it. The right way to do it on GitHub is:
|
|
6
|
+
|
|
7
|
+
1. fork the repository in your own account,
|
|
8
|
+
2. make changes and push them in a branch of your own fork,
|
|
9
|
+
3. create a Pull Request in my repository.
|
|
10
|
+
|
|
11
|
+
I will get notified, will review the changes that you propose, and eventually will either merge the changes, or reject them. This *may* take some time as I am not actively monitoring nor maintaining this repository, as you can guess, but I try to be helpful ;)
|
|
12
|
+
|
|
13
|
+
> NOTE
|
|
14
|
+
> If you want your PR to have a chance to get merged, please propose additions or changes to neutral files such as text files or small images. If you propose changes to the GitHub workflow files, to `.gitignore`, etc. they will quite probably be rejected.
|
|
15
|
+
|
|
16
|
+
Don't expect to find anything meaningful nor useful in the repository. Also, I happen to force-push a reset of everything from time to time. This means that I reset all history, including changes that you may have submitted. In theory, noone ever does this to a repository. But hey, this is a *test* repository after all.
|
|
17
|
+
|
|
18
|
+
The rest of this README file is mostly random stuff.
|
|
19
|
+
|
|
20
|
+
Clone the repository with: `git clone https://github.com/zpqrtbnk/test-repo.git .`
|
|
21
|
+
|
|
22
|
+
We have test GitHUb pages (from the `gh-pages` branch) at: http://zpqrtbnk.github.io/test-repo/
|
|
23
|
+
|
|
24
|
+
We have an image in the README (markdown)
|
|
25
|
+

|
|
26
|
+
|
|
27
|
+
We have an image in the README (html)
|
|
28
|
+
<img src="./wtf.jpg" />
|
|
29
|
+
|
|
30
|
+
We have an image in the README (more html)
|
|
31
|
+
<p align="center" style="background:#000;padding:5px;color:#fff;font-size:150%;margin-bottom:64px">
|
|
32
|
+
<img src="./wtf.jpg" />
|
|
33
|
+
<span style="margin-left:48px;">wubble</span>
|
|
34
|
+
</p>
|
|
35
|
+
|