sverweij / dependency-cruiser

Validate and visualize dependencies. Your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.
https://npmjs.com/dependency-cruiser
MIT License
5.15k stars 249 forks source link

Interested to plug dynamic code analysis into Dep. Cruiser #467

Closed slimee closed 3 years ago

slimee commented 3 years ago

Plug additional source of diagram: Add dynamic analysis results coming from a dependancy injection library.

I am working on a minimalist dependancy injection tool, and it can generate some json data reflecting an instance tree.

How complicated would it be to add this into new diagrams in Dep cruiser? Can the Dép cruiser diagramming features be reused for this?

An instance tree is just a tree, and leaf have name, type, and an optionnal key/value tags.

Regards

github-actions[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

github-actions[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

sverweij commented 3 years ago

Hi @slimee thanks for your interest!

sorry for my slow response time.

How complicated would it be to add this into new diagrams in Dep cruiser? Can the Dép cruiser diagramming features be reused for this?

That depends on what you'd expect of the result. Unless there's synergy in showing both dependencies and an instance tree in one diagram it might be easier to generate the diagrams without the help of dependency-cruiser.

The diagrams dependency-cruiser produces at this time aren't very complicated to generate. It's a 1:1 rendition in GraphViz' dot - a little language to describe graphs. The implementation in dependency-cruiser has grown some bells and whistles, but the basis is still quite unfancy. E.g. here's the handlebars template: src/report/dot/dot.template.hbs

github-actions[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.