~ $ cd open-source/packages && cat README.md

What strangers install

Thirty-four packages on npm are mine. Most were written for one project and are of interest only to it. None was ever promoted, and a few kept being installed anyway, years after I had stopped looking:

package2015 to 2025, a bar a yeardownloads
string-cache-mapa WeakMap replacement for string keys, with a bounded cache behind it2015: 02016: 02017: 02018: 4882019: 4342020: 3432021: 6,5682022: 50,8902023: 20,8482024: 10,8422025: 10,569100,982
async-barriera helper that makes async/await tests say what they wait for2015: 02016: 02017: 02018: 2932019: 7112020: 6132021: 1,2552022: 13,7482023: 14,8362024: 23,0662025: 17,44471,966
spy-middlewarea Redux middleware for spying on actions in tests2015: 02016: 02017: 02018: 8032019: 1,1192020: 5852021: 3,7582022: 2,9812023: 3,4592024: 9,1902025: 5,99027,885
grunt-frontmattera Grunt task: many files with YAML front matter into one JSON2015: 1,6022016: 5,3492017: 6,5362018: 3,2712019: 1,4182020: 4312021: 1,0102022: 5342023: 4712024: 1,0232025: 44222,087
object-canonical-keysalways the same array of keys for the same keys, so comparisons stay cheap2015: 02016: 02017: 02018: 702019: 982020: 1932021: 2,0482022: 1,8872023: 1,8732024: 3,4072025: 2289,804
async-deferrerone function that returns a promise, or resolves it2015: 02016: 02017: 02018: 3122019: 3272020: 3252021: 2,1692022: 1,2982023: 9722024: 4702025: 3586,231
the other 28mostly AngularJS and Redux helpers written for one project each2015: 3,0712016: 5,2702017: 3,8172018: 4,6272019: 3,6772020: 3,5882021: 3,9602022: 3,5052023: 4,2852024: 2,3672025: 3,54541,712
all of them2015: 4,6732016: 10,6192017: 10,3532018: 9,8642019: 7,7842020: 6,0782021: 20,7682022: 74,8432023: 46,7442024: 50,3652025: 38,576280,667

Source: npm, Inc. Download counts of the public registry. The dataset, at its source. This site keeps sums of the finished years 2015 to 2025, last added to on 21 September 2026.

Each row of bars is on its own scale: it shows the shape of a package's life, and the number beside it says how much.

What is in it

What it is not

A download is not a person. The registry counts every mirror, every robot and every build server that ever ran an install, and one company's continuous integration can be most of a package's year. What the numbers do say is that the code is in use somewhere, by someone who found it on their own and did not replace it.

~/open-source/packages $

~/open-source/packages $