dcdg 4.1.0 copy "dcdg: ^4.1.0" to clipboard
dcdg: ^4.1.0 copied to clipboard

A tool to automatically generate class diagrams (like UML) from a Dart package.

Build Status

Dart Class Diagram Generator #

A small command line utility to generate a class (UML or similar) diagram from a Dart package.

Examples #

Below is a UML diagram of the dcdg source code, created with dcdg. You can find the PlantUML source in the example/ directory.

Example UML Diagram

Installation #

Install from pub:

dart pub global activate dcdg

Install from clone:

dart pub global activate -s path .

Usage #

From inside a Dart package directory:

dart pub global run dcdg

This will dump a PlantUML file to stdout. You can save it to a file instead with the -o option.

If you'd like to create a Mermaid file instead, pass the -b option with mermaid as its argument:

dart pub global run dcdg -b mermaid

See --help for more options, including ways to filter what ends up in the output. You can find the help contents in USAGE.txt as well.

Examples #

There are test fixtures in test/fixtures/. Each Dart package in this directory contains various (fake) classes. Try running DCDG against these fixtures to familiarize yourself with how it works.

Contributing #

Pull requests are welcome! It is intended to be reasonably straightforward to add a new output format. Take a look at the DOT format implementation in lib/src/builders for an example.

If you have found a bug or have a feature request please open an issue.

Development #

Format code using the tool/format.sh script. It will have a non-zero exit code if the formatting changed. That's fine, it does that so it can be used in CI.

Run the full test suite (including unit and functional tests) with tool/check.sh.

If you change the user interface or add features you should run tool/docs.sh to regenerate documentation and other resources. This script requires PlantUML.

174
likes
130
points
1.35k
downloads

Publisher

unverified uploader

Weekly Downloads

A tool to automatically generate class diagrams (like UML) from a Dart package.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

analyzer, args, path

More

Packages that depend on dcdg