Licence
MIT
Version
0.2.23
Deps
1
Size
5 kB
Vulns
0
Weekly
0
Ryu — @coderbuzz/ryu
Simple reactive signals for TypeScript. No framework. No dependencies. <1 KB.
get(), set(), subscribe() — that's it. Works in Node.js, Bun, Deno, and browsers.
Why Ryu?
- <1 KB gzip vs RxJS ~40 KB, MobX ~30 KB, Preact Signals ~5 KB
- Zero dependencies — no
rxjs, no decorators, no build tools - Immediate notification — subscribers fire with current value on subscribe
- Strict null rejection —
null/undefinedthrow to prevent silent bugs - Runtime agnostic — Node, Bun, Deno, browsers
Installation
npm install @coderbuzz/ryu
Quick Start
import { signal } from "@coderbuzz/ryu";
const count = signal(0);
console.log(count.get()); // 0
count.set(1);
console.log(count.get()); // 1
const unsubscribe = count.subscribe((value) => {
console.log("count changed:", value);
});
Documentation
Full API reference and examples: DOCS.md
License
MIT 2026 Indra Gunawan