npm.io
0.2.23 • Published yesterday

@coderbuzz/ryu

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 rejectionnull/undefined throw 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

Keywords