mobx-state-tree
by
mobxjs

Description: Full-featured reactive state management without the boilerplate

View on GitHub ↗

Summary Information

Updated 2 hours ago
Added to GitGenius on April 28th, 2023
Created on September 4th, 2016
Open Issues & Pull Requests: 102 (+0)
Number of forks: 635
Total Stargazers: 7,049 (+0)
Total Subscribers: 86 (+0)

Issue Activity (beta)

Open issues: 62
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,551 days
Stale 30+ days: 62
Stale 90+ days: 62

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • help/PR welcome (67)
  • bug (54)
  • enhancement (51)
  • Typescript (40)
  • question (36)
  • has PR (34)
  • level: easy (26)
  • needs reproduction/info (25)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 71.5 days
Mean response time: 787.0 days
90th percentile: 2185.6 days
Tracked items: 70

Most active contributors

Detailed Description

MobX-State-Tree is a state container system built on top of MobX that provides structure and common tooling for reactive state management. Written in TypeScript, it functions as a structured layer above MobX's functional reactive state engine, offering developers a way to build scalable applications without the boilerplate typically associated with Redux. The library is particularly valuable for large teams and applications expected to scale rapidly, delivering better performance and significantly less boilerplate code than Redux alternatives.

The repository emphasizes that MobX-State-Tree requires zero dependencies beyond MobX itself, making it lightweight while remaining feature-rich. It supports multiple stores, async actions and side effects, and enables extremely targeted re-renders for React applications. The library plays particularly well with TypeScript, React, and React Native, especially when paired with mobx-react-lite. Notably, users do not need to understand MobX in depth to effectively use MobX-State-Tree, as the library abstracts away much of that complexity.

According to GitGenius classification data, this repository spans multiple architectural and programming domains including application architecture, models, view synchronization, functional programming, data store organization, model-driven development, reactive programming, domain modeling, and domain-specific language design. It addresses concerns around complex state management, immutable data structures, and scalable application design, positioning itself as a comprehensive solution for application state modeling and UI framework integration.

The project maintains active community engagement, with issue and pull request response latency showing a median of approximately 1717 hours and a mean of 18888 hours across tracked items. The most frequently applied issue labels are help/PR welcome with 26 occurrences, followed by bug and TypeScript-related issues each appearing 16 times. This labeling pattern reflects the project's openness to community contributions and its focus on TypeScript compatibility. The most active contributor tracked by GitGenius is coolsoftwaretyler with 209 recorded events, followed by thegedge with 51 events and n9 with 7 events, indicating sustained maintenance and community involvement.

The repository's influence extends across the broader JavaScript and TypeScript ecosystem, with GitGenius identifying overlapping contributors between mobx-state-tree and major projects including microsoft/vscode, microsoft/typescript, and rust-lang/rust. This cross-project presence suggests the library's relevance to developers working on large-scale applications and development tools.

The official documentation is hosted at mobx-state-tree.js.org, with getting started tutorials and a free egghead.io course available for developers new to the library. The project acknowledges contributions from Michel Weststrate as creator, Infinite Red for ongoing maintenance support, Mendix for sponsorship, and influences from Redux's snapshot and transactional action patterns as well as tcomb's type system design. The library represents a mature, well-supported approach to state management that has gained adoption among companies worldwide seeking alternatives to Redux with reduced complexity and improved performance characteristics.

mobx-state-tree
by
mobxjsmobxjs/mobx-state-tree

Repository Details

Fetching additional details & charts...