Migrating from other tools
rev-dep overlaps with a range of existing JavaScript/TypeScript analysis tools. If you already use one of them, these guides show exactly how its features and config map onto rev-dep.
Why migrate​
- Performance. rev-dep is written in Go and runs every check in a single parallel pass, typically much faster than Node-based tools on large codebases.
- Consolidation. Most tools below do one thing - circular deps, or unused exports, or unused dependencies. rev-dep covers them in one config, so you can replace several tools with one.
- More capability. On top of the unused/graph checks, rev-dep adds architecture governance most of these tools lack: module boundaries, restricted imports, import conventions, and dev-dependencies-in-production.
Each guide is honest about what rev-dep does not replace (for example graph visualization, or member-level unused detection), so you can decide whether to migrate fully or run rev-dep alongside a tool for a feature it does not cover.
Guides​
| From | rev-dep replaces it for |
|---|---|
| knip | unused files, exports, dependencies, unlisted & unresolved imports |
| dependency-cruiser | forbidden-dependency rules, circular deps, orphan files |
| depcheck | unused & missing dependencies |
| madge | circular dependencies, orphan files |
| dpdm | circular dependencies |
| ts-prune | unused exports |
| ts-unused-exports | unused exports |
| unimported | unused files, unused & unresolved imports |
| skott | circular deps, third-party usage, orphan files |
| eslint-plugin-import | cycles, unused/unresolved/extraneous imports, restricted paths |
| good-fences | directory import boundaries |
| sheriff | module boundaries & dependency rules |
| npm-check | unused dependencies |
New to rev-dep? Start with the monorepo integration guide.