Skip to content

Latest commit

 

History

History
43 lines (41 loc) · 1.6 KB

ROADMAP.md

File metadata and controls

43 lines (41 loc) · 1.6 KB

Roadmap

Todos

  • 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.nodets.Decorator)
  • Namespace grouping — see concept
    • Use path mappings
    • Use module (file) boundaries
    • Define custom namespaces by folder
  • Hotspot detection and visualization
  • Use ts.createProgram and ts.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