Tree-shakeable hyperscript runtime.
Human-readable UI behaviors from 5KB.
hyperfixi is a modular hyperscript runtime with 43 commands, tree-shakeable Vite builds, and ~85% compatibility with _hyperscript. Ship only the commands you use.
Ship only the commands you use. The Vite plugin generates optimal bundles automatically — from 5KB.
Optional htmx-like capabilities included — or pair with your existing htmx setup.
~85% compatible with _hyperscript. Migrate existing projects with minimal changes.
on click toggle .active on me
on click
set my.count to (my.count or 0) + 1
put 'Clicks: ' + my.count into me
on pointerdown
repeat until event pointerup
set rand to Math.random() * 360
transition *background-color
to `hsl($rand 100% 90%)`
over 250ms
end
| Bundle | Size | Commands | Best For |
|---|---|---|---|
hyperfixi-lite.js |
5 KB | 8 | Minimal interactions (toggle, add, remove) |
hyperfixi-lite-plus.js |
8 KB | 14 | More commands + aliases |
hyperfixi-hybrid-complete.js |
28 KB | 21 + blocks | Most projects (if/else, repeat, fetch) |
hyperfixi-hybrid-hx.js |
39 KB | 21 + htmx/fixi | htmx & fixi attribute compatibility |
hyperfixi-browser.js |
280 KB | 43 | Full features + parser |
All sizes are uncompressed. With Vite tree-shaking, you ship only the commands you actually use.
Send, receive, filter, queue, and debounce events with ease. Chain events together for complex interactions.
No promises, async/await, or callback hell. hyperfixi transparently handles asynchronous behavior.
~85% compatible with existing _hyperscript code. Migrate projects with minimal changes.
Only include the commands you use. The Vite plugin generates optimal bundles automatically.
22 tools for AI assistants: validation, pattern search, and code generation via @hyperfixi/mcp-server.
Need multilingual support? Add @lokascript/i18n for 24-language support. See LokaScript docs.