Visualize the relationship between namespaces and their dependencies.
Add vizns as an alias in your ~/.clojure/deps.edn so it’s available in any project:
{:aliases
{:user/vizns
{:deps {io.dominic/vizns {:git/url "https://github.com/SevereOverfl0w/vizns.git"
:sha "85b375763b038c33f2290b9383cde3eebcf6bc8d"}}
:main-opts ["-m" "io.dominic.vizns.core"]}}}
Run in your project
Produce a navigable folder of SVGs
$ clj -A:user/vizns navigate
Produce a deps-graph.dot file
$ clj -A:user/vizns
Tip
|
You can upload the .dot file to https://edotor.net/ to view without having graphviz installed. |
Produce a deps-graph image directly
$ clj -A:user/vizns single -o deps-graph.png -f png
$ clj -A:user/vizns single -o deps-graph.svg -f svg
View graph without saving
$ clj -A:user/vizns single --show
Dependencies can be colored 3 colors:
- Green
-
You’re doing the right thing, carry on.
- Red
-
You’re using this dependency, but you’re relying on it being brought in transitively. This means you’re relying on an implementation detail of a library. You should add this dependency to your deps.edn
- Grey
-
You’re not using this dependency (NOTE: There’s a lot of false positives here, especially around java)