mix exosphere.lint.lexicons (Exosphere v0.4.0)

Copy Markdown View Source

Lints lexicon JSON documents against the lexicon schema rules.

Errors come from the specification itself (Exosphere.Lexicon.Parser node checks plus Exosphere.Lexicon.Schema.validate_document/1: lexicon version, NSID id, non-empty defs, single primary definition, record defs with a key, and refs never targeting refs/unions/tokens or unresolvable local defs).

Warnings are style-guide suggestions that do not block: definitions and record properties without descriptions.

mix exosphere.lint.lexicons                     # priv/lexicons/**
mix exosphere.lint.lexicons path/to/lexicon.json
mix exosphere.lint.lexicons path/to/dir

Exits non-zero when any file has errors. --strict also fails on warnings.