30 open-source projects similar to mobxjs/mobx-state-tree, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Mobx State Tree alternative.
This project is a state management inspector and debugging tool for Redux. It provides a browser-based interface for inspecting and modifying application state and actions in real time, serving as an action logger and time travel debugger to troubleshoot application logic. The tool allows users to navigate a chronological history of state changes to replay previous versions of the application or skip specific actions. It also functions as a remote monitoring bridge, streaming Redux state and actions from non-browser environments to a centralized debugging interface. The capability surface in
ReSwift is a unidirectional data flow framework for Swift applications that centralizes state management within a single store. It ensures predictable and traceable updates by requiring all state modifications to occur through explicit actions processed by reducer functions. The library includes a state time travel debugger that records and replays sequences of actions to reload or rewind the application state. It also provides an asynchronous action dispatcher to handle side effects and network requests while maintaining synchronized state updates. The framework covers a broad surface of st
re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur
Refluxjs is a state management library designed to implement a unidirectional dataflow architecture. It manages application state through a strict cycle of actions and stores to prevent unpredictable update loops. The library coordinates asynchronous operations by managing event streams and triggering related success or failure actions. It also provides a global state registry that tracks store states via unique identifiers, enabling deep cloning for persistence and time-travel debugging. Its capability surface covers centralized state management, including the creation of data stores and de
This project is a Redux state logger and console debugging tool. It functions as middleware for the Redux dispatch pipeline, acting as a state transition tracker that records actions and state changes directly to the browser console. The tool allows for the interception of actions to log timing, payloads, and state transitions. It provides capabilities to filter specific actions using predicate functions to reduce noise and transform complex state or immutable data into readable formats for easier inspection. The utility includes options for customizing console output through timestamps, col
Redux DevTools is a state management debugger and visualizer for Redux applications. It provides a set of interfaces for inspecting state trees, monitoring real-time state changes, and dispatching actions. The project features a state time travel debugger that allows for rewinding and replaying sequences of dispatched actions to reproduce specific application states. It includes a remote state monitor to track state changes from sources in environments where local browser access is unavailable. The toolset covers action history replay, state change inspection, and hot-reload development work
Redux-thunk is a middleware for Redux that enables action creators to return functions instead of plain objects. It serves as an asynchronous state management tool and functional action dispatcher that coordinates complex workflows and delays state updates until asynchronous tasks are complete. This middleware grants action creators access to the store state and dispatch methods, allowing for the execution of conditional logic and the coordination of multiple asynchronous operations. It enables the injection of custom dependencies and service layers to decouple business logic from the core st
redux-logger is a state management debugger and logger that operates as Redux middleware. It records actions and state transitions directly to the browser console to facilitate the monitoring of application state changes. The tool provides a mechanism to reduce console noise through action filters that use custom predicates to determine which events are recorded. It also includes a data transformation pipeline to sanitize or modify state and actions before they are output. The project covers observability capabilities including formatted console output with timestamps and colors, synchronous
jsondiffpatch is a JSON diff and patch library designed to calculate differences between two JSON objects and apply those changes to synchronize states. It functions as a synchronization tool for computing deltas and applying patches to update or revert complex nested JavaScript objects. The project provides a standard-compliant implementation of RFC 6902 JSON Patch for atomic updates and a visual difference renderer that converts data deltas into human-readable HTML views. It includes a specialized text diff tool for performing fine-grained, character-level analysis on long strings within JS
Immer is an immutable state management library used to create new versions of data structures. It allows the production of new state by mutating a temporary draft instead of using manual object spreading. The project implements structural sharing to reuse unchanged parts of a data tree between versions, which reduces memory consumption. It also functions as a JSON patch generator to calculate and output the differences between two state versions. To ensure data integrity, the library includes a state mutation protector that freezes data structures to detect and prevent accidental modificatio
Loro is a conflict-free replicated data type (CRDT) framework and collaborative state engine designed for building real-time collaborative applications. It provides a distributed data synchronizer that enables multiple users to edit shared documents and complex nested structures—such as maps, lists, trees, and counters—with automatic state convergence without requiring a central server. The project distinguishes itself through a versioned document store that supports branching, forking, and merging via a directed acyclic graph of causal operation history. It enables advanced version control c
connected-react-router is a synchronization tool that binds React Router state and browser history to a Redux store. It maps routing information and URL parameters into a global state tree, enabling the application to manage navigation through a unidirectional data flow. The library allows navigation to be triggered by dispatching actions rather than calling imperative history methods. This middleware-driven approach enables URL updates to be initiated from business logic or asynchronous processes. The system synchronizes the current location, hash, and search parameters into the global stat
Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an Entity-Component-System (ECS) game engine that separates logic into systems and data into components to manage complex entity interactions. The project functions as a grid-based physics simulator with a YAML data-driven prototype system for defining game objects. The project features a specialized 2D sprite rendering engine that maps server-side appearance data to client-side shaders. It implements a networking model with client-side prediction and dirty-flagged state synchronization to reduce inp
Redux Toolkit is a state management toolkit and store configurator designed to simplify the development of Redux applications by reducing boilerplate code. It functions as an immutable state manager and a centralized store configuration system that provides a streamlined workflow for managing global application state. The project distinguishes itself through an automated async action orchestrator that manages the lifecycle of promises by automatically dispatching pending, fulfilled, and rejected actions. It also acts as a normalized state organizer, providing tools to structure complex relati
Reactime is a browser extension designed for debugging and profiling React applications. It provides a specialized interface for monitoring component hierarchies, tracking state transitions, and analyzing data flow within complex component trees. The tool distinguishes itself through time-travel debugging capabilities, which allow developers to capture and replay state snapshots to isolate logic errors. It also features a dependency graph mapper that visualizes the relationships between providers and consumers, clarifying how information is distributed throughout an application. Beyond core
This project is a comprehensive collection of web development reference guides and technical cheat sheets. It provides a curated set of markdown-based documentation designed to help developers quickly locate syntax patterns and API examples for common web technologies and programming languages. The repository serves as a specialized reference library covering several distinct technical domains. It includes extensive guides for CSS, focusing on selectors, Flexbox, Grid, and responsive layout properties, as well as a DevOps command reference for Docker, Kubernetes, AWS, Ansible, and general she
Data-client is an asynchronous state management library designed to synchronize server data with frontend applications. It functions as a normalized cache manager that maps complex API responses into structured, relational entities, ensuring data consistency across the entire application. By providing a unified communication layer, the library supports both REST and GraphQL, allowing developers to bind network data directly to user interface components through declarative hooks. The library distinguishes itself through a robust architecture for optimistic user interface development, where loc
Redux is a predictable state container designed to manage global application data through a centralized store. It operates on a unidirectional data flow architecture where state transitions are triggered by dispatching action objects, which are then processed by pure reducer functions to produce a new, immutable state tree. This approach ensures that application data remains consistent and traceable across the entire component hierarchy. The library distinguishes itself through a functional pattern that relies on pure functions for state logic and a middleware-based extension system. This mid
GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation. The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a
Dva is a state management library and client-side application framework designed for building user interfaces with React and Redux. It functions as an asynchronous logic orchestrator and a single page application router, organizing application data through a structured data flow of reducers, effects, and subscriptions. The framework distinguishes itself through the use of generator functions to manage asynchronous workflows and sequential side effects, keeping these operations separate from synchronous state updates. It implements namespace-based model organization to group business logic and
stc is a TypeScript type checker implemented entirely in Rust, designed to validate type correctness in TypeScript source code with native performance and memory safety. It operates as a no-emitting type validator, meaning it checks types only and does not produce JavaScript output, reducing overhead compared to a full compiler. The checker is built around a zero-false-positive design, reporting only errors that are provably certain from the type system, prioritizing correctness over speculative warnings. The tool distinguishes itself through parallel file processing, analyzing source files c
This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental principles of the language, including its structural type system, static type analysis, and the process of transpiling typed source files into JavaScript. The material details how to model complex data and reusable type logic using generics, conditional types, and mapped types. It also explains the use of declaration files to provide type safety for external JavaScript libraries and the integration of type checking into existing JavaScript projects via JSDoc annotations. The
go-ast-book is a collection of educational and technical resources focused on abstract syntax tree analysis, compiler development, and static code verification. It provides guides and manuals for parsing, traversing, and analyzing Go source code to extract semantic meaning. The project serves as a reference for building compiler frontends, covering the translation of high-level code into intermediate representations and single static assignment forms. It also provides instructions for using these techniques to develop language tooling and perform static code analysis. The resources cover a b
Dhall is a type-safe configuration language designed to create programmable configuration files that are guaranteed to terminate. It is a non-Turing-complete language that uses a strict type system to ensure correctness and prevent infinite loops during evaluation. The project functions as a deterministic configuration engine and marshalling tool, converting programmable expressions into static formats such as JSON, YAML, and Bash. It distinguishes itself through a focus on security and integrity, using semantic hashing to pin remote imports and enforcing origin policies to prevent data exfil
mobx-react is a library that provides state bindings to connect React components to MobX observable state. It functions as a component state synchronizer, ensuring that user interface elements automatically re-render only when the specific observed data they consume changes. The project enables a decoupled state architecture by moving business logic and domain state into standalone stores, separating data management from the React component tree. It facilitates global state distribution across deep component hierarchies using providers and context to avoid manual prop drilling. The library c
SvelteStorm is a specialized integrated development environment built for creating, editing, and debugging Svelte applications. The workspace provides a desktop code editing environment equipped with syntax highlighting, a file directory tree explorer, split-screen document viewing, code search tools, and an integrated terminal for executing shell scripts and terminal commands. The environment includes dedicated debugging and monitoring tools that generate real-time component hierarchy graphs, track live state values, and record application states to allow stepping backward and forward throu
Phan is a static analyzer and type checker for PHP that identifies bugs and type incompatibilities without executing the code. It serves as a quality gate for continuous integration pipelines and a tool for verifying type safety, specifically checking union types, generics, and array shapes. The project is distinguished by its use of a background daemon and Language Server Protocol implementation, which provide real-time diagnostics and navigation within editors. It also features a baseline-based suppression system that allows developers to record existing errors in a snapshot file to focus e
Hyperlight is an embedded virtual machine manager designed to execute guest binaries within hardware-isolated code sandboxes. It utilizes a KVM micro-VM manager to run untrusted third-party code, enforcing strict memory boundaries to prevent unauthorized host access. The project features a guest-host function bridge that facilitates bidirectional communication and a state snapshot tool for saving and restoring the memory state of a sandbox to reduce startup latency. The system includes a toolchain for guest binary cross-compilation and mechanisms for managing resource constraints, such as fi
Security Monkey is a cloud security posture management tool and configuration auditor. It functions as a monitoring platform that tracks cloud assets and records state changes to identify when security policies are altered or insecure configurations are introduced. The system maintains a multi-cloud asset inventory, tracking resources across AWS, GCP, OpenStack, and GitHub organizations. It provides a centralized interface for searching and browsing assets across multiple cloud providers and regions. The platform covers cloud security auditing and infrastructure change tracking by comparing
Effector is a reactive state management library designed for building complex, event-driven applications. It functions as a data flow engine that models application logic as a directed acyclic graph, ensuring that state updates propagate automatically through interconnected nodes. By utilizing atomic state updates and declarative unit composition, the library maintains data consistency and provides a predictable execution model for managing application state. The project distinguishes itself through its framework-agnostic architecture, which decouples business logic from user interface implem