Comprehensive DSL verification for Dala screen modules.
Validates user-defined screens against the component registry and reports warnings/errors for:
- Unknown component types
- Invalid prop names
- Missing required props
- Event handler props that are not atoms
- Invalid attribute types
- Missing handle_event/3 for declared event handlers
- Children placed inside leaf components
- Invalid variant values
- Deprecated prop usage
Summary
Functions
Format a list of warnings into a human-readable report.
Print warnings to the Mix shell with appropriate coloring.
Verify DSL from raw entity/attribute/handler data (used by compile-time hook).
Verify a single screen module's DSL definition.
Types
@type warning() :: %{ type: :error | :warning | :info, module: atom(), line: non_neg_integer(), message: String.t() }
Functions
Format a list of warnings into a human-readable report.
@spec print_warnings([warning()]) :: :ok
Print warnings to the Mix shell with appropriate coloring.
Verify DSL from raw entity/attribute/handler data (used by compile-time hook).
Verify a single screen module's DSL definition.
Returns a list of warnings/errors found.