Errors without a code
Errors without a code in the Diagnostics reference guide.
These messages have no SHADOW_ code. The text is stable enough to search for.
| Message starts with | Where | Meaning and fix |
|---|---|---|
ShadowStore: the store is read-only |
useStore views |
You assigned to a store outside setStore((draft) => ...). Write through the setter. |
ShadowStore (...): a draft was used after its setStore() call returned |
setStore drafts |
A draft proxy was kept and written to later. Drafts are valid only inside the update function. |
ShadowStore...: the key "__proto__" cannot be used in a path |
setStore |
__proto__, constructor and prototype are reserved and never stored. |
addEventListener(): the handler must be a function |
addEventListener, compiled on: |
The handler is not a function, [fn, data] tuple or object with handleEvent. |
insert(): a value contains itself |
insert, JSX children |
An array that contains itself was inserted. |
ShadowJS Switch: children must be <Match> |
Switch |
Only Match elements are allowed directly inside Switch. |
ShadowJS Dynamic: invalid tag |
Dynamic |
The component string is not a plain tag name, or it is script. |
ShadowJS Show: stale accessor |
Show callback children |
The accessor was read after the branch was replaced. Read it only while the condition is truthy. |
renderId must be made of letters, digits, _ and - |
renderToString, renderToStringAsync, renderToStream |
The render id is written into markup, so it is restricted. |
ssr(): parts must have one more entry than there are holes |
ssr |
Compiler output or hand-written call has the wrong shape. |
deserialize(): ... |
deserialize |
The text is not output of serialize. |
ShadowJS head: ... |
useHead, Title, Meta, Link |
Invalid tag description: unsupported tag, event attribute, reserved attribute, children on a void tag. |