UNPKG

packmate

Version:

Your smart and friendly assistant for dependency updates and cleanup.

196 lines (151 loc) β€’ 6.26 kB
<h1 align="center"> <br> <img src="https://github.com/ljlm0402/packmate/raw/images/logo.png" alt="Project Logo" width="800" /> <br> <br> PackMate <br> </h1> <h4 align="center">♻️ Your smart and friendly CLI assistant for dependency updates and cleanup</h4> <p align ="center"> <a href="https://nodei.co/npm/packmate" target="_blank"> <img src="https://nodei.co/npm/packmate.png" alt="npm Info" /> </a> </p> <p align="center"> <a href="http://npm.im/packmate" target="_blank"> <img src="https://img.shields.io/npm/v/packmate.svg" alt="npm Version" /> </a> <a href="http://npm.im/packmate" target="_blank"> <img src="https://img.shields.io/github/v/release/ljlm0402/packmate" alt="npm Release Version" /> </a> <a href="http://npm.im/packmate" target="_blank"> <img src="https://img.shields.io/npm/dm/packmate.svg" alt="npm Downloads" /> </a> <a href="http://npm.im/packmate" target="_blank"> <img src="https://img.shields.io/npm/l/packmate.svg" alt="npm Package License" /> </a> </p> <p align="center"> <a href="https://github.com/ljlm0402/packmate/stargazers" target="_blank"> <img src="https://img.shields.io/github/stars/ljlm0402/packmate" alt="github Stars" /> </a> <a href="https://github.com/ljlm0402/packmate/network/members" target="_blank"> <img src="https://img.shields.io/github/forks/ljlm0402/packmate" alt="github Forks" /> </a> <a href="https://github.com/ljlm0402/packmate/stargazers" target="_blank"> <img src="https://img.shields.io/github/contributors/ljlm0402/packmate" alt="github Contributors" /> </a> <a href="https://github.com/ljlm0402/packmate/issues" target="_blank"> <img src="https://img.shields.io/github/issues/ljlm0402/packmate" alt="github Issues" /> </a> </p> <br /> --- 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, Packmate helps you keep your project healthy and up-to-dateβ€”faster and safer than ever. ## πŸ€– Why Packmate? - Cleaner and more focused than most legacy dependency updaters. - Safer: latest packages cannot be selected by mistake. - Faster: only recommended version upgrades are suggested by default. - Supports monorepos and modern workspaces (pnpm, yarn, npm). ## πŸš€ Features - **Detects outdated dependencies** and suggests updates with recommended (major/minor) versions. - **Finds and removes unused packages** from your project. - **Detects declared but not installed packages** and helps install them easily. - **Protects up-to-date packages:** disables selection for already latest packages. - **Smart version suggestions**: Only shows the latest version for each major release. - **Modern CLI interface:** powered by [@clack/prompts](https://github.com/natemoo-re/clack). - **Works with npm, pnpm, and yarn** – auto-detects your package manager. ## πŸ’Ύ Installation ```sh npm install -g packmate # or pnpm add -g packmate # or yarn global add packmate ``` You can also run it instantly with: ```sh npx packmate ``` ## πŸ“ Usage From your project root, just run: ```sh packmate ``` **Typical Workflow Example:** ```sh β”Œ πŸ“¦ Packmate: Dependency Updates & Cleanup β”‚ β—† Select the packages you want to update/remove/install: β”‚ β—» globby 13.2.2 β†’ 14.1.0 [Update Available] β”‚ β—» precinct [Not Installed] β”‚ β—» chalk 4.1.2 [Unused] β”‚ β—» npm-check-updates 16.14.20 β†’ 18.0.1 [Update Available] β”‚ β—Ό @clack/prompts 0.11.0 [Latest] β”‚ β—Ό fs-extra 11.1.1 [Latest] β”” globby - choose a version to update (current: 13.2.2): ● 14.1.0 (major) [recommended] β—‹ 13.4.2 (minor) [recommended] β—‹ 13.2.3 (patch) ... precinct is not installed. Install now? > pnpm add precinct@latest chalk is unused. Remove now? > pnpm remove chalk npm-check-updates - choose a version to update (current: 16.14.20): ● 18.0.1 (major) [recommended] β—‹ 17.5.0 (minor) ... > pnpm add globby@14.1.0 > pnpm remove chalk > pnpm add precinct@latest > pnpm add npm-check-updates@18.0.1 βœ”οΈ Package update completed: globby@14.1.0 βœ”οΈ Package removal completed: chalk βœ”οΈ Package install completed: precinct@latest βœ”οΈ Package update completed: npm-check-updates@18.0.1 Packmate done! πŸ™Œ ``` ## βš™οΈ Requirements - Node.js v16 or later (recommended) - Supports npm, yarn, and pnpm - Works on Mac, Linux, and Windows ## πŸ”‘ CLI Options No extra options neededβ€”just run packmate in your project directory. All selections (update, remove, install) are interactive. ## πŸ§‘β€πŸ’» Contributing PRs and issues are welcome! - Fork the repo and submit pull requests. - Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit messages. - File bugs or suggestions via [GitHub Issues.](https://github.com/ljlm0402/packmate/issues) ## πŸ“‘ Recommended Commit Message ``` ✨ Add user profile edit feature - Implement profile image update UI/UX - Add API integration for profile update BREAKING CHANGE: Restructure profile page layout ``` | When | Commit Message | | :--------------------- | :--------------------- | | Add Feature | ✨ Add Feature | | Fix Bug | 🐞 Fix Bug | | Refactor Code | πŸ›  Refactor Code | | Install/Update Package | πŸ“¦ Install Package | | Remove Package | πŸ—‘οΈ Remove Package | | Fix/Update README | πŸ“š Fix Readme | | Update Documentation | πŸ“ Update Docs | | Update Version | 🌼 Update Version | | New Template | πŸŽ‰ New Template | | Improve Performance | ⚑ Improve Performance | | Add/Update Test | βœ… Add/Update Test | | Fix Lint/Format | 🎨 Fix Lint/Format | | Chore/Miscellaneous | πŸ”§ Chore | | Initial Commit | 🎈 Initial Commit | ## πŸ“„ License MIT Β© [AGUMON (ljlm0402)](mailto:ljlm0402@gmail.com) ## 🌎 Links - [GitHub](https://github.com/ljlm0402/packmate) - [npm](https://www.npmjs.com/package/packmate)