// the take
PureState is a ~100-line reactive state primitive for JavaScript: wrap a value in state(), read it by calling it with no args, write it by calling it with a value, and derived state() calls auto-track their dependencies and recompute when those change. It's aimed at devs who find Redux/Flux-style reducers overkill for small apps and just want mutable cells with automatic recomputation, not a full state-management framework.
The core idea is a legitimate, minimal implementation of what's now called 'signals' (Preact Signals, Vue 3 reactivity, Solid) years before that pattern went mainstream - dependency tracking is inferred just by which state() getters execute inside a derived function's body, no explicit subscribe calls needed. It's a single dependency-free file you can read end to end in a few minutes and vendor directly into a project. The recompute model only updates dependents of what actually changed rather than re-running everything, which is the right call for a reactive primitive.
No commits or releases since 2022, single contributor, no tests, no CI, and no package.json/npm listing in the tree - this is a proof-of-concept, not something to pull into a real codebase expecting fixes. The README doesn't address the hard parts of signal libraries: no mention of how diamond dependencies avoid double-recomputation (the classic 'glitch' problem), no batching for multiple writes in one tick, and no story for exceptions thrown inside a derived computation. It also has zero debugging tooling - the rant against Redux conveniently skips that Redux's reducer/action model buys you time-travel debugging and inspectable state transitions, which this has no equivalent for. Integration with any view layer (React, DOM) is left entirely to the user; the bundled examples use raw string templating, not real guidance for wiring this into an actual UI stack.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →