I dredged up some old scripts and went spelunking in npm's public APIs to see what happened in 2020; a thread.

First up: registry traffic continues to grow exponentially. Microsoft is footing the bill these days, so that graph is no longer my problem.
I figured I'd check in on React, and there's a surprise: React's share of registry peaked at the beginning of 2019 and has been declining pretty consistently since then.
A note on Share of Registry if you've not seen it before: it is the number of downloads of that package as a percentage of all registry downloads in that month. So usually a very small percentage. But it compensates for the fact that absolute downloads always grow.
Let's see who's stealing React's thunder. Is it Vue? (If it's not obvious, I am doing this in real time, I do not know what the answers are going to be).

Vue's seen really great growth but seems to have plateaued in 2020.
But the decline in React(+Preact) and Vue don't seem to match up very well. React's decline seems to be going elsewhere. If you can think of a potential alternative that might be it, please reply and I'll pull the data!
Narrator: it was not jQuery. https://twitter.com/willmanduffy/status/1345510644288782339
Svelte has been seeing *excellent* growth in the last 2 years but relative to the juggernaut that is React it's nowhere yet (thanks @ygaitonde).
Hmm, here's a piece of the puzzle: Jest has not declined even though React has. What could account for that? https://twitter.com/glidej/status/1345512841432936449
It's not a revival in Angular. This is both AngularJS + Angular 2+, which continue their long decline.
Rebecca makes an excellent point here: it's all relative to the global registry, so if some *non* framework package is suddenly very popular it could push everything else down relative to it. Types are a good guess! Let me go looking for them. https://twitter.com/i_a_r_n_a/status/1345515354840297477
So TypeScript itself is showing a plateau. To be pushing React down by sheer weight of numbers it would have to be growing *much* faster than this. Let's look for a corroboration...
This is the @types/node package (one of the oldest type packages, hence I use it for reference). Its downloads are exploding! This lends credence to the idea that maybe some of the plateau we're seeing is from explosive growth in the number of @types packages and d/ls.
But if that were the case we'd surely see downloads for @types/react rising along with the other typed packages, and that's not happening. In fact, it's declining in line with React itself. So I buy that the growth in type packages is contributing to a plateau, but there's more.
TIL Jest isn't just for React, so maybe that was a red herring: https://twitter.com/ysaw/status/1345516659818172416
While we're pondering, let's check out what I think of as the "new class" frameworks: the N**t trio and Gatsby. Relative to React they are barely there:
Relative to each other, Next is showing the strongest growth, followed by Nest. Given the overall headwinds in the registry which seem to be creating plateaus for huge packages, these are growing *very* fast.
Jamie makes the same point Rebecca did: React is *in absolute terms* still growing, it's just declining as a share of Registry. So it could mean there's some new package or set of packages that aren't competitors that are growing really fast. But which? https://twitter.com/buildsghost/status/1345523030357803008
Several people like @sarah_edo suggested that maybe everybody has a copy of React already so downloads have slowed. But generally downloads from npm are driven by empty CI machines, making downloads a proxy of "sites being deployed" rather than individuals https://twitter.com/ianlivingstone/status/1345523228102569985
Another possibility from Jamie: maybe all package trees are getting deeper (that's certainly been the trend for years), meaning all individual packages count for a smaller share. I don't have the data to prove or disprove that one, not from this API. https://twitter.com/buildsghost/status/1345523572949696512
@TimHaines wanted to know how Tailwind CSS is doing and the answer is *beautifully*, what a pretty curve that is. Maybe it's one of the non-competing frameworks putting pressure on the registry overall?
@jbaxleyiii asked about GraphQL; here's Apollo client and relative to React. Its growth *does* go with the downward pressure on React. I am beginning to buy more and more into this story of a diversifying registry.
If front-end frameworks are no longer dominating the registry such that their growth relative to each other can be measured relative to the whole registry I'm going to have to come up with a new metric to compare frameworks! Maybe measure everything relative to React?
@DNeighly asked me to compare React to Express, which reminds me that there is precedent for this. Express has more downloads than ever before, but the registry diversified around it, meaning it looks like it declined. It could be that this is what's happening to React! Neat!
@kevinmarks mentioned Eleventy; it's got solid exponential growth going on (I think that last month is a blip) but is not yet caught up to the bigger frameworks:
I think that's it for this evening, this was a fun little dive. Shameless plug: if you'd like me to do more research, invite me to your conference and I'll package this all up and dig some more :-p
One last thing: I said it at the start, but remember, it's all relative! Here's React's absolute growth in downloads. More React usage than ever before! But it looks like the npm ecosystem is growing around it and it's no longer such a dominating voice.
You can follow @seldo.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.