Skip to content

v0.1.2

Latest

Choose a tag to compare

@foxbenjaminfox foxbenjaminfox released this 07 Sep 06:32

Fixed

  • The kept sandbox preserves empty directories. The incremental
    materialisation that the default kept sandbox uses mirrored files and
    symlinks only, so a directory with nothing in it never reached the sandbox —
    and a shallow git checkout under deps/ keeps .git/refs/heads and
    .git/refs/tags empty. git then no longer recognised the checkout and Mix
    reported every git dependency as a lock mismatch before the metamutant could
    compile; a freshly generated Phoenix 1.8 app (heroicons, daisyui) could
    not run Mutare at all.
  • Rendering no longer consults the target project's .formatter.exs.
    Sourceror reads locals_without_parens from it through Mix.Tasks.Format on
    every render — evaluating its import_deps and plugins inside Mutare's own
    process — and Mix could refuse the lookup mid-scan ("Unknown dependency
    :ecto_sql given to :import_deps"). Every render now pins the option
    (Mutare.AST.render_opts/1); a parsed call keeps the spelling its metadata
    records, and a node built without metadata renders with parentheses.
  • mix igniter.install mutare fetches the companion packages it adds. The
    companions are chosen from the project's own deps at run time, and Igniter
    writes a dep added that way to mix.exs without fetching it — so the
    generated .mutare.exs named modules of packages that were never fetched or
    locked. The installer now applies the mix.exs change and runs deps.get
    before writing .mutare.exs.