The elite CLI to calculate the real cost, weight, and health of your npm dependencies.
Ever wondered how much bloat you are actually shipping to your users? Not all dependencies are created equal. Some are lightweight and actively maintained, while others are massive, outdated, and silently killing your app's performance.
npm-weight scans your local package.json, bridges directly with the NPM Registry and Bundlephobia, and generates a visual dashboard of your project's health. It separates your client-side payload from your dev-tools, grades them with a strict Health Score, and even auto-updates outdated packages for you.
- 🧠 Contextual Health Scores: Automatically grades your packages (A, B, C, F) based on their GZIP size and age. It smartly forgives
devDependenciesfor being heavy, but strictly audits yourdependencies. - 🌐 Network Orchestration: Fetches real-time data from NPM and Bundlephobia concurrently to give you the exact physical weight of your code.
- 🔧 Interactive Auto-Fix: Detects outdated packages and interactively asks if you want to auto-update them to their latest versions using your native package manager.
- 🤖 CI/CD & GitHub PR Ready: Export pure JSON for your pipelines or raw Markdown tables to paste directly into your Pull Request comments.
- ⚡ Zero Bloat: Built with modern TypeScript and ESM. Fast, reliable, and strictly typed.
You can run it directly using your favorite package manager without installing it permanently:
# Using NPM
npx @elilands/npm-weight analyze
# Using PNPM
pnpm dlx @elilands/npm-weight analyze
# Using Yarn
yarn dlx @elilands/npm-weight analyzeWant to use it globally across all your projects?
npm install -g @elilands/npm-weightnpm-weight is designed to give you maximum insights with zero configuration. Open your terminal in any project folder and run:
This scans your project, fetches network data, and renders a beautiful terminal UI with actionable insights.
npx @elilands/npm-weight analyze
# Or use the short alias:
npx @elilands/npm-weight aWant to prove to your Tech Lead that your new dependency is lightweight? Use the --md flag to generate a clean Markdown table. Perfect for copying and pasting into GitHub Pull Requests.
npx @elilands/npm-weight a --md(Note: If using npm run locally during development, remember to pass the double dash: npm run dev -- a --md)
Building an automated CI/CD pipeline? Extract the raw analytical data in strict JSON format.
npx @elilands/npm-weight a --jsonFound a bug or have an idea to make this better? PRs are always welcome!
- Clone the repo.
- Run
npm install. - Make your changes in the
src/directory. - Run
npm run buildto compile the TypeScript. - Submit your PR!
MIT License. See package.json for details. Built for developers, by developers.