puacli
v2.0.0
Published
A powerful CLI tool to analyze used vs unused dependencies in Node.js projects with optional JSON output and SQLite logging.
Maintainers
Readme
PuaCLI
A powerful CLI tool to analyze used vs unused dependencies in Node.js projects with optional JSON output and SQLite logging.
Installation
npm
npm install -g puaclipnpm
pnpm add -g puaclibun
bun install -g puacliyarn
yarn global add puacliUsage
pua analyze <project-path> [--json] [--verbose] [--monorepo] [--db]
pua unused <project-path> [--json] [--verbose] [--monorepo]
pua suggest <project-path> [--json] [--verbose] [--monorepo]Commands
- analyze: Scan project for used vs unused dependencies
- unused: List only unused dependencies
- suggest: Show outdated or deprecated packages
Options
- --json: Output results in JSON format
- --verbose: Show detailed scanning progress
- --monorepo: Scan npm/yarn/pnpm workspaces
- --db: Persist analyze results to SQLite (requires sqlite3)
Examples
Analyze current directory:
pua analyze .List unused dependencies with verbose output:
pua unused ./my-project --verboseCheck for outdated packages in JSON format:
pua suggest . --jsonScan monorepo workspaces:
pua analyze . --monorepo --verboseSave results to SQLite:
pua analyze . --dbHow it works
- Zero-dependency CLI parser using Node.js built-ins
- Parses imports and requires with Babel parser
- Scans JS/TS files, ignoring
node_modules,dist, andbuild - Maps import specifiers to npm package names
- Compares against declared dependencies and devDependencies
- Suggests upgrades using npm registry metadata
Requirements
- Node.js 18+
- Cross-platform: Windows, macOS, Linux
- Network access required for
suggestcommand - Optional:
sqlite3for database logging
Development
git clone https://github.com/Clyders/puacli.git
cd puacli
npm install
npm run build
npm link
pua --helpLicense
GPL-3.0-or-later
