stx typecheck (and the editor plugin, which shares its buffer) reports errors on templates that render correctly. Audited across stx's own components (105 files) and a 620-file application, each item below is a whole class, not a one-off:
- Client declarations collide with scraped bridge names (166 in stx's components alone). With no
defineClientPayload, every server binding was declared asdeclare var x: anyin the client buffer, so a client block's ownconst code(CodeBlock),allowMultiple(Accordion), … became "Cannot redeclare block-scoped variable". The runtime bridge leaves a client-owned top-level name alone, so nothing collides at runtime. $booland$uidundeclared in server blocks (145). Both are engine bindings beside$props.@foreach(item in items)loop variables unbound (48). Only theitems as itemspelling was read; the runtime accepts both (parseLoopBinding).- Guards that narrow through a const alias are ignored.
const notFound = !event || …then…