v1.1.0 — The zero-runtime framework is here

The Zero-Runtime
JavaScript Framework

Ships 0 KB on static pages. 464 B on interactive pages. No hydration. No virtual DOM. Just compiled JavaScript.

$npm create noopjs@latest
Creating your NoopJS project...
✔ Project created in 0.3s
✔ 0 KB framework JS on static pages
✔ 464 B on interactive pages
Ready! cd my-app && npm run dev

How It Works

NoopJS compiles your framework code away at build time. Zero runtime overhead on static pages, minimal JS on interactive ones.

1

Write Components

Use familiar JSX with signals. NoopJS compiles your components ahead of time — no virtual DOM, no hydration.

2

Compile at Build

Each page is compiled to a minimal bootstrap script. Interactive pages get ~464 B of inline JS. Static pages get 0 KB.

3

Serve & Resume

SSR generates fully-formed HTML. The inline bootstrap resumes interactivity without re-running the entire component.

Bundle Size Comparison

Framework JS loaded per page. NoopJS ships 0 KB for static and 464 B for interactive pages.

NoopJS (static)
0 KB
NoopJS (interactive)
464 B
Qwik
~1 KB
SolidJS
~7 KB
Svelte
~10 KB
Vue
~16 KB
React
~45 KB
Angular
~65 KB

Everything You Need, Nothing You Don't

A modern DX with signals, SSR, SPA routing, and resumability — compiled away to minimal per-page JavaScript.

Blazing Fast

Ships 0 KB on static pages, 464 B on interactive. No hydration, no virtual DOM — just compiled JavaScript that runs instantly.

♻️

True Resumability

SSR generates HTML with embedded signal state. The client resumes interactivity inline without re-running components or parsing a framework bundle.

🔀

SPA Routing

Client-side navigation with sentinel-based mXSS protection. Full page transitions, history management, and scroll restoration out of the box.

See It In Action

A fully interactive counter that ships 464 B gzipped — try it below.

0 464 B