Your smart and friendly assistant for dependency updates and cleanup.
npm install packmate
ยท English ยท Korean
---
Packmate is a modern CLI tool for managing, updating, and cleaning up your Node.js project dependencies.
It supports npm, pnpm, and yarn. With an intuitive interactive UI and powerful performance optimizations, Packmate helps you keep your project healthy and up-to-dateโfaster and safer than ever.
- โก Performance: 6x faster with 3-level caching system (memory + disk + network)
- ๐ฏ Accuracy: 90%+ unused package detection with dev tool intelligence
- ๐ก๏ธ Safety: Smart fallback for package managers, unused packages excluded from updates
- ๐จ Clarity: Grouped UI sessions (Patch/Minor/Major) with color-coded updates
- ๐ง Flexibility: Full configuration support via packmate.config.json
- ๐ Modern: Clean, professional English interface with intuitive workflows
import('module')try-catch, if blocks``sh`
npm install -g packmateor
pnpm add -g packmateor
yarn global add packmate
You can also run it instantly with:
`sh`
npx packmate
From your project root, just run:
`sh`
packmate
Typical Workflow Example:
`sh
โ ๐ฆ Packmate: Dependency Updates & Cleanup
โ
โ Info โโโโโโโโโโโโโโโโโโฎ
โ Package Manager: npm โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ
Progress |โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ| 17/17 (100%)
โ โ
Found 3 packages with available updates
โ โ
Unused package analysis complete
โ โ
Found 0 not installed packages
๐ Analysis Results:
Updates available: 3
Unused: 1
Not installed: 0
Up-to-date: 13
๐ถ Major Updates (3)
โ ๏ธ Breaking changes possible - Review carefully
โ
โ Select major updates (caution required):
โ โผ globby 13.2.2 โ 15.0.0 [MAJOR]
โ โป p-retry 6.2.1 โ 7.1.0 [MAJOR]
โ โป precinct 10.0.1 โ 12.2.0 [MAJOR]
โ
โ ๏ธ Proceed with 1 major update(s)? Breaking changes may be included.
โ Yes
โ
๐๏ธ Unused Packages (High Confidence: 1)
Safe to remove
โ
โ Select packages to remove:
โ none
โ
โ Show already up-to-date packages (13)?
โ No
โ
โ Actions โโโโโโโโโโโโโโโโโโโโฎ
โ ๐ Actions to execute: โ
โ - update: globby@15.0.0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
โ
> npm install globby@15.0.0
โ๏ธ Package update completed: globby@15.0.0
โ
Complete:
Updated: 1
Removed: 0
Installed: 0
โ
โ Packmate complete! ๐
`
- Node.js v16 or later (recommended v18+)
- Supports npm, yarn, and pnpm
- Works on Mac, Linux, and Windows
No extra options neededโjust run packmate in your project directory.
All selections (update, remove, install) are interactive.
Packmate supports configuration via packmate.config.json or the packmate field in your package.json.
`json`
{
"ignorePatterns": ["@types/", "eslint-"],
"analysisMode": {
"unused": "moderate",
"devDeps": true
},
"ui": {
"groupSessions": true,
"colorScheme": "auto",
"defaultChecked": {
"updateAvailable": true,
"unused": false,
"notInstalled": true,
"latest": false
}
},
"detection": {
"dynamicImport": true,
"conditionalRequire": true,
"ignoreUnused": [
"eslint",
"prettier",
"jest",
"webpack"
]
}
}
- ignorePatterns: Array of glob patterns to ignore packages (e.g., ["@types/*"])"conservative"
- analysisMode.unused: Detection mode - | "moderate" | "aggressive"
- analysisMode.devDeps: Whether to analyze devDependencies separately
- ui.groupSessions: Enable grouped UI sessions (Patch/Minor/Major)
- ui.defaultChecked: Default selection states for each package type
- detection.dynamicImport: Enable dynamic import detection
- detection.conditionalRequire: Enable conditional require detection
- detection.ignoreUnused: List of packages to always ignore in unused detection
Packmate automatically caches registry responses for faster subsequent runs. Clear cache if needed:
`bashWindows
del /q %TEMP%\packmate-cache\*
Cache location:
- Windows:
C:\Users\
- Linux/Mac: /tmp/packmate-cache`Contributions are always welcome! Please feel free to open an issue or submit a pull request.
---
Made with โค๏ธ by AGUMON ๐ฆ