The thinnest possible layer between development and production for the modern web.
A js library for the web that places your control on a pedestal. It packs flexible SSR (Server-Side HTML Rendering), an awesome DOM interface, and elegant functional reactivity in a tiny code size.
Along with modern build tooling integration (vite), you're one step away from:
- JSX and MDX (markdown with JSX instead of HTML) for both HTML rendering and DOM element creation
- Instant HMR (Hot Module Reloading) for both server rendered HTML and client CSS/JS/TS
- Everything else vite provides - CSS modules, PostCSS, production builds, nearly 0 config, &c.
It looks like this, which is pretty epic:
const Counter = () => {
// A reactive value
const count = r(0)
const increment = () => count.value++
// Declarative UI without vdom! (and build tools are completely optional)
const counter =
<button class="counter" onclick={ increment }>
Click to increment: { count }
</button>
return counter
}
// Yes, all of these are vanilla DOM nodes!
document.body.append(
<main>
<h1>Bruh</h1>
<Counter />
</main>
)
npm init bruh
and pick the "vite" template
Right here - but it's not really complete. The best way to use this project is to just read the code, it's pretty short. If you have any questions, even without reading the code first, feel free to ask all of them in the discussions.