ranuts
フロントエンドと Node のためのユーティリティライブラリで、独立した、ツリーシェイキングできるエントリーポイントとして公開されています。必要なものを持っているサブパスから import すれば、それ以外はバンドルに入りません。すべて TypeScript で書かれ、すべての export はソースから生成されたドキュメントを持ちます。
- npm:
ranuts· ソース:packages/ranuts
npm install ranutsimport { debounce } from 'ranuts/utils';エントリーポイント
| import | 中身 | 実行環境 |
|---|---|---|
ranuts | ルートのバレル:utils と visual をまとめたもの | ブラウザー + Node |
ranuts/utils | DOM / BOM、文字列、オブジェクト、数値、色、時間、ストレージ… | ブラウザー + Node* |
ranuts/node | HTTP サーバー、ルーター、WebSocket、fs、ストリーム、ミドルウェア | Node 専用 |
ranuts/visual | 2D レンダリングエンジン(Canvas / WebGL / WebGPU) | ブラウザー専用 |
ranuts/i18n | 翻訳エンジン:フラットな辞書、実行時の切り替え | ブラウザー + Node |
ranuts/sw | キャッシュ戦略と、プリキャッシュ規約のワーカー側 | Service Worker |
ranuts/vnode | Snabbdom 風の仮想 DOM | ブラウザー |
ranuts/stream | SSE の解析、モデルストリームの畳み込み、トークンの予算 | ブラウザー + Node |
ranuts/conversation | イベントログ → 描画できる会話のノード | ブラウザー + Node |
* ranuts/utils は間口が広く、大半はブラウザー向けですが、純粋なヘルパーはどこでも動きます。ブラウザーのコードで ranuts/node を import しないでください。 fs / http / child_process を引き込みます。
何が入っているか
関数まわり:debounce · throttle · once / singleFlight · QuestQueue · withTimeout / deferred · compose
データ:cloneDeep · isEqual · merge · filterObj · 数値の整形と解析 · 色の変換と混合
テキスト:md5 · truncate · detectLanguage · resolveLocale · segmentByRanges · paginate · escapeHtml
ブラウザー:ストレージ · IndexedDB · Worker クライアント · postMessage ブリッジ · プリフェッチ · デバイス判定 · パフォーマンス · ZIP · 音声の録音 · 音声からテキストへ
AI とチャット:stream · conversation · i18n
描画:2D エンジン · 仮想 DOM · canvas のヘルパー · tween
Node:HTTP サーバーとルーター · ファイル操作 · MIME タイプ
これは一部です。API リファレンスにはすべての export がシグネチャと説明つきで載っており、ソースから生成されているのでずれることがありません。
次に読むもの
| こうしたいとき | 読むもの |
|---|---|
| ある関数があるかどうかと、そのシグネチャを調べる | API リファレンス |
| 似たふたつのユーティリティのどちらを使うか決める | ユーティリティの選び方 |
| カテゴリーごとに眺める | ユーティリティ一覧 |
| ストリーミングされたモデルの応答を描画する | stream → conversation |
| その上に UI を作る | ranui |
どちらのパッケージも npm の tarball の中に CLAUDE.md を同梱しています。コーディングエージェント向けの案内で、ネットワークなしに node_modules からそのまま読めます。