Skip to content

Visualize the relationships between your namespaces and dependencies

Notifications You must be signed in to change notification settings

hephaistox/vizns

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vizns

Visualize the relationship between namespaces and their dependencies.

Usage

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 "fb2391a4af24246ac4e46f3a573970ba5b7c92de"}}
   :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

Output information

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)

Example

(Example sourced from camelot)

Navigation of Camelot (Click nodes to filter)

camelot example

About

Visualize the relationships between your namespaces and dependencies

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Clojure 100.0%