{"repo":"I-am-abdulazeez/stunk","free":true,"listed":false,"github":"https://github.com/I-am-abdulazeez/stunk","clone":"git clone https://github.com/I-am-abdulazeez/stunk.git","description":"A framework-agnostic state management library that keeps your app’s state clean and simple. It uses a fine-grained state model, breaking state into independent, manageable chunks.","language":"TypeScript","stars":174,"topics":["state-management","typescript","angular","react","solid","svelte","vue","queflow","client-state-management","zustand-alternative"],"license":null,"category":"ui-components","readme_excerpt":"Stunk Stunk is a lightweight, framework-agnostic state management library built on atomic state principles. Break state into independent chunks — each one reactive, composable, and self-contained. - Pronunciation : Stunk (a playful blend of \"state\" and \"chunk\") Features - 🚀 Lightweight — 3.32kB gzipped, zero dependencies - ⚛️ Atomic — break state into independent chunks - 🔄 Reactive — fine-grained updates, only affected components re-render - 🧮 Auto-tracking computed — no dependency arrays, just call .get() - 🌐 Async & Query layer — loading, error, caching, deduplication, pagination built in - 🔁 Mutations — reactive POST/PUT/DELETE with automatic cache invalidation - 📦 Batch updates — group multiple updates into one render - 🔌 Middleware — logging, persistence, validation — plug anything in - ⏱️ Time travel — undo/redo state changes - 🔍 TypeScript first — full type inference, no annotations needed Installation 📖 Read the docs --- Core State --- Computed — auto dependency tracking No dependency arrays. Any chunk whose .get() is called inside the function is tracked automatically: Use .peek() to read without tracking: --- Async & Query --- Mutations Reactive POST/PUT/DELETE — one function, always safe to await or fire and forget: --- Global Query Config Set defaults once for all async chunks and mutations: --- Middleware --- History (undo/redo) --- Persist --- React --- Package exports Import Contents ------------------ -------------------------------------------------","default_branch":null,"files":null,"tree":[],"storefront":"/r/I-am-abdulazeez","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/I-am-abdulazeez/stunk/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}