UNPKG

ghost-amt

Version:

๐Ÿ‘ป ghost-amt is a powerful and interactive CLI tool to detect and remove unused, bloated, or duplicate npm dependencies in your Node.js projects.

126 lines (81 loc) โ€ข 3.48 kB
# ๐Ÿ‘ป ghost-amt > Find and clean up unused npm dependencies in your Node.js projects โ€” quickly and safely. [![npm version](https://img.shields.io/npm/v/ghost-amt.svg)](https://www.npmjs.com/package/ghost-amt) [![Downloads](https://img.shields.io/npm/dm/ghost-amt.svg)](https://www.npmjs.com/package/ghost-amt) [![License](https://img.shields.io/npm/l/ghost-amt.svg)](https://github.com/your-username/ghost-amt/blob/main/LICENSE) --- ## ๐Ÿš€ Features - ๐Ÿ”Ž Detects **unused dependencies** and devDependencies in your project - โš ๏ธ Warns about **large packages** (>1MB) that might bloat your app - ๐Ÿค– Interactive CLI with colorful output and emojis - ๐Ÿงน Prompt to **uninstall unused packages** with confirmation - ๐Ÿ•’ Fast, zero-config scanning powered by [`depcheck`](https://github.com/depcheck/depcheck) - ๐Ÿ’ป Works with JavaScript and TypeScript projects --- ## ๐Ÿ“ฆ Installation Install globally to use anywhere: ```bash npm install -g ghost-amt ```` Or run without installing: ```bash npx ghost-amt ``` --- ## ๐Ÿง™โ€โ™‚๏ธ Usage Run `ghost-amt` inside your project root folder: ```bash ghost-amt ``` Youโ€™ll see an output like this: ``` ๐Ÿ‘ป Welcome to ghost-amt - Find and clean up unused npm dependencies ๐Ÿ” Scanning project for unused dependencies... โœ… Project scan completed! ๐Ÿ“Š Scan Results Summary: โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Type โ”‚ Package Name โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ Unused Dependency โ”‚ lodash โ”‚ โ”‚ Unused DevDependency โ”‚ jest โ”‚ โ”‚ Large Package (>1MB) โ”‚ puppeteer โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ๐Ÿงฎ Total: 2 unused packages, 1 large package ? Do you want to remove all 2 unused packages? (y/N) ``` --- ## โš™๏ธ How It Works 1. **Static code analysis:** Scans your codebase to detect which dependencies are actually imported or required. 2. **Package size detection:** Checks installed package sizes to identify potentially heavy dependencies. 3. **Interactive removal:** Prompts you to safely uninstall unused packages with your confirmation. --- ## โ— Limitations * May **miss dynamic imports or requires** (e.g., `require(variable)`). * Does **not modify your source code**; only cleans `package.json` and `node_modules`. * Some build tools or scripts may cause false positives. --- ## ๐Ÿ“– Advanced Usage ### Run in CI mode (non-interactive) ```bash ghost-amt --ci ``` ### Generate report without uninstall prompt ```bash ghost-amt --report-only ``` --- ## ๐Ÿค Contributing Contributions are very welcome! 1. Fork the repo 2. Create a feature branch (`git checkout -b feature-name`) 3. Commit your changes (`git commit -m "Add feature"`) 4. Push to your branch (`git push origin feature-name`) 5. Open a Pull Request --- ## ๐Ÿ“ License MIT ยฉ [Abdullah Al Mubin](https://github.com/AmtTawsik) --- ## ๐Ÿ‘ค Author **Abdullah Al Mubin** * [Website](https://abdullahalmubin.blog) * [LinkedIn](https://www.linkedin.com/in/abdullah-al-mubin-tawsik)