GithubHelp home page GithubHelp logo

node-angular-diagram's Introduction

dd-angular-graph

Very simple angular project file crawler.

Execute

  • install
    • npm i --save-dev dd-angular-graph
  • add script to package.json e.g.:
    • "show_graph": "dd-angular-graph --open-svg"
  • execute in terminal
    • npm run show_graph

Debugging

Clone repository and in VsCode open the launch.json and add the --sourcedir <DIR> argument for your Angular project /src folder then hit F5 in index.js. The file output.plantuml can then be used to generate a diagram e.g. at plantuml.com (keep in mind that the resulting diagram could be too big for PNG so try generating SVG instead).

Arguments

  • --sourcedir <DIR> optional if angular.json is in working dir else mandatory path to /src dir
  • --output <FILENAME> standard 'output', used for generating files i.e. output.plantuml
  • --download will try to download SVG diagram
  • --open-svg will try to open SVG diagram in Chrome without downloading

Issues & TODOs

The parsing code is very simple and doesn't account for:

  • modules importing other modules
  • different objects with same name
  • class inheritance
  • interfaces (will occur as external/unknown dependencies when encountered)

What For

Creates a plantuml code representation of the Angular project's source files by:

  • searching for all .ts files
  • extracting @Injectable, @Directive, @Component, @NgModule classes
    • extracting class constructor parameters as dependencies
  • generating plantuml by flagging dependencies as composition targets

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.