- Generate a project graph of the members and their dependencies
- Generate a PlantUML diagram from the project graph
- Add (some) filtering options
- Implement a simple CLI prototype
- Field and method support to member resolution
- Add filtering support for fields and methods (e.g. by visibility modifiers)
- Add namespacing support
- Type param support
- Provide more definite node typings for all interfaces (e.g.
Decorator.node
→ts.Decorator
) - Namespace grouping — see concept
- Use path mappings
- Use module (file) boundaries
- Define custom namespaces by folder
- Hotspot detection and visualization
- Use
ts.createProgram
andts.TypeChecker
to properly receive type information- This will involve a bit of refactoring of the currently static analysis of the source files
- More extensive and accurate type information resolution (advanced types, alias types, etc.)
- Integrate a lightweight template engine to allow for more flexible diagram generation
- Add support for custom templates and variables
- Different diagram renderer
- PlantUML
- Mermaid
- Graphviz!
- D2
- Different types of diagrams
- Class diagram
- Object diagram
- State diagram?
- Sequence diagram?
- Add documentation
- more usage examples
- Add configuration file support
- Publish to NPM
- Code cleanup
- Add tests
- Add CI/CD (GitHub Actions)
- README updates (e.g. diagrams)
- Publishing
- Testing