SvEx. Plugin. MixChanges
(SvEx v0.4.2)
Reads what a raw working project changed in mix.exs (SDD R1, D10).
Structural, not textual: a line diff cannot tell a new dependency from a
reflowed one, and D10 restricts a plugin's deps: to target-facing
dependencies, so each construct is read from the AST rather than from the
shape of the file.
Every parse is delegated to SvEx.Source.MixExs, so the capture side and the
apply side cannot disagree about what a deps list looks like. They did:
measured, the reader matched two of the four shapes mix accepts and the
writer matched one, and each reported success on the shapes it could not
handle.
Renamed from SvEx.Plugin.Deps. The question widened from "which
dependencies?" to "which dependencies, aliases and project keys?", and a
module called Deps answering all three would be a name that lies.
Summary
Functions
What meta_source declares that baseline_source does not.
Types
Functions
What meta_source declares that baseline_source does not.
Aliases and project keys whose VALUE changed are reported alongside new keys:
a plugin that rewrites setup: is contributing that rewrite, and it has no
representation if only additions count.