Typed .meeko components,
from the server to the browser.
A component engine for TypeScript and a full-stack framework. One file gives the server HTML and the reactivity that updates it, without a virtual DOM.
<script lang="ts"> import { computed, signal } from '@meekojs/meeko' /** Propiedades públicas del contador. */ export interface Props { /** Valor inicial mostrado en el servidor y el navegador. */ initial?: number } const props = defineProps<Props>() const count = signal(props.initial ?? 0) const doubled = computed(() => count.value * 2)</script><template> <button type="button" on:click="() => count.value++" >{count.value} · doble: {doubled.value}</button ></template><style scoped> button { cursor: pointer; }</style>
Press the button: the signal changes and only its text updates.
Props
- initial
- undefined
Signals
- count
- 0
- Counter.meeko:12
- doubled computed
- 0
- Counter.meeko:13
Timeline
No changes yet.
The real panel only exists in development, inside the page or in Chrome DevTools.
One typed file. The server sends HTML and the browser only wires up what changes.
-
A typed
.meekofileScript, template and styles together. TypeScript checks props, events, models and every template expression, with the error on the line of the
Components and API.meekofile. -
Signals without a virtual DOM
Reactivitysignal,computedandeffectupdate only the text or the attribute that changes. Lists keep their nodes by key. -
SSR plus hydration
The server sends the complete page and the state of every signal; the browser hydrates it without painting it again. Also streaming, prerendering and client pages.
Rendering modes
Full-stack out of the box. One standalone build per adapter and the same conformance suite for all four.
-
Full-stack out of the box
File-based routes, layouts, server code in the page itself, typed API and RPC, sessions with revocation and WebSocket across instances.
Framework guide -
Node, Bun, Deno and Cloudflare
One standalone build per adapter, checked by the same conformance suite. SemVer since 1.0, with an explicit stability policy.
1.x stability
Tools that see the runtime. The editor and DevTools show the real signals of each instance.
const props = defineProps<Props>() const count = signal(props.initial ?? 0)count = 3 const doubled = computed(() => count.value * 2)</script><template> <button
const count: Signal<number>
Counter.meeko · 1 instance
count = 3
Edit value
An editor with superpowers
A language server with the diagnostics of meeko check, server/browser execution zones, signal hovers and live values from meeko dev.
Per-instance DevTools
A tree of instances with their props and signals, a filterable timeline and a breakpoint per instance, inside the page or in a Chrome DevTools panel. It only exists in development.
DevToolsQuick start. One command creates the full-stack application; its scripts take it to production.
pnpm exec meeko init-framework my-app
cd my-app
npm install
npm run devdev- Starts the development server.
check- Generates the contracts and checks the types.
build-
Client, server and prerendered pages; with
--adapter, an output for Bun, Deno, Cloudflare or a static host. start- Production SSR with Node 24.