Skip to content

Visualize the dependencies between modules in your Elixir applications

Notifications You must be signed in to change notification settings

kerryjj/module_dependency_visualizer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ModuleDependencyVisualizer

What is this?

I needed a way to generate a graph of module dependencies for Elixir applications for an upcoming talk I'm giving. This tool generates that structured data for me so I can investigate and make pretty graphs!

A module dependency, for this purpose, is any module that is included, used, or has a function called. You can check out the tests for a brief example that should clear things up.

Can/Should I use this?

Sure, why not! It's a very narrow library that I'm mostly have as open sourced so the code is available for inspection by people who see the talk I'm giving that will feature the data generated by this tool.

How can I use this?

If you really want to check out the dependency graph for your Elixir application, go ahead and clone this repo. Then, in run.exs you can insert the path to whatever files you want to analyze in the string there. Then run the app using mix run run.exs. You'll want to have Graphviz already installed on your machine if you want to see the pretty graph.

If you want to do really deep analysis of your graphs, you can use Gephi. The .gv files output by this program can easily be loaded into that program.

Also, I've only tested this on OSX, so Linux and Windows may have some funkiness.

Is it any good?

No, it most certainly is not. Tests are sparse, documentation is lacking, and the code itself has a ton of duplication. It is, however, a working application without any dependencies.

Will it be developed further?

No, it will not. If you're interested in developing this, feel free to fork this and take it in whichever direction you see fit! This fits my needs for now, and at the moment I'm too busy to commit to maintaining it.

About

Visualize the dependencies between modules in your Elixir applications

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%