It started in 2019 as a ~200-line script to fix a personal problem: my disk was always full on my potato-puter because of the same directories. Seven years and 45 releases later, I've discovered that node_modules was only part of the problem. Every ecosystem leaves its own pile behind.
So 1.0 replaces the single `target` (node_modules by default) with profiles, which group multiple targets by ecosystem. The default is node (node_modules, .next, .nx, .angular, coverage...), and there are many build-in like Python, Rust or Unity available for use.
To detect certain environments with generic names such as “target”, we check for conditions such as whether there is a `pom.xml` file in the directory, or whether “.venv” contains a `pyvenv.cfg` file.
There are a lots of new changes (multi-select, filters, config file..), which I’ve described in my post: https://zaldih.com/en/post/npkill-1-0-0/
$ npx npkill
I’d really love to hear what you think!