Redux

A predictable, framework-agnostic state container for JavaScript applications.

Library
npm
v5.0.1
61,507stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
89/100Excellent
Development Activity76
Maintenance84
Community96
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
90/100Excellent
Architecture95
Code Quality92
Innovation90
Learning Curve70

Redux is a tiny (~2kB) JavaScript library for predictable and maintainable global state management. It centralizes your application’s state in a single store, where the only way to change state is by dispatching plain-object actions that flow through pure reducer functions, making state transitions explicit, traceable, and easy to test.

Because the core is view-layer agnostic, Redux works with React, Vue, Angular, vanilla JS, or any other UI library, and runs the same way on the client, server, and native. Its strict unidirectional data flow enables powerful developer tooling like time-travel debugging, and a rich middleware ecosystem extends it for async logic, logging, and persistence.

What You Get

  • A single, centralized store holding the entire application state tree
  • Pure reducer functions for predictable, testable state transitions
  • A middleware pipeline (via applyMiddleware) for async logic, logging, and side effects
  • Store enhancers and the compose helper for composing store behavior
  • Framework-agnostic core that works with React, Vue, Angular, or vanilla JS
  • First-class TypeScript types for actions, reducers, middleware, and the store

Common Use Cases

  • Managing complex, shared UI state across many components in a single-page app
  • Providing a single source of truth for state that must stay consistent
  • Enabling time-travel debugging and action replay during development
  • Coordinating async data flows through middleware like thunks or sagas

Under The Hood

Architecture Redux’s core is a handful of small, single-responsibility modules under src/. createStore.ts is the heart: it holds the current state in a closure, exposes getState, dispatch, subscribe, and replaceReducer, and runs each dispatched action through the root reducer to produce the next state, then notifies subscribers. combineReducers.ts composes a map of slice reducers into one root reducer; applyMiddleware.ts wraps dispatch in a chain of middleware built with the tiny compose.ts right-to-left function composer; bindActionCreators.ts is a convenience wrapper. The src/utils/ helpers (isPlainObject, isAction, actionTypes, kindOf, symbol-observable) guard invariants and provide the interop $$observable symbol.

Tech Stack The library is written in TypeScript (85% of the codebase) with a small amount of JavaScript, targeting both ESM and CJS consumers via a dual-export package.json. It is built with tsup, type-checked and tested with Vitest (vitest --run --typecheck), and linted with ESLint and Prettier. The published core has essentially no runtime dependencies, keeping the bundle around 2kB.

Code Quality The source is exceptionally clean and heavily typed, with extensive JSDoc on public APIs (including deprecation guidance steering users toward Redux Toolkit’s configureStore). Reducers and helpers are pure functions with explicit invariant checks that throw descriptive, production-minified error codes via formatProdErrorMessage. There is a thorough test suite — 22 spec files under test/ covering createStore, combineReducers, applyMiddleware, compose, and TypeScript type tests — exercising edge cases and error paths.

API Design The public surface is deliberately minimal and consistent: createStore, combineReducers, bindActionCreators, applyMiddleware, and compose, all exported from a single entry point with rich TypeScript generics for inferring state and action types. The conceptual model (store, action, reducer, middleware) is small and well documented at redux.js.org, though the surrounding patterns for async logic and immutability historically required boilerplate — which is why the team now points developers to Redux Toolkit for day-to-day use.

Used by 27 apps in this directory

TypeScript
72%
AGPL 3.0

APITable

Low Code Platforms · Databases

15,526

API-first collaborative spreadsheet-database platform that auto-generates REST APIs and lets teams build internal tools, CRMs, and dashboards without code.

View details
53
Repo Health
77
Technical
60
Dependency
Built with
TypeScript72%
Java22%
Updated 9 months ago
TypeScript
66%
Apache 2.0

Appsmith

Developer Tools · Automation · No Code Platforms

40,707

Open-source low-code platform to build admin panels, dashboards, and internal tools connected to any database or API.

View details
94
Repo Health
79
Technical
68
Dependency
Built with
TypeScript66%
Java22%
Updated today
TypeScript
97%
AGPL 3.0

Bigcapital

Invoicing Finance

3,846

Self-hostable double-entry accounting platform with invoicing, inventory, multi-currency, and real-time financial reporting for small and medium businesses.

View details
91
Repo Health
77
Technical
64
Dependency
Built with
TypeScript97%
Updated yesterday
Rust
67%
MIT

Bun

Developer Tools

95,452

An all-in-one JavaScript and TypeScript toolkit — one Rust-and-JavaScriptCore binary that replaces Node.js, npm, a bundler, and a test runner with faster equivalents.

View details
92
Repo Health
91
Technical
66
Dependency
Built with
Rust67%
C++19%
Updated today
JavaScript
99%
Other

ChartBrew

Analytics · Databases

4,041

Open-source reporting platform to build live dashboards from SQL, NoSQL, APIs, and SaaS tools with an AI assistant that creates charts from natural language.

View details
90
Repo Health
83
Technical
65
Dependency
Built with
JavaScript99%
Updated 6 days ago
TypeScript
53%
Other

Chaskiq

CRM · Customer Support

3,560

Self-hosted live chat, video calls, help center, and marketing automation — a full-stack Intercom alternative you run on your own infrastructure.

View details
60
Repo Health
66
Technical
68
Dependency
Built with
TypeScript53%
Ruby36%
Updated 1 months ago
Java
48%
Apache 2.0

ClearFlask

Product Management · Community

448

Open-source feedback management and roadmap tool that lets product teams collect, prioritize, and respond to user input — with AI-powered summarization and full self-hosting control.

View details
83
Repo Health
73
Technical
63
Dependency
Built with
Java48%
TypeScript47%
Updated 2 weeks ago
JavaScript
53%
Other

Cosmos-Server

Security · Authentication

6,121

All-in-one self-hosted home server with SmartShield anti-DDoS, Nebula mesh VPN, automatic HTTPS, and a 250-app marketplace — all secured behind a unified auth layer.

View details
79
Repo Health
59
Technical
66
Dependency
Built with
JavaScript53%
Go43%
Updated yesterday
TypeScript
62%
Other

Flowise

Developer Tools · Automation · No Code Platforms

55,379

Drag-and-drop visual builder for AI agents, RAG pipelines, and multi-agent systems—deploy anywhere in minutes.

View details
91
Repo Health
77
Technical
64
Dependency
Built with
TypeScript62%
JavaScript27%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search