Visualize package dependencies in your Dart project

Build Status

Make sure you run pub get or pub upgrade in your target project directory.

Example

Here's an example of pubviz run on itself.

Installing

Activate pubviz.

$ pub global activate pubviz

Use

If you have configured your PATH correctly, you can run pubviz directly.

$ pubviz

Otherwise you can use the pub global command.

$ pub global run pubviz

Generate and open an html file for the package on the current path.

$ pubviz open

Should open your default browser to something like:

sample

$ pubviz --format=dot print /path/to/http_package

You should see output something like:

digraph G {
  node [fontname=Helvetica];
  edge [fontname=Helvetica, fontcolor=gray];

  http [label="http
0.9.2+3",fontsize=18,style=bold,shape=box,margin="0.25,0.15"];
  http -> path [label=">=0.9.0 <2.0.0",penwidth=2];
  http -> stack_trace [label=">=0.9.1 <0.10.0",penwidth=2];
  http -> unittest [label=">=0.9.0 <0.10.0",penwidth=2,style=dashed];

  path [label="path
1.0.0",shape=box,margin="0.25,0.15",style=bold];

  stack_trace [label="stack_trace
0.9.1",shape=box,margin="0.25,0.15",style=bold];
  stack_trace -> path [label=">=1.0.0-rc.1 <2.0.0"];

  unittest [label="unittest
0.9.3",style=bold];
  unittest -> stack_trace [label=">=0.9.0 <0.10.0",color=gray];
}

pubviz -? prints help

$ pubviz -?
Usage: pubviz [<args>] <command> [<package path>]

Commands:
  open   Populate a temporary file with the content and open it.
  print  Print the output to stdout.

Arguments:
  -f, --format=<format>
            [dot]               Generate a GraphViz dot file
            [html] (default)    Wrap the GraphViz dot format in an HTML template which renders it.

  -i, --ignore-packages         A comma seperated list of packages to exclude in the output.
  -o, --[no-]flag-outdated      Check pub.dartlang.org for lasted packages and flag those that are outdated.
  -?, --help                    Print this help content.

If <package path> is omitted, the current directory is used.

Libraries

dot
pubviz