gabotechs / dep-tree

Tool for helping developers keep their code bases clean and decoupled. It allows visualising a code base complexity using a 3d force-directed graph of files and the dependencies between them.
https://github.com/gabotechs/dep-tree
MIT License
1.4k stars 35 forks source link

Support for Go codebase #78

Closed dolanor closed 3 weeks ago

dolanor commented 5 months ago

I love those kind of visualizations.

Do you plan support on Go codebase? Do you know if it could be somewhat trivial if somebody jumps in your codebase?

gabotechs commented 4 months ago

Even though I could use it myself, I'm not planning on doing it because of the technical complexity it would involve.

In Golang, dependencies between files are not explicitly declared, you can use symbols from any file without importing it as long as everything happens within same package, so resolving file dependencies would require a full parsing of the Golang syntax and evaluate from there.

Do you know if it could be somewhat trivial if somebody jumps in your codebase?

Making language implementations is designed to be simple, but I think Golang would be one of the hardest implementations, so it would not be a newcomer-friendly task definitely

Olshansk commented 4 months ago

I understand it's non trivial but +1 to this request!

gabotechs commented 3 weeks ago

Support for go was just added and it's available in the 0.20.2 version, feel free to try it out and give feedback!

remyleone commented 3 weeks ago

This version does not seem to be available through homebrew. I will try with python

gabotechs commented 3 weeks ago

It should be available through a homebrew tap (0.20.3 actually)

brew install gabotechs/taps/dep-tree

It will soon be present in the official homebrew repository, once https://github.com/Homebrew/homebrew-core/pull/174092 is merged