Make sure you run pub get
or pub upgrade
in your target project directory.
Here's an example of pubviz
run on itself.
Activate pubviz
.
$ dart pub global activate pubviz
If you have configured your PATH correctly, you can run pubviz
directly.
$ pubviz
Otherwise, you can use the pub global
command.
$ dart pub global run pubviz
$ pubviz open
Should open your default browser to something like:
$ 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];
}
GraphViz tool allows dot format to be converted to various types of outputs like PNG, PDF or SVG.
In order to export pubviz
data to PNG file you need to install GraphViz package on your machine (see detailed installation instructions).
On macOS:
brew install graphviz
On Windows:
winget install graphviz
Then you can save the pubviz
output to a file and convert it with dot
command to desired output type, e.g.:
pubviz --format=dot print > output.dot
dot -Tpdf output.dot -o output.pdf
The full list of possible output types is available on the GraphViz website.
$ 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 separated list of packages to exclude in the output.
-o, --[no-]flag-outdated Check pub.dev for lasted packages and flag those that are outdated.
-d, --direct-dependencies Include only direct dependencies.
-p, --production-dependencies Include only production (non-dev) dependencies.
-v, --version Print the version of pubviz and exit.
-?, --help Print this help content.
If <package path> is omitted, the current directory is used.