Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JavaScript
  3. stunk

stunk

NOASSERTIONTypeScriptv3.1.0

A lightweight, framework-agnostic state management library built on atomic state principles for fine-grained reactivity.

Visit WebsiteGitHubGitHub
174 stars13 forks0 contributors

What is stunk?

Stunk is a lightweight, framework-agnostic state management library that uses atomic state principles to break application state into independent, reactive chunks. It solves the complexity of managing global state by providing fine-grained updates, auto-tracking computed values, and built-in async handling without framework dependencies.

Target Audience

JavaScript/TypeScript developers building applications with complex state needs across any framework (React, Vue, Svelte, etc.) who want fine-grained reactivity without boilerplate.

Value Proposition

Developers choose Stunk for its atomic state model that enables precise reactivity, zero-dependency architecture, and built-in async/query capabilities—all while remaining framework-agnostic and highly extensible via middleware.

Overview

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.

Use Cases

Best For

  • Managing fine-grained reactive state in framework-agnostic projects
  • Building applications with complex async data fetching and caching needs
  • Implementing undo/redo functionality via time-travel middleware
  • Creating computed values without manual dependency tracking
  • Adding middleware for logging, persistence, or validation to state
  • Handling mutations with automatic cache invalidation

Not Ideal For

  • Applications requiring extensive server-side rendering (SSR) with built-in hydration support
  • Teams needing a vast ecosystem of third-party plugins and community extensions
  • Projects with very simple state needs where React Context or lighter libraries suffice
  • Environments where explicit TypeScript annotations are preferred over full inference

Pros & Cons

Pros

Tiny Bundle Size

At 3.32kB gzipped with zero dependencies, Stunk minimizes bundle impact while offering comprehensive state management features.

Fine-Grained Reactivity

Atomic state chunks ensure only components dependent on changed state re-render, improving performance in complex UIs without extra boilerplate.

Auto-Tracking Computed

Computed values automatically track dependencies via .get() calls, eliminating manual dependency arrays and reducing code complexity.

Built-in Async Handling

The asyncChunk and mutation APIs include caching, deduplication, and automatic cache invalidation, simplifying data fetching and state synchronization.

Extensible Middleware

Plugins for logging, persistence, validation, and time travel allow custom state behavior without modifying core logic, as shown with history() and persist().

Cons

Limited Ecosystem

As a newer library, Stunk has fewer third-party middleware and community resources compared to established options like Redux or Zustand.

Framework Integration Overhead

While framework-agnostic, integrating with non-React frameworks requires manual setup, as the provided hooks (e.g., useChunk) are React-specific.

Missing DevTools

There's no built-in developer tools for debugging state changes, relying on middleware like logger for basic insights, which may hinder complex debugging.

Complex Async Configuration

Setting global defaults with configureQuery adds an extra layer of configuration that might be cumbersome for simple applications or quick prototypes.

Frequently Asked Questions

Quick Stats

Stars174
Forks13
Contributors0
Open Issues0
Last commit10 days ago
CreatedSince 2025

Tags

#time-travel#react-integration#typescript#reactivity#angular#solid#react#vue#framework-agnostic#svelte#state-management#middleware

Built With

T
TypeScript

Links & Resources

Website

Included in

JavaScript34.9k
Auto-fetched 16 hours ago

Related Projects

mobxmobx

Simple, scalable state management.

Stars28,203
Forks1,799
Last commit4 days ago
BaconBacon

Functional reactive programming library for TypeScript and JavaScript

Stars6,459
Forks326
Last commit1 year ago
Most.jsMost.js

Ultra-high performance reactive programming

Stars3,491
Forks199
Last commit3 years ago
concentconcent

A reactive atomic state engine for React(including React 18) and all React like, carrying dependency collection feature, supporting fine-grained updates.

Stars1,389
Forks69
Last commit4 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub