aena
TypeScript icon, indicating that this package has built-in type declarations

0.15.7 • Public • Published

Aena

[!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>
));

Installation

You can install Aena via NPM:

bun i aena

Thanks

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.

Package Sidebar

Install

npm i aena

Weekly Downloads

23

Version

0.15.7

License

ISC

Unpacked Size

224 kB

Total Files

10

Last publish

Collaborators

  • trombecher