🧬 Zero-Runtime · ⚡ Compiler-First · 🧠 Fine-Grained Reactivity
Built in Rust. Outputs<1KBJS. Blazing-fast.
nullReact is a new kind of web framework — not a library, but a compiler-first engine.
It compiles JSX into zero-runtime, reactive JavaScript, with fine-grained signal-based updates — all under 1KB.
Perfect for those who demand raw performance, minimalism, and full control.
- 🛠 Compiler-First — JSX is compiled to highly-optimized JavaScript.
- 🧠 Signals + Effects — Fine-grained reactivity without component rerenders.
- 🚫 No Virtual DOM — Direct DOM operations. Real speed.
- 🧳 Minimal Runtime — Optional runtime under 1KB.
- 🦀 Rust-Powered — Fast, safe, and parallel compilation.
# Clone the repo
git clone https://github.com/pavanscales/nullreact
cd nullreact
# Build the compiler
make build
# Run benchmarks
make benchnullreact/
├── src/
│ ├── lib.rs # CLI entry + compiler pipeline
│ ├── jsx.rs # JSX parser → AST
│ ├── emitter.rs # AST → optimized JS code
│ ├── signals.rs # Fine-grained reactivity (signals + effects)
│ ├── runtime.js # Optional DOM runtime
│ └── bench.rs # Micro-benchmark tests
├── dist/ # Compiled JS output
│ └── runtime.js # Runtime shipped separately
├── examples/ # Real-world JSX demos
│ ├── 1m-signals.jsx # 1 million signals benchmark
│ └── 10k-filter.jsx # 10,000-item filtering demo
├── Makefile # Tasks: build, test, bench
├── README.md # You're here
├── LICENSE # MIT License
└── .gitignore
| Test | React | nullReact |
|---|---|---|
| 1 Million Signals | ❌ Crashes | ✅ Instant |
| 10k Filter Updates | ✅ Smooth | |
| Cold Start Runtime | ~43KB | <1KB |
⏱ Benchmark runs:
make bench
- 🔥 Reactivity should be compiled, not interpreted.
- 📦 Runtimes should be opt-in, not bloated.
- 📏 Performance should be measurable, not theoretical.
MIT © Pawan Pediredla
Have ideas? Found bugs? Want to help build the next-gen compiler-based UI engine?
→ Join the Discussion → Create an Issue → Star the Repo ⭐
Built with ❤️ to change how the web thinks about reactivity.
---