0.1.0-alpha.7

Diagnostics

Every error and warning carries a stable code and a link to its page here. The code and the URL are public API; the message text is not, and production builds omit it.

Code Cause
binding_in_comment An expression appears inside an HTML comment.
binding_in_raw_text An expression appears inside an element whose content is raw text.
binding_in_tag_position An expression appears where a tag or attribute name is expected.
binding_not_single A boolean attribute, property, or event binding has more than one expression or extra text.
button_without_name A <button> has no content and no aria-label, so it has no accessible name.
computed_cycle A computed value read itself, directly or through other computed values.
css_value_not_allowed A css literal received a value that is not a number or another css result.
each_items_function each() received a function as its items. It reads a signal or an array, so a function would render no rows.
each_key_duplicate Two items in an each() list produced the same key.
each_key_undefined The key function passed to each() returned undefined for an item.
effect_cycle An effect was triggered synchronously while it was already running.
effect_loop Effects kept re-triggering each other for more than 100 rounds in one batch.
event_handler_not_function An @event binding received something other than a function or an object with handleEvent.
frame_without_title An <iframe> has no title attribute, so what it embeds is not announced.
hydration_mismatch The server-rendered markup did not match the view, and the differing part was rendered again on the client.
image_without_alt An <img> in a template has no alt attribute, so assistive technology has nothing to read for it.
jsx_not_lowered A JSX expression reached the runtime, which means the lowering in @zerolith/vite did not run for this file.
lazy_module_not_split A module meant to load as a chunk of its own, a view declared with lazy() from @zerolith/router or a locale of a message index compiled by zerolith-i18n, is also imported statically, so the bundler put it in the importing chunk.
mount_component_uncalled render(), hydrate(), or renderToString() received a component that takes props, passed instead of called, so it would run without them.
mount_target_missing render or hydrate received a selector that matches no element in the document.
on_dispose_outside_scope onDispose() was called with no enclosing effect or scope to attach to.
package_version_mismatch A package released together with zerolith, such as @zerolith/vite, @zerolith/devtools, or the command line, met a zerolith of another version. They share the zerolith/internal entry, which can change with every version, so each requires the zerolith of its own version.
ref_not_assignable A ref binding received something other than a writable signal or a function.
script_in_template A template contains a script element.
signal_written_inside_computed A signal was written while a computed value was being evaluated.
template_frozen_read A .get() read is bound in a template, so the value was read once when the template was created and never updates; the Vite plugin reports it in development, since the runtime cannot tell a frozen read from a deliberate one.
template_not_prepared A template reached the runtime that the build's prepare pass never saw, in a bundle built without the scanner.
template_unclosed_tag A template ends inside a tag, attribute, or comment.
unrenderable_value A value of a type the renderer cannot display was bound as content.
unsafe_attribute_binding An attribute binding targets an attribute that runs script or parses HTML.
unsafe_property_binding A property binding targets a property that parses its value as HTML.
unsafe_url_blocked A URL attribute or property received a value with a scheme that can run script, and the attribute was removed.
when_condition_function when() received a function as its condition. A function is always truthy, so the first branch would always show.