25 releases (13 stable)
1.3.1 | Mar 9, 2024 |
---|---|
1.2.6 | Dec 5, 2023 |
1.2.5 | Nov 16, 2023 |
1.2.4 | Jul 19, 2023 |
0.5.3 | May 24, 2023 |
#919 in Command line utilities
809 downloads per month
25KB
574 lines
Polykill
Lightweight utility for removing unwanted dependencies and build artifacts from local projects. Inspired by npkill.
Supported project types:
- Cargo
- Node
- Mix
- .NET Core
- Gradle
- Composer
- Misc. (see "Addional Information")
Installation
cargo install polykill
Usage
polykill [OPTIONS] [DIR]
Polykill will recursively search for projects in the provided directory and output a list of all projects found. If no directory is provided, the current directory will be searched.
When the search has completed, navigate the menu using the following controls:
Key Bind | Action |
---|---|
↓, ↑, ←, →, h, j, k, l | select project |
enter, del | remove artifacts |
esc, q | exit |
Removing artifacts involves removing the build/dependency directories associated with a project type.
Warning for Node projects: Some Node applications need their node_modules directory to work and deleting it may break them.
Options
Argument | Description |
---|---|
-v, --verbose | Verbose output |
-s, --skip-empty | Hide projects with zero possible disk savings |
--no-vcs | Include projects without version control (will slow down search) |
-u, --unsorted | Don't sort projects |
-h, --help | Print help |
-V, --version | Print version |
*supported version control systems are: git, svn, and mercurial
Additional Information
How projects are identified and which directories are used for dependencies and build artifacts:
Type | Identifier(s) | Directories |
---|---|---|
Node | package.json | node_modules |
Cargo | cargo.toml | target |
Mix | mix.exs | _build, deps |
.NET Core | .csproj | bin, obj |
Gradle | build.gradle(.kts) | build |
Composer | composer.json | vendor |
Misc. | bin, build, dist | bin, build, dist |
Dependencies
~2.5–9.5MB
~93K SLoC