Warning
Still in beta. Do not use in production.
A small (~1.5kb) web framework written in JavaScript. Features:
- ๐ชถ Ultra-lightweight
- ๐ฆ Unopinionated
- โ TSX
- โ Type definitions
- โ Zero dependencies
- โ Zero throw expressions
- โ Zero setup
Here is the classic counter example:
import {insertToString, mount} from "aena";
import {State, get, setState} from "aena/state";
let counter = new State(0);
mount(document.body, (
<button onclick={() => setState(state, get(state) + 1)}>
Clicked: {insertToString(state)}
</button>
));
You can install Aena via NPM:
bun i aena
Huge thanks to SolidJS for the types because extracting the types from specifications is very tedious. I also thank React for inspiration for the quickstart guide.