JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 291
  • Score
    100M100P100Q114369F
  • License MIT

Portable reactive signal primitives for TypeScript - lightweight observable state for Node.js, Bun, and Deno.

Package Exports

  • @coderbuzz/ryu

Readme

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