1.0.0 • Published 4 months ago
depcut v1.0.0
depcut
A CLI-based unused dependency remover.
How It Works
- Checks for
dependencies
ordevDependencies
objects insidepackage.json
. - Checks for global packages by using
npm ls -g
. - Check JS/TS files and
scripts
object inpackage.json
to ensure the dependencies are unused. - Prompts the user to remove unused dependencies.
Usage
Start off by running with npx
:
npx depcut
or manually installing:
npm install depcut
API Reference
getFiles(dir: string): string[]
Recursively retrieves JavaScript and TypeScript files from the given directory.
- Arguments:
dir
→ Type:string
→ The directory path to scan.- Returns: An array of file paths that match the supported extensions.
- Type: Utility function
Example usage:
const files = getFiles('./src');
console.log(files); // List of JS/TS files in the project
dependencyUsed(dependency: string): boolean
Checks if a dependency is imported in any project file.
- Arguments:
dependency
→ Type:string
→ The dependency name to check.- Returns:
true
if the dependency is found in the code, otherwisefalse
.- Type: Utility function
Example usage:
if (dependencyUsed('lodash')) {
console.log('lodash is used in the project');
}
scriptUsed(dependency: string): boolean
Checks if a dependency is used inside
package.json
scripts.
- Arguments:
dependency
→ Type:string
→ The dependency name to check.- Returns:
true
if the dependency is found in scripts, otherwisefalse
.- Type: Utility function
Example usage:
if (scriptUsed('nodemon')) {
console.log('nodemon is used in scripts');
}
getGlobal(): string[]
Retrieves a list of globally installed npm packages.
- Arguments:
None
- Returns: An array of globally installed package names.
- Type: Utility function
Example usage:
const globalPackages = getGlobal();
console.log(globalPackages); // List of globally installed packages
remove(dependencies: string[], global?: boolean): void
Uninstalls the given list of dependencies. If
global
istrue
, removes global packages.
- Arguments:
dependencies
→ Type:string[]
→ An array of dependency names to remove.global
(optional) → Type:boolean
→ Set totrue
to remove global packages.- Returns:
void
- Type: CLI function
Example usage:
remove(['lodash', 'chalk']); // Remove dependencies locally
remove(['typescript'], true); // Remove a global dependency
main(): void
Runs the main program, scans dependencies, and prompts the user for removal.
- Arguments:
None
- Returns:
void
- Type: Entry function
Example usage:
main(); // Starts the dependency cleanup process
License
This project is licensed under the MIT License. See the LICENSE file for details.
1.0.0
4 months ago