
Product
Socket for Jira Is Now Available
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.
binary-collections
Advanced tools
A comprehensive toolkit of Node.js CLI utilities for streamlining development workflows. Includes tools for git operations, dependency management, build processes, automation, and more.
git clone -b master https://github.com/dimaslanjaka/bin bin
# Install locally
npm install binary-collections
# Install globally
npm install binary-collections -g
# Install from release archive
npm install binary-collections@https://github.com/dimaslanjaka/bin/raw/master/releases/bin.tgz
# Yarn berry
yarn dlx binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name>
# NPX
npx binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz <command-name>
Create .vscode/settings.json to add binary tools to your PATH:
{
"terminal.integrated.env.linux": {
"PATH": "${env:PATH}:${workspaceFolder}/node_modules/.bin:${workspaceFolder}/bin"
},
"terminal.integrated.env.windows": {
"PATH": "${env:PATH};${workspaceFolder}\\node_modules\\.bin;${workspaceFolder}\\bin"
},
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
},
"Cygwin": {
"path": "C:\\cygwin64\\bin\\bash.exe",
"args": ["--login", "-i"],
"env": {
"CHERE_INVOKING": "1"
}
}
},
"terminal.integrated.defaultProfile.windows": "Command Prompt"
}
| Category | Commands | Description |
|---|---|---|
| Git | git-purge, git-diff, git-fix, git-reduce-size | Git repository management and optimization |
| Submodules | submodule, submodule-install, submodule-remove, submodule-token | Git submodule operations |
| NPM Scripts | nrs, run-s, run-series, npm-run-series | Run npm scripts in series with pattern matching |
| Package Mgmt | yarn-reinstall, pkg-resolutions-updater, pkg-res-updater | Yarn/package resolutions management utilities |
| Node.js Dev | find-node-modules, find-nodemodules, dev, prod, empty | Node.js development helpers |
| Process Mgmt | kill-process, nodekill, javakill, del-ps | Process management and termination |
| File System | rmfind, rmpath, rmx, print-tree, dir-tree | File system operations |
| Cleanup | del-nodemodules, del-yarncaches, del-gradle | Cache and build directory cleanup |
| 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 |
The list of available binaries and utilities is auto-generated by the build script (build.mjs).
bin/, lib/, and other relevant folders.bin field in package.json to reflect all available executables.src/ folder.To update the binary list, run:
yarn run build
# or
node build.mjs
This scans the project and updates package.json with all available binaries. The list may change as files are added or removed.
See also:
Clean and optimize git repositories by pruning reflogs:
git-purge
Enhanced git diff functionality:
git-diff
Comprehensive Git configuration fixer for cross-platform development (replaces git-fix-encoding):
git-fix # Apply all fixes
git-fix --lf-only # Force LF line endings only
git-fix --permissions # Ignore file permissions only
git-fix --normalize # Normalize existing files only
git-fix --user # Configure Git user from environment
git-fix --user NAME EMAIL # Configure Git user with specific values
git-fix --user --update-remote # Also update remote URL to match user
git-fix --user NAME EMAIL --update-remote # Configure user and update remote URL
Features:
core.autocrlf = false)core.filemode = false).gitattributes with proper line ending rules--update-remote flag: Update remote URL to match the configured user (for HTTPS remotes)User Configuration:
GITHUB_USER, GITHUB_EMAIL--update-remote to update the remote URL with the configured usergit-fix --user "John Doe" "john@example.com" # Use CLI args
git-fix --user --update-remote # Use env vars and update remote
git-fix --user "Jane" "jane@example.com" --update-remote # CLI args and update remote
GITHUB_USER="Jane" GITHUB_EMAIL="jane@example.com" git-fix --user # Use env vars
Reduce git repository size by cleaning up history:
git-reduce-size
submodule - General submodule operationssubmodule-install - Install and setup submodulessubmodule-remove - Remove git submodules with interactive selectionsubmodule-token - Manage submodule tokensBinaries: nrs, run-s, run-series, npm-run-series
Run multiple npm scripts in series with pattern matching support.
| Flag | Description |
|---|---|
--yarn | Use yarn run <script-name> instead of npm |
--verbose, -v | Enable verbose output |
Execute all scripts matching the pattern namescript:**:
{
"name": "package-name",
"version": "0.0.0",
"private": true,
"scripts": {
"namescript:xx": "echo xx",
"namescript:xxx": "echo xxx",
"namescript:xxxx": "echo xxxx",
"namescript:xxxxx": "echo xxxxx",
"namescript": "nrs --yarn=true --verbose=true \"namescript:**\""
},
"license": "ISC"
}
Reinstall yarn packages with dependency type flags:
yarn-reinstall <packageName> [--dev|-D|--peer|-P|--optional|-O]
Manage package resolutions in package.json (aliases: pkg-resolutions-updater, pkg-res-updater):
pkg-resolutions-updater
pkg-res-updater
Find all node_modules directories in a project:
find-node-modules # Library function
find-node-modules-cli # CLI tool
find-nodemodules # Alias
dev - Development environment setupprod - Production environment setupempty - Empty utility toolKill processes by name or pattern:
kill-process # General process killer
nodekill # Kill Node.js processes
javakill # Kill Java processes (Windows)
del-ps # Kill processes by command name
rmfind - Find and remove filesrmpath - Remove from PATHrmx - Remove executable filesRemove node_modules directories recursively:
del-nodemodules # Primary command
del-node-modules # Alternative
clean-nodemodule # Legacy
clean-nodemodules # Legacy
Clear yarn cache directories:
del-yarncaches # Primary command
del-yarn-caches # Alternative
Delete gradle build folders:
del-gradle
If you encounter the following error:
fatal: 'origin/<branch>' is not a commit and a branch '<branch>' cannot be created from it
fatal: unable to checkout submodule '<folder>/<submodule>'
Solution: Delete .git/modules directory before running submodule-install.
echo "Initializing submodules..."
git submodule init
git submodule foreach "git submodule init"
echo "Syncing submodules..."
git submodule sync
git submodule foreach "git submodule sync"
echo "Updating submodules..."
npx --yes rimraf .git/modules
npx --yes binary-collections@https://raw.githubusercontent.com/dimaslanjaka/bin/master/releases/bin.tgz submodule-install
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the terms specified in the LICENSE file.
FAQs
Utility to clean any programming caches and more
The npm package binary-collections receives a total of 16 weekly downloads. As such, binary-collections popularity was classified as not popular.
We found that binary-collections demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.