Expand description
Stable, machine-readable diagnostic codes.
Each constant is a permanent identifier for one class of authoring mistake.
The code is rendered alongside every diagnostic and emitted as a structured
field by webui build --format json, so editors, CI, and AI assistants can
map an error to a deterministic fix or docs page regardless of the
human-readable wording. Treat these as a stable API surface — rename only
with a deliberate, documented migration.
Constants§
- EXCESSIVE_
NESTING - Template nesting exceeds the parser’s depth limit.
- INVALID_
CSS - A
<style>block contains malformed CSS. - INVALID_
EVENT_ HANDLER - An
@eventhandler value is not a valid{handler()}expression. - INVALID_
FOR_ EACH <for each>value is not of the formitem in collection.- INVALID_
FOR_ IDENTIFIER <for each>item or collection name uses disallowed characters.- INVALID_
IF_ CONDITION <if condition>value is not a parseable expression.- INVALID_
W_ REF - A
w-refbinding is missing its required{braces}. - MALFORMED_
HTML_ TAG - An HTML tag could not be parsed (missing
>, stray<, …). - MISSING_
FOR_ EACH <for>element is missing its requiredeachattribute.- MISSING_
IF_ CONDITION <if>element is missing its requiredconditionattribute.- MISSING_
THEME_ TOKEN - A CSS token required by parser output is missing from the configured theme.
- RECURSIVE_
TEMPLATE - A template references itself (directly or transitively) at build time.
- SCRIPTLESS_
EVENT_ HANDLER - A scriptless HTML component contains event bindings and needs authored JS.
- UNCLOSED_
HTML_ TAG - An HTML element is missing its closing tag.
- UNEXPECTED_
CLOSING_ TAG - A closing tag has no matching opening tag.
- UNKNOWN_
COMPONENT - A component tag has no matching registered component.
- UNTERMINATED_
HTML_ COMMENT - An HTML comment was opened but never closed with
-->. - UNTERMINATED_
HTML_ DECLARATION - An HTML declaration was opened but never closed with
>. - UNTHEMED_
TOKEN - A CSS token used only with a literal
var()fallback and absent from every theme — non-fatal, but usually a typo. Severity: warning.