redux
npmv5.0.1TypeScriptPredictable state container for JavaScript apps
Adopt with care
redux is usable, with caveats. Last published 991 days ago.
- AAdoption: grade A, Excellent.
30.2M downloads per week and 5 known dependents.
- DMaintenance: grade D, Poor — a real concern.
Last published 991 days ago.
- AWeight: grade A, Excellent.
Zero runtime dependencies, about 283 KB installed.
- ASupply chain: grade A, Excellent.
No install scripts, 6 maintainers, and a contained dependency surface.
- ALicense: grade A, Excellent.
MIT — permissive, with no copyleft found in the dependency tree.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding redux to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Compatibility
- Node.js
- No constraint declared
- Module format
- ESM + CommonJS
- TypeScript
- Types included
- Install scripts
- None
Quick start
A usage example from the redux README.
import { createSlice, configureStore } from '@reduxjs/toolkit'
const counterSlice = createSlice({
name: 'counter',
initialState: {
value: 0
},
reducers: {
incremented: state => {
// Redux Toolkit allows us to write "mutating" logic in reducers. It
// doesn't actually mutate the state because it uses the Immer library,
// which detects changes to a "draft state" and produces a brand new
// immutable state based off those changes
state.value += 1redux vs the alternatives
Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.
| Package | Weekly downloads | Dependents | License | Last release |
|---|---|---|---|---|
| reduxthis page | 30.2M | 5 | MIT | 2 years ago |
| @reduxjs/toolkit | 26.4M | 2 | MIT | 1 day ago |
| immutable | 0 | 7 | MIT | 1 day ago |
| redux-thunk | 0 | 1 | MIT | 1 day ago |
| dayjs | 48.7M | 1 | MIT | 1 day ago |
| reselect | 44M | 1 | MIT | 1 day ago |
Dependencies
Declared by redux v5.0.1. Runtime dependencies are installed with the package; dev dependencies are not.
Dev (20)
Used by
Popular packages that depend on redux.
The official, opinionated, batteries-included toolset for efficient Redux development
Create your next immutable state by mutating the current one
Thunk middleware for Redux.
Official React bindings for Redux
Fastest deep equal comparison for React. Great for React.memo & shouldComponentUpdate. Also really fast general-purpose deep comparison.
Relationship graph
Dependencies (left) and dependents (right) of redux.
Frequently installed together
Prettier is an opinionated code formatter
Next generation testing framework powered by Vite
TypeScript definitions for node
React is a JavaScript library for building user interfaces.
Lodash modular utilities.
Native-ESM powered web dev build tool
An AST-based pattern checker for JavaScript.
TypeScript definitions for react
V8 coverage provider for Vitest
Immutable Data Collections
The lodash method `_.cloneDeep` exported as a module.
React package for working with the DOM.
Release history
No releases in the last two years, typically about 20 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 5.0.1latest | 2 years ago | 283 KB | MIT |
| 5.0.0 | 2 years ago | 282 KB | MIT |
| 5.0.0-rc.1 | 2 years ago | 291 KB | MIT |
| 5.0.0-rc.0 | 2 years ago | 288 KB | MIT |
| 5.0.0-beta.0 | 3 years ago | 288 KB | MIT |
| 5.0.0-alpha.6 | 3 years ago | 288 KB | MIT |
| 5.0.0-alpha.5 | 3 years ago | 285 KB | MIT |
| 5.0.0-alpha.4 | 3 years ago | 286 KB | MIT |
| 5.0.0-alpha.3 | 3 years ago | 271 KB | MIT |
| 5.0.0-alpha.2 | 3 years ago | 149 KB | MIT |
| 5.0.0-alpha.1 | 3 years ago | 150 KB | MIT |
| 4.2.1 | 3 years ago | 172 KB | MIT |
| 4.2.0 | 4 years ago | 174 KB | MIT |
| 5.0.0-alpha.0 | 4 years ago | 175 KB | MIT |
| 4.2.0-alpha.0 | 4 years ago | 175 KB | MIT |
Overview
redux is an npm package that predictable state container for JavaScript apps. It is extremely widely used, with about 30.2M downloads per week and 5 known dependents in the graph. The latest version is 5.0.1, released under the MIT license.
Who should use it
Teams working in the npm ecosystem who need predictable state container for JavaScript apps and value a battle-tested, widely-adopted solution.
When not to use it
Consider an alternative if you need to minimize your dependency tree, or if a more actively-maintained option better fits your npm stack.
Pros
- Large, well-established user base (30.2M weekly downloads).
- Ships TypeScript type definitions.
- Clear open-source license (MIT).
Cons
- Large dependency tree (20 direct dependencies) increases install size and audit surface.
Auto-generated from collected registry metadata. No external claims are inferred.
Frequently asked questions
Should I use redux?
redux is usable, with caveats. Last published 991 days ago.
How do I install redux?
Run `npm install redux` to add redux to your npm project.
What license is redux released under?
redux is distributed under the MIT license.
How popular is redux?
redux has approximately 30,201,957 downloads per week and 5 known dependent packages.
Is redux still maintained?
The most recent release of redux (v5.0.1) was published 2 years ago.
Does redux run install scripts?
No. redux does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.