|
1 | | -# PackMate |
| 1 | +# Packmate |
2 | 2 |
|
3 | | -**Your smart and friendly assistant for dependency updates and cleanup.** |
| 3 | +**Your smart and friendly CLI assistant for dependency updates and cleanup.** |
4 | 4 |
|
5 | | -PackMate combines the best of `npm-check` and `npm-check-updates` into a single, intuitive CLI tool. |
6 | | -It helps you update outdated dependencies, remove unused ones, and keep your project clean — all in an interactive and effortless way. |
| 5 | +[](https://www.npmjs.com/package/packmate) |
| 6 | +[](./LICENSE) |
7 | 7 |
|
8 | | -## Features |
| 8 | +--- |
9 | 9 |
|
10 | | -- 🔍 Check for outdated dependencies |
11 | | -- ♻️ Identify and remove unused packages |
12 | | -- 🧠 Smart interactive UI for safe updates |
13 | | -- ⚡ Works seamlessly with modern JavaScript and TypeScript projects |
| 10 | +Packmate is a modern CLI tool for managing, updating, and cleaning up your Node.js project dependencies. |
| 11 | +It supports **npm**, **pnpm**, and **yarn**. With an intuitive interactive UI, Packmate helps you keep your project healthy and up-to-date—faster and safer than ever. |
14 | 12 |
|
15 | | -## Installation |
| 13 | +## 🤖 Why Packmate? |
16 | 14 |
|
17 | | -```bash |
| 15 | +- Cleaner and more focused than most legacy dependency updaters. |
| 16 | +- Safer: latest packages cannot be selected by mistake. |
| 17 | +- Faster: only recommended version upgrades are suggested by default. |
| 18 | +- Supports monorepos and modern workspaces (pnpm, yarn, npm). |
| 19 | + |
| 20 | +## 🚀 Features |
| 21 | + |
| 22 | +- **Detects outdated dependencies** and suggests updates with recommended (major/minor) versions. |
| 23 | +- **Finds and removes unused packages** from your project. |
| 24 | +- **Detects declared but not installed packages** and helps install them easily. |
| 25 | +- **Protects up-to-date packages:** disables selection for already latest packages. |
| 26 | +- **Smart version suggestions**: Only shows the latest version for each major release. |
| 27 | +- **Modern CLI interface:** powered by [@clack/prompts](https://github.com/natemoo-re/clack). |
| 28 | +- **Works with npm, pnpm, and yarn** – auto-detects your package manager. |
| 29 | + |
| 30 | +## 💾 Installation |
| 31 | + |
| 32 | +```sh |
18 | 33 | npm install -g packmate |
| 34 | +# or |
| 35 | +pnpm add -g packmate |
| 36 | +# or |
| 37 | +yarn global add packmate |
| 38 | +``` |
| 39 | + |
| 40 | +You can also run it instantly with: |
| 41 | +```sh |
| 42 | +npx packmate |
| 43 | +``` |
| 44 | + |
| 45 | +## 📝 Usage |
| 46 | + |
| 47 | +From your project root, just run: |
| 48 | +```sh |
| 49 | +packmate |
| 50 | +``` |
| 51 | + |
| 52 | +**Typical Workflow Example:** |
| 53 | + |
| 54 | +```sh |
| 55 | +┌ 📦 Packmate: Dependency Updates & Cleanup |
| 56 | +│ |
| 57 | +◆ Select the packages you want to update/remove/install: |
| 58 | +│ ◻ globby 13.2.2 → 14.1.0 [Update Available] |
| 59 | +│ ◻ precinct [Not Installed] |
| 60 | +│ ◻ chalk 4.1.2 [Unused] |
| 61 | +│ ◻ npm-check-updates 16.14.20 → 18.0.1 [Update Available] |
| 62 | +│ ◼ @clack/prompts 0.11.0 [Latest] |
| 63 | +│ ◼ fs-extra 11.1.1 [Latest] |
| 64 | +└ |
| 65 | + |
| 66 | +globby - choose a version to update (current: 13.2.2): |
| 67 | + ● 14.1.0 (major) [recommended] |
| 68 | + ○ 13.4.2 (minor) [recommended] |
| 69 | + ○ 13.2.3 (patch) |
| 70 | + ... |
| 71 | + |
| 72 | +precinct is not installed. Install now? |
| 73 | +> pnpm add precinct@latest |
| 74 | + |
| 75 | +chalk is unused. Remove now? |
| 76 | +> pnpm remove chalk |
| 77 | + |
| 78 | +npm-check-updates - choose a version to update (current: 16.14.20): |
| 79 | + ● 18.0.1 (major) [recommended] |
| 80 | + ○ 17.5.0 (minor) |
| 81 | + ... |
| 82 | + |
| 83 | +> pnpm add globby@14.1.0 |
| 84 | +> pnpm remove chalk |
| 85 | +> pnpm add precinct@latest |
| 86 | +> pnpm add npm-check-updates@18.0.1 |
| 87 | + |
| 88 | +✔️ Package update completed: globby@14.1.0 |
| 89 | +✔️ Package removal completed: chalk |
| 90 | +✔️ Package install completed: precinct@latest |
| 91 | +✔️ Package update completed: npm-check-updates@18.0.1 |
| 92 | + |
| 93 | +Packmate done! 🙌 |
| 94 | +``` |
| 95 | + |
| 96 | +## ⚙️ Requirements |
| 97 | + |
| 98 | +- Node.js v16 or later (recommended) |
| 99 | +- Supports npm, yarn, and pnpm |
| 100 | +- Works on Mac, Linux, and Windows |
| 101 | + |
| 102 | +## 🔑 CLI Options |
| 103 | + |
| 104 | +No extra options needed—just run packmate in your project directory. |
| 105 | +All selections (update, remove, install) are interactive. |
| 106 | + |
| 107 | +## 🧑💻 Contributing |
| 108 | + |
| 109 | +PRs and issues are welcome! |
| 110 | +- Fork the repo and submit pull requests. |
| 111 | +- Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit messages. |
| 112 | +- File bugs or suggestions via [GitHub Issues.](https://github.com/ljlm0402/packmate/issues) |
| 113 | + |
| 114 | +## 📄 License |
| 115 | + |
| 116 | +MIT © [AGUMON (ljlm0402)](mailto:ljlm0402@gmail.com) |
| 117 | + |
| 118 | +## 🌎 Links |
| 119 | + |
| 120 | +- [GitHub](https://github.com/ljlm0402/packmate) |
| 121 | +- [npm](https://www.npmjs.com/package/packmate) |
0 commit comments