You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NPM downloads are often not the best way of comparing the usage of two libraries since downloads are easily inflated by CI. Svelte suddenly crossing React in NPM downloads is one of the best examples of this.
Let's look at another example.
If we check the stats of Next.js vs Create React App on npm trends, we can see that next recently crossed react-scripts in the number of downloads.
But does this mean that given a random React project, it's almost equally likely to have been built with Next.js or Create React App? Probably not. Because if we visit the npm pages of these packages, we see this:
next
react-scripts
react-scripts has more than 5x dependents compared to next. Now I understand that for this particular example, it might be arguable that these libraries aren't really used to build npm packages that show up as dependents.
But consider the use-case if we did want to compare two libraries that are used to build other libraries. So for example, if we want to compare how many UI libraries are built with styled-components vs @stitches/react, now the number of Dependents becomes a significantly better measure of comparison than number of downloads.
Suggestion
It'd be great if we had an option to select between Downloads or Dependents just like we can select the time period.
Alternatively, Dependents can be added under the Stats table that shows up below the generated chart. However, most people just look at the chart. I personally didn't even realise the Stats table was there until I scrolled down today to check whether there was a direct npm link to the libraries somewhere on the page. It'd be nice to be more explicit that Dependents is also a fair measure of comparison by providing it as an alternative to Downloads.
The text was updated successfully, but these errors were encountered:
Problem
NPM downloads are often not the best way of comparing the usage of two libraries since downloads are easily inflated by CI. Svelte suddenly crossing React in NPM downloads is one of the best examples of this.
Let's look at another example.
If we check the stats of Next.js vs Create React App on npm trends, we can see that
next
recently crossedreact-scripts
in the number of downloads.But does this mean that given a random React project, it's almost equally likely to have been built with Next.js or Create React App? Probably not. Because if we visit the npm pages of these packages, we see this:
react-scripts
has more than 5x dependents compared tonext
. Now I understand that for this particular example, it might be arguable that these libraries aren't really used to build npm packages that show up as dependents.But consider the use-case if we did want to compare two libraries that are used to build other libraries. So for example, if we want to compare how many UI libraries are built with
styled-components
vs@stitches/react
, now the number of Dependents becomes a significantly better measure of comparison than number of downloads.Suggestion
It'd be great if we had an option to select between Downloads or Dependents just like we can select the time period.
Alternatively, Dependents can be added under the Stats table that shows up below the generated chart. However, most people just look at the chart. I personally didn't even realise the Stats table was there until I scrolled down today to check whether there was a direct npm link to the libraries somewhere on the page. It'd be nice to be more explicit that Dependents is also a fair measure of comparison by providing it as an alternative to Downloads.
The text was updated successfully, but these errors were encountered: