finds.dev← search

// the find

salesforce/akita

★ 3,672 · TypeScript · Apache-2.0 · updated May 2025

🚀 State Management Tailored-Made for JS Applications

Akita is an RxJS-based state management library that sits between MobX and Redux in terms of boilerplate — class-based stores with typed queries, built-in entity collection handling, and observable selectors. The README leads with 'THE LIBRARY IS NOT MAINTAINED ANYMORE - DON'T USE IT', so this is effectively an archive. The maintainers have moved to Elf.

The entity store abstraction is genuinely well-thought-out: built-in CRUD operations, multi-active entity selection, and a separate UI state store pattern that keeps server state and view state cleanly separated. The plugin system (dirty-check, state history, paginator) covers patterns you'd otherwise wire up yourself. Test coverage is thorough — 50+ spec files covering edge cases like persist-state async, multi-props, and ID tracking. The Query layer with typed selectAll overloads and combineQueries gives you reactive derived state without much ceremony.

Officially dead — maintainers explicitly tell you not to use it. Built on decorator-heavy OOP patterns that fight modern Angular's standalone components and signal-based reactivity. The RxJS-everywhere approach is a significant learning tax for React or Vue developers who don't live in Observable land. No migration path exists from Akita to Elf; you're rewriting, not upgrading.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →