https://github.com/severeoverfl0w/vizns
Visualize the relationships between your namespaces and dependencies
https://github.com/severeoverfl0w/vizns
clojure
Last synced: 2 months ago
JSON representation
Visualize the relationships between your namespaces and dependencies
- Host: GitHub
- URL: https://github.com/severeoverfl0w/vizns
- Owner: SevereOverfl0w
- Created: 2020-02-13T17:08:57.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-31T19:48:44.000Z (over 1 year ago)
- Last Synced: 2025-02-27T16:19:49.581Z (3 months ago)
- Topics: clojure
- Language: Clojure
- Size: 74.2 KB
- Stars: 67
- Watchers: 6
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.adoc
Awesome Lists containing this project
README
= 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:
[source,clojure]
----
{: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
[source,bash]
.Produce a navigable folder of SVGs
----
$ clj -A:user/vizns navigate
----[source,bash]
.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.
[source,bash]
.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
----[source,bash]
.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 link:https://gitlab.com/camelot-project/camelot[camelot])
link:https://dominic.io/vizns/camelot/root.svg[Navigation of Camelot] (Click nodes to filter)
image::camelot-example.svg[]