Comparison & Migration
First of all, Knip owes a lot to the projects on this page that exist longer and they’ve all been inspirational in their own way. For best results, Knip has a vision embracing comprehensiveness which is larger in scope than any of the alternatives. So if any of those tools has the right scope for your requirements, then by all means, use what suits you best.
All tools have in common that they have less features and don’t support the concept of monorepos/workspaces. Feel free to send in projects that Knip does not handle better, I’m up for the challenge!
Migration
A migration consists of deleting the dependency and its configuration file and getting started with Knip. You should end up with less configuration.
Comparison
depcheck
Depcheck is a tool for analyzing the dependencies in a project to see: how each dependency is used, which dependencies are useless, and which dependencies are missing from package.json.
The project has plugins (specials), yet not as many as Knip has and I’d argue they’re not as advanced. It also supports compilers (parsers) for non-standard files.
The following commands are similar:
unimported
Find and fix dangling files and unused dependencies in your JavaScript projects.
unimported is fast and works well. It works in what Knip calls “production
mode” exclusively. If you’re fine with a little bit of configuration and don’t
want or need to deal with non-production items (such as devDependencies
and
test files), then this might work well for you.
The following commands are similar:
Project status: The project is archived and recommends Knip.
ts-prune
Find unused exports in a typescript project. 🛀
ts-prune aims to find potentially unused exports in your TypeScript project with zero configuration.
The following commands are similar:
Use knip --exports
to also include class and enum members.
Project status: The project is archived and recommends Knip.
ts-unused-exports
ts-unused-exports finds unused exported symbols in your Typescript project
The following commands are similar:
Use knip --exports
to also include class and enum members.
ts-remove-unused
Remove unused code from your TypeScript Project
ts-remove-unused removes unused exports, and works based on a single
tsconfig.json
file (includes
and excludes
) and requires no configuration.
It removes the export
keyword or the whole export declaration.
Related projects
Additional alternative and related projects include:
ISC License © 2024 Lars Kappert