Repository navigation
Wireloom's first public npm release.
Install: npm install wireloom
Rolls up the full v0.2 primitive set plus error-DX improvements aimed at AI staff and hand-writers.
Added
- Flexible indentation — 2-space or 4-space, detected on the first indented line and locked per file. Tabs still forbidden.
- "Did you mean?" suggestions on typos in primitives, attributes, flags, and enum values (weight / size / align / type).
kvsingle-string hint —kv "Label=Value"emits a targeted split suggestion instead of a generic error.serializereachable on the default export (wireloom.serialize(doc)).- Primitive set:
window,header,footer,panel,section,tabs/tab,row,col,list/item,slot,text,button,input,combo,slider,kv,image,icon,divider(20 total). - Two themes: default + dark (WCAG AA verified).
- Badges on
tab,section,button. Typography ontext/kv(bold/italic/muted,weight=,size=). Row alignment and fill columns. - Roundtrip serializer: source → AST → source is idempotent.
Changed
colpositional width is strictly a pixel number orfill.col 50%:andcol 1fr:now emit a clear parse error. Fluid sizing is expressed withcol fill:or barecol:.- Public
ColWidthtype narrowed tounit: 'px'so hand-built ASTs can't construct percent/fr widths the serializer would silently discard.
Zero runtime dependencies. Dual ESM/CJS. Full TypeScript types. 160 tests passing across lexer, parser, errors, layout, renderer, themes, roundtrip idempotence, and render performance.
Built for Clairvoyance.