binary-collections 2.0.9 → 2.0.10
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 +43 -0
- package/{bin → binaries}/clean-nodemodule +0 -0
- package/binaries/clean-nodemodule.cjs +43 -0
- package/binaries/clean-nodemodule.cmd +4 -0
- package/{bin → binaries}/clean-nodemodules +0 -0
- package/binaries/clean-nodemodules.cjs +43 -0
- package/binaries/clean-nodemodules.cmd +5 -0
- package/{bin → binaries}/dev +0 -0
- package/binaries/dev.cjs +43 -0
- package/{bin → binaries}/empty +0 -0
- package/binaries/empty.cjs +43 -0
- package/{bin → binaries}/git-reduce-size +0 -0
- package/binaries/git-reduce-size.cjs +43 -0
- package/binaries/javakill.cjs +43 -0
- package/{bin → binaries}/javakill.cmd +0 -0
- package/{bin → binaries}/kill-process +0 -0
- package/binaries/kill-process.cjs +43 -0
- package/binaries/nodekill.cjs +43 -0
- package/{bin → binaries}/nodekill.ps1 +0 -0
- package/{bin → binaries}/prod +0 -0
- package/binaries/prod.cjs +43 -0
- package/{bin → binaries}/rmfind +0 -0
- package/binaries/rmfind.cjs +43 -0
- package/{bin → binaries}/rmx +0 -0
- package/binaries/rmx.cjs +43 -0
- package/{bin → binaries}/submodule-token +0 -0
- package/binaries/submodule-token.cjs +43 -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 +452 -105
- package/lib/binary-collections.mjs +131 -84
- package/lib/changelog.cjs +3 -3
- package/lib/changelog.mjs +177 -171
- package/lib/chunk-4EWQC6GZ.mjs +382 -0
- package/lib/chunk-4ZI7BQKQ.mjs +381 -0
- package/lib/chunk-5J2BEPY5.mjs +83 -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-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-AGZYRDC2.mjs +323 -0
- package/lib/{chunk-VVEZVNIV.mjs → chunk-AI4CVPJ7.mjs} +6 -6
- package/lib/chunk-BDCHCWHD.mjs +136 -0
- package/lib/chunk-BEZKJ25G.mjs +140 -0
- package/lib/chunk-DI5MDPSN.mjs +386 -0
- package/lib/{chunk-ONIBBBQ3.mjs → chunk-E6FDDAOO.mjs} +4 -3
- package/lib/chunk-FKI7IEB5.mjs +172 -0
- package/lib/chunk-GJTGHXRA.mjs +356 -0
- package/lib/{chunk-YV7DO3YV.mjs → chunk-HLGOWBEO.mjs} +1 -1
- package/lib/chunk-HMRMTYZM.mjs +40 -0
- package/lib/chunk-HN52G2YL.mjs +305 -0
- package/lib/chunk-HO6GHCOB.mjs +385 -0
- package/lib/chunk-LEM5OMRP.mjs +384 -0
- package/lib/{chunk-YX5U7XDR.mjs → chunk-M3YIYRHT.mjs} +6 -5
- package/lib/chunk-O6SWBEOQ.mjs +81 -0
- package/lib/{chunk-JGR2NW6D.mjs → chunk-PDSXF5HY.mjs} +3 -3
- package/lib/{chunk-AASHBCRW.mjs → chunk-QQ4A6DLD.mjs} +8 -0
- package/lib/chunk-RCP7DHVY.mjs +190 -0
- package/lib/chunk-SBNDSKG5.mjs +136 -0
- package/lib/chunk-U6SO4QEV.mjs +320 -0
- package/lib/{chunk-APBWENF6.mjs → chunk-V3N3JEUF.mjs} +3 -3
- package/lib/chunk-XD6BJK6Q.mjs +351 -0
- package/lib/chunk-XVBFFVCJ.mjs +209 -0
- package/lib/chunk-YXSFGA2D.mjs +383 -0
- package/lib/clean-github-actions-caches.cjs +243 -148
- package/lib/clean-github-actions-caches.mjs +3 -2
- package/lib/del-gradle.cjs +2 -2
- package/lib/del-gradle.js +1 -1
- package/lib/del-gradle.mjs +2 -2
- package/lib/del-node-modules.cjs +2 -2
- package/lib/del-node-modules.js +1 -1
- package/lib/del-node-modules.mjs +2 -2
- package/lib/del-ps.cjs +29 -8
- package/lib/del-ps.js +2 -2
- package/lib/del-ps.mjs +7 -5
- package/lib/del-yarn-caches.cjs +26 -5
- 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 +1 -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 +548 -0
- package/lib/free-chatgpt.js +51 -0
- package/lib/free-chatgpt.mjs +50 -0
- package/lib/git/gitattributes.cjs +1 -1
- package/lib/git/{gitattributes.d.mts → gitattributes.d.cts} +5 -7
- package/lib/git/gitattributes.mjs +2 -2
- package/lib/git/line-endings.cjs +297 -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/user-config.cjs +266 -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 +651 -0
- package/lib/git-diff-cli.d.ts +1 -0
- package/lib/git-diff-cli.js +15 -0
- package/lib/git-diff-cli.mjs +16 -0
- package/lib/git-diff.cjs +657 -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 +685 -97
- package/lib/git-fix.mjs +14 -13
- package/lib/git-purge.cjs +3 -3
- 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/npm-run-series.cjs +3 -3
- package/lib/npm-run-series.mjs +42 -36
- package/lib/package-resolutions-updater.cjs +5 -5
- package/lib/package-resolutions-updater.mjs +266 -309
- package/lib/print-directory-tree.cjs +275 -210
- package/lib/print-directory-tree.mjs +2 -2
- 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 +1 -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 +262 -0
- package/lib/remove-module.d.mts +1 -0
- package/lib/remove-module.mjs +111 -0
- package/lib/rmpath.cjs +274 -0
- package/lib/rmpath.d.mts +3 -0
- package/lib/rmpath.mjs +108 -0
- package/lib/submodule-install.cjs +264 -86
- package/lib/submodule-install.mjs +51 -3
- package/lib/submodule-remove-cli.cjs +103 -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 +43 -0
- package/lib/submodule-remove.d.cts +2 -0
- package/lib/submodule-remove.mjs +6 -0
- package/lib/utils/chatgpt.cjs +383 -0
- package/lib/utils/chatgpt.d.ts +31 -0
- package/lib/utils/chatgpt.js +541 -0
- package/lib/utils/chatgpt.mjs +8 -0
- package/lib/{utils.cjs → utils/index.cjs} +1 -1
- package/lib/{utils.mjs → utils/index.mjs} +2 -2
- package/lib/yarn-reinstall.cjs +172 -38
- package/lib/yarn-reinstall.mjs +2 -2
- package/package.json +91 -71
- package/readme.md +43 -69
- package/releases/readme.md +36 -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/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.d.ts +0 -2
- 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 → npm-run-series.d.cts} +0 -0
- /package/lib/{utils.d.ts → utils/index.d.cts} +0 -0
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
# Binary Collections
|
|
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.
|
|
3
|
+
|
|
4
|
+
## Features
|
|
5
|
+
|
|
6
|
+
- 🧹 **Cleanup Tools**: Remove node_modules, yarn caches, gradle builds
|
|
7
|
+
- 🔄 **Git Utilities**: Submodule management, repository purging, diff tools
|
|
8
|
+
- 📦 **Build Tools**: NPM script runners, package management utilities
|
|
9
|
+
- ⚡ **Development Helpers**: Process management, environment setup tools
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
### Clone Repository
|
|
14
|
+
```bash
|
|
15
|
+
git clone -b master https://github.com/dimaslanjaka/bin bin
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### NPM Installation
|
|
19
|
+
```bash
|
|
20
|
+
# Install locally
|
|
21
|
+
npm install binary-collections
|
|
22
|
+
|
|
23
|
+
# Install globally
|
|
24
|
+
npm install binary-collections -g
|
|
25
|
+
|
|
26
|
+
# Install from release archive
|
|
27
|
+
npm install binary-collections@https://github.com/dimaslanjaka/bin/raw/master/releases/bin.tgz
|
|
28
|
+
```
|
|
29
|
+
|
|
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 binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## VS Code Setup
|
|
41
|
+
|
|
42
|
+
Create `https://github.com/dimaslanjaka/bin/blob/master/.vscode/settings.json` to add binary tools to your PATH:
|
|
43
|
+
|
|
44
|
+
```jsonc
|
|
45
|
+
{
|
|
46
|
+
"terminal.integrated.env.linux": {
|
|
47
|
+
"PATH": "${env:PATH}:${workspaceFolder}/node_modules/.bin:${workspaceFolder}/bin"
|
|
48
|
+
},
|
|
49
|
+
"terminal.integrated.env.windows": {
|
|
50
|
+
"PATH": "${env:PATH};${workspaceFolder}\\node_modules\\.bin;${workspaceFolder}\\bin"
|
|
51
|
+
},
|
|
52
|
+
"terminal.integrated.profiles.windows": {
|
|
53
|
+
"PowerShell": {
|
|
54
|
+
"source": "PowerShell",
|
|
55
|
+
"icon": "terminal-powershell"
|
|
56
|
+
},
|
|
57
|
+
"Command Prompt": {
|
|
58
|
+
"path": [
|
|
59
|
+
"${env:windir}\\Sysnative\\cmd.exe",
|
|
60
|
+
"${env:windir}\\System32\\cmd.exe"
|
|
61
|
+
],
|
|
62
|
+
"args": [],
|
|
63
|
+
"icon": "terminal-cmd"
|
|
64
|
+
},
|
|
65
|
+
"Git Bash": {
|
|
66
|
+
"source": "Git Bash"
|
|
67
|
+
},
|
|
68
|
+
"Cygwin": {
|
|
69
|
+
"path": "C:\\cygwin64\\bin\\bash.exe",
|
|
70
|
+
"args": ["--login", "-i"],
|
|
71
|
+
"env": {
|
|
72
|
+
"CHERE_INVOKING": "1"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"terminal.integrated.defaultProfile.windows": "Command Prompt"
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Available Tools
|
|
81
|
+
|
|
82
|
+
### Quick Reference
|
|
83
|
+
|
|
84
|
+
| Category | Commands | Description |
|
|
85
|
+
|------------------|-------------------------------------------------------------------------|--------------------------------------------------|
|
|
86
|
+
| **Git** | `git-purge`, `git-diff`, `git-fix`, `git-reduce-size` | Git repository management and optimization |
|
|
87
|
+
| **Submodules** | `submodule`, `submodule-install`, `submodule-remove`, `submodule-token` | Git submodule operations |
|
|
88
|
+
| **NPM Scripts** | `nrs`, `run-s`, `run-series`, `npm-run-series` | Run npm scripts in series with pattern matching |
|
|
89
|
+
| **Package Mgmt** | `yarn-reinstall`, `pkg-resolutions-updater`, `pkg-res-updater` | Yarn/package resolutions management utilities |
|
|
90
|
+
| **Node.js Dev** | `find-node-modules`, `find-nodemodules`, `dev`, `prod`, `empty` | Node.js development helpers |
|
|
91
|
+
| **Process Mgmt** | `kill-process`, `nodekill`, `javakill`, `del-ps` | Process management and termination |
|
|
92
|
+
| **File System** | `rmfind`, `rmpath`, `rmx`, `print-tree`, `dir-tree` | File system operations |
|
|
93
|
+
| **Cleanup** | `del-nodemodules`, `del-yarncaches`, `del-gradle` | Cache and build directory cleanup |
|
|
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 |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
#### Binary List Generation & Source Code
|
|
98
|
+
|
|
99
|
+
The list of available binaries and utilities is auto-generated by the build script ([`https://github.com/dimaslanjaka/bin/blob/master/build.mjs`](https://github.com/dimaslanjaka/bin/blob/master/build.mjs)).
|
|
100
|
+
- All CLI tools and binaries are collected from the `bin/`, `lib/`, and other relevant folders.
|
|
101
|
+
- The build process updates the `bin` field in `https://github.com/dimaslanjaka/bin/blob/master/package.json` to reflect all available executables.
|
|
102
|
+
- Source code for utilities is located in the `src/` folder.
|
|
103
|
+
|
|
104
|
+
To update the binary list, run:
|
|
105
|
+
```bash
|
|
106
|
+
yarn run build
|
|
107
|
+
# or
|
|
108
|
+
node build.mjs
|
|
109
|
+
```
|
|
110
|
+
This scans the project and updates `package.json` with all available binaries. The list may change as files are added or removed.
|
|
111
|
+
|
|
112
|
+
See also:
|
|
113
|
+
- [Binary executables](https://github.com/dimaslanjaka/bin/tree/master/bin)
|
|
114
|
+
- [Library modules](https://github.com/dimaslanjaka/bin/tree/master/lib)
|
|
115
|
+
- [Package configuration](https://github.com/dimaslanjaka/bin/blob/master/package.json)
|
|
116
|
+
|
|
117
|
+
### Git Tools
|
|
118
|
+
|
|
119
|
+
#### Git Repository Purge
|
|
120
|
+
Clean and optimize git repositories by pruning reflogs:
|
|
121
|
+
```bash
|
|
122
|
+
git-purge
|
|
123
|
+
```
|
|
124
|
+

|
|
125
|
+
|
|
126
|
+
#### Git Diff Utility
|
|
127
|
+
Enhanced git diff functionality:
|
|
128
|
+
```bash
|
|
129
|
+
git-diff
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
#### Git Fix Utility
|
|
133
|
+
Comprehensive Git configuration fixer for cross-platform development (replaces `git-fix-encoding`):
|
|
134
|
+
```bash
|
|
135
|
+
git-fix # Apply all fixes
|
|
136
|
+
git-fix --lf-only # Force LF line endings only
|
|
137
|
+
git-fix --permissions # Ignore file permissions only
|
|
138
|
+
git-fix --normalize # Normalize existing files only
|
|
139
|
+
git-fix --user # Configure Git user from environment
|
|
140
|
+
git-fix --user NAME EMAIL # Configure Git user with specific values
|
|
141
|
+
git-fix --user --update-remote # Also update remote URL to match user
|
|
142
|
+
git-fix --user NAME EMAIL --update-remote # Configure user and update remote URL
|
|
143
|
+
```
|
|
144
|
+
Features:
|
|
145
|
+
- Forces LF line endings (`core.autocrlf = false`)
|
|
146
|
+
- Ignores file permission changes (`core.filemode = false`)
|
|
147
|
+
- Sets pull strategy to false (prevents auto-rebase)
|
|
148
|
+
- Normalizes existing line endings
|
|
149
|
+
- Creates/updates `.gitattributes` with proper line ending rules
|
|
150
|
+
- Configures Git user from environment variables or CLI arguments
|
|
151
|
+
- **Non-interactive:** All configuration is now argument-driven; no interactive prompts
|
|
152
|
+
- `--update-remote` flag: Update remote URL to match the configured user (for HTTPS remotes)
|
|
153
|
+
|
|
154
|
+
User Configuration:
|
|
155
|
+
- Environment variables: `GITHUB_USER`, `GITHUB_EMAIL`
|
|
156
|
+
- CLI arguments take precedence over environment variables
|
|
157
|
+
- Use `--update-remote` to update the remote URL with the configured user
|
|
158
|
+
- Examples:
|
|
159
|
+
```bash
|
|
160
|
+
git-fix --user "John Doe" "john@example.com" # Use CLI args
|
|
161
|
+
git-fix --user --update-remote # Use env vars and update remote
|
|
162
|
+
git-fix --user "Jane" "jane@example.com" --update-remote # CLI args and update remote
|
|
163
|
+
GITHUB_USER="Jane" GITHUB_EMAIL="jane@example.com" git-fix --user # Use env vars
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
#### Git Repository Size Reducer
|
|
167
|
+
Reduce git repository size by cleaning up history:
|
|
168
|
+
```bash
|
|
169
|
+
git-reduce-size
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
#### Submodule Management
|
|
173
|
+
- **`submodule`** - General submodule operations
|
|
174
|
+
- **`submodule-install`** - Install and setup submodules
|
|
175
|
+
- **`submodule-remove`** - Remove git submodules with interactive selection
|
|
176
|
+
- **`submodule-token`** - Manage submodule tokens
|
|
177
|
+
|
|
178
|
+

|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
### NPM Script Runner
|
|
182
|
+
|
|
183
|
+
**Binaries**: `nrs`, `run-s`, `run-series`, `npm-run-series`
|
|
184
|
+
|
|
185
|
+
Run multiple npm scripts in series with pattern matching support.
|
|
186
|
+
|
|
187
|
+
#### Options
|
|
188
|
+
| Flag | Description |
|
|
189
|
+
|---------------------|---------------------------------------------|
|
|
190
|
+
| `--yarn` | Use `yarn run <script-name>` instead of npm |
|
|
191
|
+
| `--verbose`, `-v` | Enable verbose output |
|
|
192
|
+
|
|
193
|
+
#### Example
|
|
194
|
+
Execute all scripts matching the pattern `namescript:**`:
|
|
195
|
+
```json
|
|
196
|
+
{
|
|
197
|
+
"name": "package-name",
|
|
198
|
+
"version": "0.0.0",
|
|
199
|
+
"private": true,
|
|
200
|
+
"scripts": {
|
|
201
|
+
"namescript:xx": "echo xx",
|
|
202
|
+
"namescript:xxx": "echo xxx",
|
|
203
|
+
"namescript:xxxx": "echo xxxx",
|
|
204
|
+
"namescript:xxxxx": "echo xxxxx",
|
|
205
|
+
"namescript": "nrs --yarn=true --verbose=true \"namescript:**\""
|
|
206
|
+
},
|
|
207
|
+
"license": "ISC"
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Package Management Tools
|
|
212
|
+
|
|
213
|
+
#### Yarn Package Reinstaller
|
|
214
|
+
Reinstall yarn packages with dependency type flags:
|
|
215
|
+
```bash
|
|
216
|
+
yarn-reinstall <packageName> [--dev|-D|--peer|-P|--optional|-O]
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
#### Package Resolutions Manager
|
|
220
|
+
Manage package resolutions in package.json (aliases: `pkg-resolutions-updater`, `pkg-res-updater`):
|
|
221
|
+
```bash
|
|
222
|
+
pkg-resolutions-updater
|
|
223
|
+
pkg-res-updater
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### Node.js Development Tools
|
|
227
|
+
|
|
228
|
+
#### Node Modules Finder
|
|
229
|
+
Find all node_modules directories in a project:
|
|
230
|
+
```bash
|
|
231
|
+
find-node-modules # Library function
|
|
232
|
+
find-node-modules-cli # CLI tool
|
|
233
|
+
find-nodemodules # Alias
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
#### Development Environment Helpers
|
|
237
|
+
- **`dev`** - Development environment setup
|
|
238
|
+
- **`prod`** - Production environment setup
|
|
239
|
+
- **`empty`** - Empty utility tool
|
|
240
|
+
|
|
241
|
+
### Process Management Tools
|
|
242
|
+
|
|
243
|
+
#### Process Killers
|
|
244
|
+
Kill processes by name or pattern:
|
|
245
|
+
```bash
|
|
246
|
+
kill-process # General process killer
|
|
247
|
+
nodekill # Kill Node.js processes
|
|
248
|
+
javakill # Kill Java processes (Windows)
|
|
249
|
+
del-ps # Kill processes by command name
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
#### File System Tools
|
|
253
|
+
- **`rmfind`** - Find and remove files
|
|
254
|
+
- **`rmpath`** - Remove from PATH
|
|
255
|
+
- **`rmx`** - Remove executable files
|
|
256
|
+
|
|
257
|
+
### Cleanup Tools
|
|
258
|
+
|
|
259
|
+
#### GitHub Actions Cache Cleaner
|
|
260
|
+
[See full documentation](https://github.com/dimaslanjaka/bin/blob/master/docs-src/clean-github-actions-caches.md).
|
|
261
|
+
|
|
262
|
+
#### Node Modules Cleaner
|
|
263
|
+
Remove node_modules directories recursively:
|
|
264
|
+
```bash
|
|
265
|
+
del-nodemodules # Primary command
|
|
266
|
+
del-node-modules # Alternative
|
|
267
|
+
clean-nodemodule # Legacy
|
|
268
|
+
clean-nodemodules # Legacy
|
|
269
|
+
```
|
|
270
|
+

|
|
271
|
+
|
|
272
|
+
#### Yarn Cache Cleaner
|
|
273
|
+
Clear yarn cache directories:
|
|
274
|
+
```bash
|
|
275
|
+
del-yarncaches # Primary command
|
|
276
|
+
del-yarn-caches # Alternative
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
#### Gradle Build Cleaner
|
|
280
|
+
Delete gradle build folders:
|
|
281
|
+
```bash
|
|
282
|
+
del-gradle
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
#### Free ChatGPT automation tool
|
|
286
|
+
|
|
287
|
+
[See full documentation](https://github.com/dimaslanjaka/bin/blob/master/docs-src/free-chatgpt.md)
|
|
288
|
+
|
|
289
|
+
## Troubleshooting
|
|
290
|
+
|
|
291
|
+
### Submodule Installation Issues
|
|
292
|
+
If you encounter the following error:
|
|
293
|
+
```log
|
|
294
|
+
fatal: 'origin/<branch>' is not a commit and a branch '<branch>' cannot be created from it
|
|
295
|
+
fatal: unable to checkout submodule '<folder>/<submodule>'
|
|
296
|
+
```
|
|
297
|
+
**Solution**: Delete `.git/modules` directory before running `submodule-install`.
|
|
298
|
+
|
|
299
|
+
#### Complete Submodule Setup Example
|
|
300
|
+
```bash
|
|
301
|
+
echo "Initializing submodules..."
|
|
302
|
+
git submodule init
|
|
303
|
+
git submodule foreach "git submodule init"
|
|
304
|
+
|
|
305
|
+
echo "Syncing submodules..."
|
|
306
|
+
git submodule sync
|
|
307
|
+
git submodule foreach "git submodule sync"
|
|
308
|
+
|
|
309
|
+
echo "Updating submodules..."
|
|
310
|
+
npx --yes rimraf .git/modules
|
|
311
|
+
npx --yes binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz submodule-install
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
## Contributing
|
|
315
|
+
|
|
316
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
317
|
+
|
|
318
|
+
## License
|
|
319
|
+
|
|
320
|
+
This project is licensed under the terms specified in the LICENSE file.
|
package/bin/bash-dummy
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# put these on top of file
|
|
4
|
-
|
|
5
|
-
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix
|
|
6
|
-
|
|
7
|
-
# absolute path working directory
|
|
8
|
-
basecwd=${PWD}
|
|
9
|
-
# base script directory
|
|
10
|
-
basedir=`dirname "$0"`
|
|
11
|
-
# absolute path script directory
|
|
12
|
-
SCRIPT_DIR=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)
|
|
13
|
-
# get script path
|
|
14
|
-
SCRIPT=$(realpath "$0")
|
|
15
|
-
SCRIPTPATH=$(dirname "$SCRIPT")
|
|
16
|
-
|
|
17
|
-
# Detect Cygwin or MinGW
|
|
18
|
-
case "$(uname)" in
|
|
19
|
-
*CYGWIN*)
|
|
20
|
-
basedir=$(cygpath -w "$basedir")
|
|
21
|
-
# make cygwin bin as priority
|
|
22
|
-
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"
|
|
23
|
-
;;
|
|
24
|
-
*MINGW*)
|
|
25
|
-
# make mingw bin as priority
|
|
26
|
-
export PATH="/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"
|
|
27
|
-
;;
|
|
28
|
-
esac
|
|
29
|
-
|
|
30
|
-
# parse and export .env file (dotenv)
|
|
31
|
-
if [ -f ".env" ]; then
|
|
32
|
-
# Export the vars in .env into your shell:
|
|
33
|
-
export $(egrep -v '^#' .env | xargs)
|
|
34
|
-
fi
|
|
35
|
-
|
|
36
|
-
# write a function
|
|
37
|
-
fresh(){
|
|
38
|
-
# t stores $1 argument passed to fresh()
|
|
39
|
-
t=$1
|
|
40
|
-
echo "fresh(): \$0 is $0"
|
|
41
|
-
echo "fresh(): \$1 is $1"
|
|
42
|
-
echo "fresh(): \$t is $t"
|
|
43
|
-
echo "fresh(): total args passed to me $#"
|
|
44
|
-
echo "fresh(): all args (\$@) passed to me -\"$@\""
|
|
45
|
-
echo "fresh(): all args (\$*) passed to me -\"$*\""
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
# invoke the function with total 3 arguments
|
|
49
|
-
echo "**** calling fresh() with params ****"
|
|
50
|
-
fresh Tomato Onion Paneer
|
|
51
|
-
|
|
52
|
-
echo ""
|
|
53
|
-
|
|
54
|
-
# pass cli arguments to function params
|
|
55
|
-
echo "**** calling fresh() pass cli arguments into params ****"
|
|
56
|
-
fresh "$@"
|
package/bin/bash-dummy.cmd
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
@echo off
|
|
2
|
-
|
|
3
|
-
SETLOCAL enableExtensions enableDelayedExpansion
|
|
4
|
-
|
|
5
|
-
rem my malfunction keyboard 56^%
|
|
6
|
-
rem execute bash file with cygwin from batch script https://stackoverflow.com/a/43300782/6404439
|
|
7
|
-
|
|
8
|
-
set scriptDirPath=%~dp0
|
|
9
|
-
set terminalCwd=%CD%
|
|
10
|
-
set cygwinBinPath=c:\cygwin64\bin\
|
|
11
|
-
set minttyBin=%cygwinBinPath%mintty
|
|
12
|
-
set bashBin=%cygwinBinPath%bash
|
|
13
|
-
|
|
14
|
-
rem to inspect terminal output
|
|
15
|
-
rem c:\cygwin64\bin\mintty -h always /bin/bash -l /cygdrive/c/path/to/bash-script
|
|
16
|
-
rem run bash in the current console window
|
|
17
|
-
rem C:\cygwin64\bin\bash -l c:\path\to\your\script
|
|
18
|
-
rem run bash in new window (mintty)
|
|
19
|
-
rem C:\cygwin64\bin\mintty /bin/bash -l c:\path\to\your\script
|
|
20
|
-
|
|
21
|
-
rem %minttyBin% -h always /bin/bash -l %scriptDirPath%bash-dummy
|
|
22
|
-
|
|
23
|
-
%bashBin% -l %scriptDirPath%bash-dummy Hello World
|
|
24
|
-
|
|
25
|
-
ENDLOCAL
|
package/bin/dir-tree.cmd
DELETED
package/bin/git-diff
DELETED
package/bin/git-diff.cmd
DELETED
package/bin/git-fix
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# put these on top of file
|
|
4
|
-
|
|
5
|
-
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix
|
|
6
|
-
|
|
7
|
-
# absolute path working directory
|
|
8
|
-
basecwd=${PWD}
|
|
9
|
-
# base script directory
|
|
10
|
-
basedir=`dirname "$0"`
|
|
11
|
-
# absolute path script directory
|
|
12
|
-
SCRIPT_DIR=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)
|
|
13
|
-
# get script path
|
|
14
|
-
SCRIPT=$(realpath "$0")
|
|
15
|
-
SCRIPTPATH=$(dirname "$SCRIPT")
|
|
16
|
-
|
|
17
|
-
# Detect Cygwin or MinGW
|
|
18
|
-
case "$(uname)" in
|
|
19
|
-
*CYGWIN*)
|
|
20
|
-
basedir=$(cygpath -w "$basedir")
|
|
21
|
-
# make cygwin bin as priority
|
|
22
|
-
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"
|
|
23
|
-
;;
|
|
24
|
-
*MINGW*)
|
|
25
|
-
# make mingw bin as priority
|
|
26
|
-
export PATH="/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"
|
|
27
|
-
;;
|
|
28
|
-
esac
|
|
29
|
-
|
|
30
|
-
# parse and export .env file (dotenv)
|
|
31
|
-
if [ -f ".env" ]; then
|
|
32
|
-
# Export the vars in .env into your shell:
|
|
33
|
-
export $(egrep -v '^#' .env | xargs)
|
|
34
|
-
fi
|
|
35
|
-
|
|
36
|
-
node "$basedir/../lib/git-fix.cjs" "$@"
|
package/bin/git-fix.cmd
DELETED
package/bin/rmpath
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# put these on top of file
|
|
4
|
-
|
|
5
|
-
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix
|
|
6
|
-
|
|
7
|
-
# absolute path working directory
|
|
8
|
-
basecwd=${PWD}
|
|
9
|
-
# base script directory
|
|
10
|
-
basedir=`dirname "$0"`
|
|
11
|
-
# absolute path script directory
|
|
12
|
-
SCRIPT_DIR=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)
|
|
13
|
-
# get script path
|
|
14
|
-
SCRIPT=$(realpath "$0")
|
|
15
|
-
SCRIPTPATH=$(dirname "$SCRIPT")
|
|
16
|
-
|
|
17
|
-
# Detect Cygwin or MinGW
|
|
18
|
-
case "$(uname)" in
|
|
19
|
-
*CYGWIN*)
|
|
20
|
-
basedir=$(cygpath -w "$basedir")
|
|
21
|
-
# make cygwin bin as priority
|
|
22
|
-
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"
|
|
23
|
-
;;
|
|
24
|
-
*MINGW*)
|
|
25
|
-
# make mingw bin as priority
|
|
26
|
-
export PATH="/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"
|
|
27
|
-
;;
|
|
28
|
-
esac
|
|
29
|
-
|
|
30
|
-
# parse and export .env file (dotenv)
|
|
31
|
-
if [ -f ".env" ]; then
|
|
32
|
-
# Export the vars in .env into your shell:
|
|
33
|
-
export $(egrep -v '^#' .env | xargs)
|
|
34
|
-
fi
|
|
35
|
-
|
|
36
|
-
# fast huge folder deleter
|
|
37
|
-
|
|
38
|
-
if [ -z "$1" ]; then
|
|
39
|
-
echo "You need to provide a file or folder path"
|
|
40
|
-
exit
|
|
41
|
-
fi
|
|
42
|
-
|
|
43
|
-
# delete single file
|
|
44
|
-
if [ -f "$1" ]; then
|
|
45
|
-
rm -rf "$1"
|
|
46
|
-
exit
|
|
47
|
-
fi
|
|
48
|
-
|
|
49
|
-
if [ ! -d "$1" ]; then
|
|
50
|
-
echo "$1 not found"
|
|
51
|
-
exit
|
|
52
|
-
fi
|
|
53
|
-
|
|
54
|
-
vowels=( a i u e o A I U E O )
|
|
55
|
-
for letter in {{a..z},{A..Z}}; do
|
|
56
|
-
for vowel in "${vowels[@]}"; do
|
|
57
|
-
toBeDeleted=( "$1/.${letter}*" "$1/@${letter}*" "$1/${letter}*" "$1/@${letter}${vowel}*" "$1/.${letter}${vowel}*" "$1/${letter}${vowel}*" )
|
|
58
|
-
for fpath in "${toBeDeleted[@]}"; do
|
|
59
|
-
echo "deleting ${fpath}"
|
|
60
|
-
rm -rf $fpath or echo "cannot delete $fpath" &
|
|
61
|
-
done
|
|
62
|
-
done
|
|
63
|
-
done
|
|
64
|
-
|
|
65
|
-
wait
|
|
66
|
-
|
|
67
|
-
echo "cleaning $1"
|
|
68
|
-
rm -rf $1 &
|
|
69
|
-
|
|
70
|
-
wait
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# put these on top of file
|
|
4
|
-
|
|
5
|
-
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix
|
|
6
|
-
|
|
7
|
-
# absolute path working directory
|
|
8
|
-
basecwd=${PWD}
|
|
9
|
-
# base script directory
|
|
10
|
-
basedir=`dirname "$0"`
|
|
11
|
-
# absolute path script directory
|
|
12
|
-
SCRIPT_DIR=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)
|
|
13
|
-
# get script path
|
|
14
|
-
SCRIPT=$(realpath "$0")
|
|
15
|
-
SCRIPTPATH=$(dirname "$SCRIPT")
|
|
16
|
-
|
|
17
|
-
# Detect Cygwin or MinGW
|
|
18
|
-
case "$(uname)" in
|
|
19
|
-
*CYGWIN*)
|
|
20
|
-
basedir=$(cygpath -w "$basedir")
|
|
21
|
-
# make cygwin bin as priority
|
|
22
|
-
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"
|
|
23
|
-
;;
|
|
24
|
-
*MINGW*)
|
|
25
|
-
# make mingw bin as priority
|
|
26
|
-
export PATH="/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"
|
|
27
|
-
;;
|
|
28
|
-
esac
|
|
29
|
-
|
|
30
|
-
# parse and export .env file (dotenv)
|
|
31
|
-
if [ -f ".env" ]; then
|
|
32
|
-
# Export the vars in .env into your shell:
|
|
33
|
-
export $(egrep -v '^#' .env | xargs)
|
|
34
|
-
fi
|
|
35
|
-
|
|
36
|
-
# auto clone all submodules, prevent not-matched hash
|
|
37
|
-
# set ACCESS_TOKEN=github_personal_tokens
|
|
38
|
-
# usages: sh folder_this_repo/submodule-install
|
|
39
|
-
|
|
40
|
-
# set default root
|
|
41
|
-
export ROOT="$(git rev-parse --show-toplevel)"
|
|
42
|
-
|
|
43
|
-
while test $# -gt 0; do
|
|
44
|
-
case "$1" in
|
|
45
|
-
-h|--help)
|
|
46
|
-
echo "$package - attempt to install submodules"
|
|
47
|
-
echo " "
|
|
48
|
-
echo "$package [options] application [arguments]"
|
|
49
|
-
echo " "
|
|
50
|
-
echo "options:"
|
|
51
|
-
echo "-h, --help show brief help"
|
|
52
|
-
echo "-o, --output-dir=DIR specify a directory to install submodules"
|
|
53
|
-
exit 0
|
|
54
|
-
;;
|
|
55
|
-
-cwd)
|
|
56
|
-
shift
|
|
57
|
-
if test $# -gt 0; then
|
|
58
|
-
export ROOT=$1
|
|
59
|
-
else
|
|
60
|
-
echo "no output dir specified"
|
|
61
|
-
exit 1
|
|
62
|
-
fi
|
|
63
|
-
shift
|
|
64
|
-
;;
|
|
65
|
-
--cwd*)
|
|
66
|
-
export ROOT=`echo $1 | sed -e 's/^[^=]*=//g'`
|
|
67
|
-
shift
|
|
68
|
-
;;
|
|
69
|
-
*)
|
|
70
|
-
break
|
|
71
|
-
;;
|
|
72
|
-
esac
|
|
73
|
-
done
|
|
74
|
-
|
|
75
|
-
echo "installing submodules at $ROOT"
|
|
76
|
-
|
|
77
|
-
git -C "${REPO_PATH}" config -f .gitmodules --get-regexp '^submodule\..*\.path$' |
|
|
78
|
-
while read -r KEY MODULE_PATH
|
|
79
|
-
do
|
|
80
|
-
# relative module path from root
|
|
81
|
-
RELATIVE_MODULE_PATH="${ROOT}/${MODULE_PATH}"
|
|
82
|
-
# cd git root dir
|
|
83
|
-
cd ${ROOT}
|
|
84
|
-
# If the module's path exists, remove it.
|
|
85
|
-
# This is done b/c the module's path is currently
|
|
86
|
-
# not a valid git repo and adding the submodule will cause an error.
|
|
87
|
-
if [ -d "${RELATIVE_MODULE_PATH}" ]; then
|
|
88
|
-
echo "deleting ${RELATIVE_MODULE_PATH}"
|
|
89
|
-
rm -rf "${RELATIVE_MODULE_PATH}"
|
|
90
|
-
fi
|
|
91
|
-
|
|
92
|
-
NAME="$(echo "${KEY}" | sed 's/^submodule\.\(.*\)\.path$/\1/')"
|
|
93
|
-
|
|
94
|
-
url_key="$(echo "${KEY}" | sed 's/\.path$/.url/')"
|
|
95
|
-
branch_key="$(echo "${KEY}" | sed 's/\.path$/.branch/')"
|
|
96
|
-
|
|
97
|
-
URL="$(git config -f .gitmodules --get "${url_key}")"
|
|
98
|
-
BRANCH="$(git config -f .gitmodules --get "${branch_key}" || echo "master")"
|
|
99
|
-
|
|
100
|
-
git -C "${REPO_PATH}" submodule add --force -b "${BRANCH}" --name "${NAME}" "${URL}" "${MODULE_PATH}" || echo "cannot add submodule ${MODULE_PATH}"
|
|
101
|
-
|
|
102
|
-
repo=${URL#"https://github.com/"}
|
|
103
|
-
URL_WITH_TOKEN="https://${ACCESS_TOKEN}@github.com/${repo}"
|
|
104
|
-
|
|
105
|
-
echo "apply token for ${repo} at ${MODULE_PATH} branch ${BRANCH}"
|
|
106
|
-
GIT_MODULES="${RELATIVE_MODULE_PATH}/.gitmodules"
|
|
107
|
-
cd "${RELATIVE_MODULE_PATH}"
|
|
108
|
-
git remote set-url origin "${URL_WITH_TOKEN}"
|
|
109
|
-
git fetch --all
|
|
110
|
-
git pull origin "${BRANCH}" -X theirs
|
|
111
|
-
if [ -f "${GIT_MODULES}" ];
|
|
112
|
-
then
|
|
113
|
-
echo "${MODULE_PATH} has submodules"
|
|
114
|
-
sh "${SCRIPT}" -cwd ${RELATIVE_MODULE_PATH}
|
|
115
|
-
fi
|
|
116
|
-
done
|
|
117
|
-
|
|
118
|
-
git -C "${REPO_PATH}" submodule update --init --recursive
|