Skip to content

v0.3.0 - first public release

Latest

Choose a tag to compare

@Draginol Draginol released this 19 Apr 01:10
· 29 commits to main since this release

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).
  • kv single-string hint — kv "Label=Value" emits a targeted split suggestion instead of a generic error.
  • serialize reachable 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 on text / kv (bold / italic / muted, weight=, size=). Row alignment and fill columns.
  • Roundtrip serializer: source → AST → source is idempotent.

Changed

  • col positional width is strictly a pixel number or fill. col 50%: and col 1fr: now emit a clear parse error. Fluid sizing is expressed with col fill: or bare col:.
  • Public ColWidth type narrowed to unit: '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.