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
Markdown
# ๐ป ghost-amt
> Find and clean up unused npm dependencies in your Node.js projects โ quickly and safely.
[](https://www.npmjs.com/package/ghost-amt)
[](https://www.npmjs.com/package/ghost-amt)
[](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)