A TypeScript tool for analyzing and optimizing Node.js project dependencies. Detect unused packages, find duplicates, analyze bundle sizes, and clean up your node_modules.
- Unused Dependency Detection: Find packages that are no longer used
- Duplicate Package Detection: Identify multiple versions of the same package
- Size Analysis: Identify large packages affecting bundle size
- Monorepo Support: Analyze entire workspaces with a single command
- Auto-fix: Automatically remove unused dependencies
- Lock File Support: Works with npm, yarn, pnpm, and Bun
# Global installation
npm install -g @azwebmaster/dependency-optimizer
# Or use without installation
npx @azwebmaster/dependency-optimizer unused# Scan for unused dependencies
depoptimize unused
# Analyze package sizes
depoptimize size
# Find duplicate packages
depoptimize duplicates
# Check dev dependency placement
depoptimize devcheck
# Build dependency tree
depoptimize tree
# Show all available commands
depoptimize --help| Command | Description |
|---|---|
unused |
Find unused dependencies |
size |
Analyze package sizes |
duplicates |
Find duplicate packages |
devcheck |
Validate dev dependency placement |
tree |
Build dependency tree |
config |
Manage configuration |
examples |
Show usage examples |
- Command Documentation - Detailed command guides
- Contributing Guide - Development guidelines
- Changelog - Version history
import { scanDependencies, analyzeNodeModules } from '@azwebmaster/dependency-optimizer';
// Scan for unused dependencies
const results = await scanDependencies('./my-project');
// Analyze node_modules
const analysis = await analyzeNodeModules('./my-project');- npm:
package-lock.json - yarn:
yarn.lock(v1 and v2+) - pnpm:
pnpm-lock.yaml - Bun:
bun.lock
We welcome contributions! Please see our Contributing Guide for details.
MIT License - see LICENSE file for details.
Made with ❤️ by azwebmaster