bafolts / tplant

Typescript to plantuml
https://segmentationfaults.com/tplant/default.html
GNU General Public License v3.0
272 stars 35 forks source link

tplant

Typescript to UML (PlantUML)

Will convert a Typescript file to UML diagram. Following all inheritances.

Usage

Install

npm install --global tplant

Generate image file (svg or png)

tplant --input test/Playground/**/*.ts --output test/Playground/Playground.svg
tplant --input test/Playground/Classes/Greeter.ts --output test/Playground/Classes/Greeter.png

Internet connection is required

Generate puml file

tplant --input test/Playground/**/*.ts --output test/Playground/Playground.puml
tplant --input test/Playground/Classes/Greeter.ts --output test/Playground/Classes/Greeter.puml

Options

-i, --input

Define the path of the Typescript file

-o, --output

Define the path of the output file. If not defined, it'll output on the STDOUT

-p, --project

Compile a project given a valid configuration file.
The argument can be a file path to a valid JSON configuration file, or a directory path to a directory containing a tsconfig.json file.

-A, --associations

Show associations between classes with cardinalities
Example:
class Wheel {
    public size: number;
}
class Car {
    public wheel: Wheel[];
}
@startuml
class Wheel {
    +size: number
}
class Car {
    +wheel: Wheel
}
Car --> "*" Wheel
@enduml

-I, --only-interfaces

Only convert interfaces

-f, --format mermaid

By default it is plantuml If mermaid is specific, then the class diagram is generated for mermaidjs

--targetClass MyClass

If specified will generated the hierarchy class diagram of the specified class

Graphviz

For generating images may need to install graphviz or update to most recent version.

References

https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API