node-bloat-scanner
v1.0.0
Published
Scan node_modules and rank packages by bloat (size) - find which dependencies are taking up the most disk space
Maintainers
Readme
Node Bloat Scanner
A Node.js CLI tool that scans your node_modules directory and ranks packages by their size (bloat), helping you identify which dependencies are taking up the most disk space.
Features
- 🔍 Scans all packages in
node_modules(including scoped packages) - 📊 Ranks packages by disk size (largest = most bloated)
- 📈 Shows file count, version, and formatted sizes
- 💾 Optional JSON export for further analysis
- ⚡ Fast recursive directory scanning
- 📦 Installable as npm package - use with
npx
Installation
As npm package (Recommended)
# Run directly with npx (no installation needed)
npx node-bloat-scanner
# Or install globally
npm install -g node-bloat-scanner
node-bloat-scannerLocal Development
# Clone or download the repository
npm install
# Run locally
npm start
# or
node scanner.jsUsage
Basic Usage
# Scan node_modules in current directory
npx node-bloat-scannerOptions
# Limit number of results shown
npx node-bloat-scanner --limit 20
# or
npx node-bloat-scanner -l 20
# Export results to JSON
npx node-bloat-scanner --json
# or
npx node-bloat-scanner -j
# Scan a specific path
npx node-bloat-scanner /path/to/project
# Show help
npx node-bloat-scanner --helpOutput Example
🔍 Scanning node_modules...
Found 245 items in node_modules
📊 Analyzing package sizes...
Processed: 245 packages...
✅ Scan complete!
====================================================================================================
📦 TOP 50 MOST BLOATED PACKAGES (by size)
====================================================================================================
Rank Package Name Size Files Version
----------------------------------------------------------------------------------------------------
1 webpack 45.2 MB 1,234 5.88.0
2 @types/node 12.5 MB 456 18.15.0
3 typescript 8.3 MB 234 5.0.0
...
====================================================================================================
📊 Summary:
Total packages scanned: 245
Total size: 156.7 MB
Average package size: 639.2 KB
Top 50 packages account for: 142.3 MB
====================================================================================================How It Works
- Scans the
node_modulesdirectory recursively - Calculates the total size of each package (excluding nested
node_modules) - Counts the number of files in each package
- Extracts package metadata from
package.json(name, version, description) - Ranks packages by size (largest first)
- Displays results in a formatted table
Notes
- The script skips nested
node_modulesdirectories to avoid double-counting - Scoped packages (e.g.,
@types/node) are handled correctly - Permission errors are handled gracefully
- The
.bindirectory is excluded from the scan
License
MIT
