Skip to main content

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​

Fromrev-dep replaces it for
knipunused files, exports, dependencies, unlisted & unresolved imports
dependency-cruiserforbidden-dependency rules, circular deps, orphan files
depcheckunused & missing dependencies
madgecircular dependencies, orphan files
dpdmcircular dependencies
ts-pruneunused exports
ts-unused-exportsunused exports
unimportedunused files, unused & unresolved imports
skottcircular deps, third-party usage, orphan files
eslint-plugin-importcycles, unused/unresolved/extraneous imports, restricted paths
good-fencesdirectory import boundaries
sheriffmodule boundaries & dependency rules
npm-checkunused dependencies

New to rev-dep? Start with the monorepo integration guide.