SvEx.Plugin (SvEx v0.4.2)

Reads and writes manifest.exs — a plugin's manifest (SDD 7.1).

Plain data: no module definition, and nothing that loads the manifest by requiring it as source — the MatchError trap 7.1 calls out in Fireside. SvEx.Source is the only reader, so a manifest that tries to execute code fails to decode rather than running.

Like SvEx.Manifest, this prose avoids the literal tokens SvEx.BoundaryGuard bans: the guard is a substring scan over the whole file, docs included, so naming those loaders the obvious way would make lib/ fail its own boundary test.

Summary

Functions

Reads a plugin manifest.

Writes a plugin manifest as deterministic bytes.

Functions

read!(path)

@spec read!(Path.t()) :: map()

Reads a plugin manifest.

write!(path, plugin)

@spec write!(Path.t(), map()) :: :ok

Writes a plugin manifest as deterministic bytes.

Byte stability is required by D8 so CI can assert that re-deriving reproduces the checked-in plugin.