Q1 2021 State Of JavaScript Libraries and Tools: State Management

2020-04-21 Update: Added Security information from Snyk. Made ThoughtWorks Technology Radar values clickable.

2020-04-20 Update: I've published reports for other categories as well and recommend checking them out: Frontend Frameworks, Testing Frameworks, Build Tools and Module Bundlers, Static Sites Generators (JAMStack), and End-to-End Testing Frameworks.

Intro

This is a second report in the series "Q1 2021 State Of JavaScript Libraries and Tools". The previous report was dedicated to UI Frameworks. The current report covers State Management libraries and provides insights into how the libraries performed in Q1 2021. Multiple data sources and metrics are used to provide a more complete picture.

I used Moiva to collect all the interesting data and presented it in a table as well as in charts.

I'm going to prepare a few more similar reports dedicated to other categories - CSS Frameworks, End-to-End Testing Libraries, Node.js frameworks, Build Tools and Bundlers, Testing Frameworks and Static Site Generators.

Data Sources

Data for the report came from:

  • NPM - libraries downloads, releases, types, and dependencies.
  • Google - search interest data.
  • GitHub - stars, commits, contributors, license, and age.
  • Bundlephobia - bundle sizes.
  • State of JavaScript Survey - libraries usage amongst developers.
  • ThoughtWorks's Technology Radar data
  • Snyk - security information.

Metrics

  • Stars - the total number of GitHub stars as of April 1, 2021.
  • New Stars - a number of new stars in Q1 2021.
  • New Stars, % - (100 * New Stars) / (Stars - New Stars)
  • NPM Downloads monthly - an average monthly npm downloads number in Q1 2021.
  • NPM Downloads monthly % (incr.) - an increase of the average monthly npm downloads number compared to Q4 2020.
  • Search Interest, % - Google search interest average number compared to other libraries in the 01.10.2020-31.03.2021 period.
  • Developer Usage, % - percentage of developers using a library according to the latest StateOfJS 2020 survey.
  • ThoughtWorks Tech Radar - a "ring" where a library was put. ThoughtWorks distinguishes four rings - "Adopt", "Trial", "Assess", and "Hold". You can learn more about the Radar here.
  • NPM Releases - a number of NPM releases in Q1 2021.
  • Commits - a number of commits in Q1 2021.
  • Contributors - a number of contributors in Q1 2021.
  • Dependencies - a number of NPM packages a library has in its dependencies list.
  • Types - the way typings are provided, either bundled with the package (BUNDLED) or published to the @types organization on npm (SEPARATE).
  • Bundle Size - gzipped bundle size of an npm package.
  • Security - calculated by Snyk a level of security (from A to F) of Npm packages based on the number of vulnerabilities and their severity. A - no vulnerabilities, F - the least secure level.
  • Age
  • License

Awards

  • Redux with 56K stars stays unbeatable in a "Total Amount Of Stars" category.
  • React Query got the largest amount of new stars in Q1 2021 - 2.7K. Zustand is second with 1.7K stars.
  • Zustand and React Query are winners also in a "GitHub Stars Relative Growth" category. Zustand grew by 29%, React Query - by 17%.
  • RxJS is an absolute leader in "NPM Downloads" category. It has been downloaded a hefty 97M times on average every month.
  • Zustand and React Query grew fast not only in terms of GitHub stars, they are also leaders in NPM Downloads growth. Their downloads grew by 78% and 71% respectively.
  • Effector got 237 commits in Q1 2021 and is a leader in "Number of Commits" category.
  • React Query had the biggest number of contributors in Q1 2021 - 40 contributors.
  • React Query made more NPM releases than any other library - 38 releases in total.

Report

Hint: scroll horizontally to see values for all the libraries.

Each library has two links - Moiva and GitHub links. Use Moiva link to see more data about a particular library, to see historical data and trends.

Criteria
Stars
56K
24K
25K
12K
16K
26K
6.7K
19K
7.6K
3K
3K
6K
4.2K
3.1K
1.7K
3.2K
17K
1.3K
New Stars
817
542
831
1.3K
1.3K
612
188
2.7K
1.7K
210
87
156
169
175
69
204
1.6K
53
New Stars, %
1.5%
2.4%
3.5%
11%
9.4%
2.4%
2.9%
17%
29%
7.6%
3%
2.7%
4.3%
6%
4.4%
6.8%
11%
4.4%
Monthly
22M
2.6M
97M
265K
3.4M
6.3M
1.6M
1.2M
204K
151K
222K
198K
131K
43K
71K
217K
1.1M
41K
Monthly % (incr.)
10%
18%
5%
49%
23%
11%
16%
71%
78%
12%
12%
8%
25%
18%
36%
43%
37%
36%
Search Interest, %
36%
4%
13%
-
-
9%
-
-
-
-
-
-
-
-
-
-
-
-
Developer Usage, %
66.8%
13.2%
-
-
4.9%
30.1%
-
-
-
-
-
-
-
-
-
-
-
-
Tech Radar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Releases
0
10
3
2
6
3
3
38
4
6
0
3
4
12
2
1
9
1
Commits
54
52
157
67
187
12
63
119
30
30
3
31
8
237
2
3
84
68
Contributors
7
16
11
16
17
4
12
40
12
13
1
12
1
13
1
2
13
4
Dependencies
2
0
1
1
0
0
1
3
0
1
1
0
5
0
0
0
1
5
Types
BUNDLED
BUNDLED
BUNDLED
SEPARATE
BUNDLED
BUNDLED
BUNDLED
BUNDLED
BUNDLED
BUNDLED
BUNDLED
BUNDLED
BUNDLED
BUNDLED
BUNDLED
BUNDLED
BUNDLED
BUNDLED
Security
Bundle Size
2.6 kB
16 kB
11.1 kB
19.3 kB
16.8 kB
3.9 kB
5.1 kB
11.5 kB
0.8 kB
15 kB
9.2 kB
21.7 kB
10.2 kB
10.4 kB
0.4 kB
0.5 kB
5.1 kB
10.4 kB
Age
6 years
6 years
6 years
12 months
6 years
6 years
4 years
2 years
2 years
3 years
3 years
5 years
2 years
3 years
2 years
3 years
1 year
3 years
License
MIT
MIT
Apache-2.0
MIT
MIT
MIT
MIT
MIT
MIT
Apache-2.0
MIT
MIT
MIT
MIT
MIT
MIT
MIT
MIT

Popularity: GitHub Stars

Popularity: NPM Downloads

Development Activity: commits, releases, and contributors


← all posts

Subscribe to the monthly newsletter