mix exosphere.gen.lexicons (Exosphere v0.3.0)

Copy Markdown View Source

Generates Elixir modules from the lexicon JSON files vendored under priv/lexicons, for every supported source.

mix exosphere.gen.lexicons

Pass a source to scope generation to one namespace; each source writes to its own tree under lib/exosphere:

mix exosphere.gen.lexicons app.bsky          # → lib/exosphere/bsky/**
mix exosphere.gen.lexicons community.lexicon # → lib/exosphere/community/**
mix exosphere.gen.lexicons com.atproto       # → lib/exosphere/atproto/** (curated)

With --check, regenerates in memory and exits non-zero if any tracked generated file would change (used in CI to catch drift). The check only covers the selected source.

mix exosphere.gen.lexicons --check
mix exosphere.gen.lexicons --check community.lexicon

Generation is deterministic: the same vendored lexicons always produce the same files, so output can be reviewed with git diff.