SaaSHub helps you find the best software and product alternatives Learn more β
Top 23 TypeScript state-management Projects
-
Project mention: 7 Free Tools and Resources for Building Well-Structured React Applications | dev.to | 2026-05-07
Zustand is a small, fast state management library for React. Its API is intentionally minimal: you define a store with state and actions, and you consume the store with a hook. There is no boilerplate beyond defining what the store holds and what operations change it.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Glad to see statecharts still getting attention!
I created XState, a JS/TS library for authoring, executing, and visualizing state machines/statecharts: https://github.com/statelyai/xstate
I've been working on it for 10+ years. The main thing I've learned is that statecharts are most valuable when they're treated as executable behavior, not just documentation.
That doesn't mean you need to use them everywhere or model everything with them. They're most useful when you have behavior where the answer to "what happens next?" depends on both the current state & the event. A statechart can act as an oracle for questions like: "Given I'm in this state, when this event happens, what is the next state, and what effects should run?"
I'm close to releasing an alpha of the next major version of XState, focused on better ergonomics, type safety, and composability, as well as a new visualizer/editor.
There's also an open-source basic statechart visualizer here: https://sketch.stately.ai
For the formal/spec side, SCXML is worth reading: https://www.w3.org/TR/scxml
Also worth reading the original paper by David Harel: https://www.weizmann.ac.il/math/harel/sites/math.harel/files...
-
router
π€ A client-first, server-capable, fully type-safe router and full-stack framework for the web (React and more).
Project mention: TanStack Was Not the Whole Story: Mini Shai-Hulud Was an npm/PyPI Supply-Chain Worm | dev.to | 2026-05-13Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys - GitHub Advisory
-
nuqs
Type-safe search params state manager for React frameworks - Like useState, but stored in the URL query string.
π Confira em: https://nuqs.dev/
-
Project mention: Ng-News 26/11: TypeScript 6, NgRx RFCs delegatedSignal, Resource Extensions | dev.to | 2026-04-03
ngrx/platform#5121 β RFC delegatedSignal
-
-
blocksuite
π§© Content editing tech stack for the web - BlockSuite is a toolkit for building editors and collaborative applications.
-
-
Project mention: React Won by Default β and It's Killing Front End Innovation | news.ycombinator.com | 2025-09-15
Biggest problem is with the approach of doing a revolution, while evolution is possible. Reactivity is mentioned in the article and examples are given with frameworks that would need a rewrite of anything you have in react and relearning everything for the team.
But it's really not needed - you can just use signals in react with the preact-signals package (works with preact and react and standalone) which has been created 3 years ago: https://preactjs.com/blog/introducing-signals It can even skip the virtual dom and diffing.
The issue is not React per se. Just look at what the ecosystem has to offer. You can also speed up your loading times by using preact. And if you don't like a compile step use a package like htm and tagged templates for a JSXish syntax. And then move your "store" outside of react with signals etc. There is enough innovation happening, no need to always look at the other side.
-
-
-
livestore
LiveStore is a next-generation state management framework based on reactive SQLite and built-in sync engine.
-
-
-
-
Reactime 6.0: State Debugger for React
Developer tool for time travel debugging and performance monitoring in React applications.
-
-
mutative
Efficient immutable updates, 2-6x faster than naive handcrafted reducer, and more than 10x faster than Immer.
Travels is built on Mutative. That choice matters:
-
Project mention: Glassworm Is Back: A New Wave of Invisible Unicode Attacks Hits Repositories | news.ycombinator.com | 2026-03-15
I don't quite understand how this is working tbh. I looked at one of the affected repos, ironically named "reworm".
The malicious code was introduced in this commit - https://github.com/pedronauck/reworm/commit/d50cd8c8966893c6...
It says coauthored by dependabot and refers to a PR opened in 2020 (https://github.com/pedronauck/reworm/pull/28).
That PR itself was merged in 2020 here - https://github.com/pedronauck/reworm/commit/df8c1803c519f599...
But the commit with the worm (d50cd8c), re-introduces the same change from df8c180 to the file `yarn.lock`.
And when you look at the history of yarn.lock inside of github, all references to the original version bump (df8c180) are gone...? In fact if you look at the overall commit history, the clean df8c180 commit does not exist.
I'm struggling to understand what kind of shenanigans happened here exactly.
-
KaibanJS
KaibanJS is a JavaScript-native framework for building and managing multi-agent systems with a Kanban-inspired approach.
-
concent
A reactive atomic state engine for React(including React 18) and all React like, carrying dependency collection feature, supporting fine-grained updates.
-
-
apprun
AppRun is a JavaScript library for developing high-performance and reliable web applications using the elm inspired architecture, events and components.
TypeScript state-management discussion
TypeScript state-management related posts
-
Welcome to the world of Statecharts
-
React State Management: It's Just a Hook
-
React-State-Custom β Composable global state with native lifecycle management
-
How I Removed Redux Toolkit From My React Native App
-
π Yo devs, wanna build collab apps that SLAP? Meet Jazz: the Real-Time Collab Framework Thatβs Straight Fire π₯
-
In React {Transitions} = F(state)
-
The future of State Management in LWC: Understanding Signals
-
A note from our sponsor - SaaSHub
www.saashub.com | 13 Jun 2026
Index
What are some of the best open-source state-management projects in TypeScript? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | zustand | 58,274 |
| 2 | xstate | 29,698 |
| 3 | router | 14,627 |
| 4 | nuqs | 10,536 |
| 5 | platform | 8,324 |
| 6 | mobx-state-tree | 7,048 |
| 7 | blocksuite | 5,868 |
| 8 | effector-react | 4,837 |
| 9 | signals | 4,442 |
| 10 | unstated-next | 4,191 |
| 11 | constate | 3,998 |
| 12 | livestore | 3,608 |
| 13 | store | 3,548 |
| 14 | final-form | 3,048 |
| 15 | useStateMachine | 2,406 |
| 16 | Reactime 6.0: State Debugger for React | 2,237 |
| 17 | data-client | 2,031 |
| 18 | mutative | 1,972 |
| 19 | reworm | 1,458 |
| 20 | KaibanJS | 1,453 |
| 21 | concent | 1,389 |
| 22 | reatom | 1,345 |
| 23 | apprun | 1,174 |