Add --min-cycle-label to help projects adapt to the more precise mix xref graph reports in Elixir v1.19. In previous versions, Elixir would break a large compilation cycle into several smaller ones, and therefore developers would check for --min-cycle-size on CI. However, the issue is not the size of the cycle (it has no implication in the amount of compiled files), but how many compile-time dependencies (aka compile labels) in a cycle. The new option allows developers to filter on the label parameter
Module
mix xref
23 changes across 11 versions
Changes by version
Respect the --label option on stats and cycles
Raise early if mix xref is used at the umbrella root
Support --group flag in mix xref graph
Do not emit already consolidated warnings during mix xref trace
Support multiple sinks and sources in mix xref graph
Add trace subcommand to print compilation dependencies between files
Add --fail-above option to mix xref
Add --label compile-connected to mix xref
Ensure args are passed to the underlying mix compile call
Do not crash when retrieving calls for modules in memory
Make the --label option for mix xref graph transitive by default and add --only-direct for only direct dependencies
Add --format cycles support for mix xref graph
Add support to mix xref graph for using --source and --sink at the same time
calls/0 is deprecated in favor of compiler tracer
The xref.exclude option has been moved to elixirc_options.no_warn_undefined as the xref pass has been moved into the compiler
Support --include-siblings in reports for umbrella support
Add mix xref graph --format stats
Add --only-nodes and --label filters to mix xref graph
Add mix xref deprecated that shows the callsite of deprecated functions
Take compile dependencies with higher priority than runtime ones when building a graph
Handle external files for xref callers and warnings
Provide "did you mean?" suggestions for mix xref