Page
Library
Module
Module type
Parameter
Class
Class type
Source
Show the internal dependencies in your OCaml/Reason/Dune project.
Input: the root folder of your project
Output: a graph in the dot format
Example:
$ dune-deps | tred > deps.dot
$ dot -Tpng deps.dot -o deps.png
From opam:
$ opam update
$ opam install dune-deps
From the git repo:
$ make
$ make test
$ make install
For producing a 2D image of the graph, we rely on the dot
command from Graphviz.
Additionally, it is often desirable to remove excessive edges to make the graph more readable. We consider "excessive" an edge that can be removed without changing the reachability from a node to another. This transformation is called transitive reduction and is performed by tred
, normally installed as part of the Graphviz suite.
Dune-deps was initiated by Martin Jambon. It is distributed free of charge under the terms of a BSD license.
Software maintenance takes time, skill, and effort. Please contribute to open-source projects to the best of your ability. Talk to your employer about it today.