I'm getting results from mix xref graph
that, in some cases, seem to be empirically wrong.
e.g.
# lists 81 modules
mix xref graph --sink lib/some_module.ex --label compile --only-node
# recompiles 7 modules
touch lib/some_module.ex && mix compile --verbose
I've been spending a lot of time looking at the Mix.Tasks.Xref
docs/source - am I misunderstanding something or is there a possibly a bug?
Context: I'm working with a pretty nasty compilation dependency graph for a very large Phoenix app (modifying a file often triggers 500+ additional recompiles). I'm trying to find/analyze paths that contain transitive compile-time dependencies and then identify the biggest bang-for-buck edges that I can snip to make the graph a lot less connected. Running on Elixir v1.12.