In this section, we are going to put together everything that we have learned so far during this chapter to create a custom developer tool. We are going to write a tool that takes TypeScript source code as input and generates a unified modeling language (UML) class diagram. A class diagram describes the structure of a system by showing the system's classes, their attributes, methods, and the relationships among the objects.
A class diagram looks as follows:
We are going to use the TypeScript compiler API and ts-simple-ast to traverse the AST generated by the sample application included in the companion source code. We will then emit some code in a domain-specific language (DSL) known as yUML. Finally, we will post the yUML DSL to an online service to generate the diagram as an image. We are going to translate from TypeScript to yUML, which means...