rwnd
v0.0.0
Published
Rewind your dependency history. Analyze any GitHub repo and see how `node_modules`, `.venv`, `vendor`, or `target` directories have grown over time.
Downloads
43
Readme
rwnd
Rewind your dependency history. Analyze any GitHub repo and see how node_modules, .venv, vendor, or target directories have grown over time.

Features
- 6 Languages Supported: Node.js, Python, Go, Rust, Ruby, PHP
- ASCII Charts: Visualize bundle size growth over time in your terminal
- Smart Sampling: Automatically samples commits for large repos
- Fun Stats: "Your node_modules is equivalent to 75 floppy disks!"
- Blame View: See which commits caused the biggest size increases
Install
npm install -g rwndUsage
# Auto-detect language
rwnd facebook/react
# Specify language explicitly
rwnd pallets/flask --language python
rwnd rust-lang/rust -l rust
rwnd rails/rails -l ruby
# Limit commits analyzed
rwnd expressjs/express --commits 20Supported Languages
| Language | What's Measured | Detection |
|----------|-----------------|-----------|
| Node.js | node_modules/ | package.json |
| Python | .venv/ | requirements.txt, pyproject.toml, Pipfile |
| Go | Go module cache | go.mod |
| Rust | target/ + .cargo/ | Cargo.toml |
| Ruby | vendor/bundle/ | Gemfile |
| PHP | vendor/ | composer.json |
Example Output
Bundle Size Over Time
108.2 MB │ █
│ █
│ ██
93.9 MB │ ██
│███
79.6 MB │███
└───
2017 → 2024
Growth: +28.6 MB (+35.9%)
Summary
Current size: 108.2 MB
Starting size: 79.6 MB
Commits analyzed: 30
Current deps: 619 total (16 direct)
Your node_modules is equivalent to 75 floppy disks!
Heaviest Dependencies
1. typescript 49.8 MB
2. prettier 9.1 MB
3. rxjs 4.9 MB
Biggest Size Increases
1. +18.2 MB f5cc764 v4.2.1
2. +10.4 MB 42fd8d3 Add URL supportHow It Works
- Clones the repo (shallow, no checkout)
- Walks the commit history on main/master branch
- For each sampled commit:
- Checks out the commit
- Installs dependencies (npm/pip/cargo/etc.)
- Measures the dependency directory size
- Displays results as ASCII chart with stats
CLI Options
Options:
--commits, -c Max commits to analyze (default: 30)
--language, -l Force language: node, python, go, rust, ruby, php
--help Show helpDevelopment
git clone https://github.com/kylemclaren/rwnd
cd rwnd
npm install
npm run build
npm link
# Run locally
rwnd sindresorhus/is --commits 5Built With
- Ink - React for CLIs
- simple-git - Git commands in Node.js
License
MIT
