npmpulse

Fastest growing

The trailing twelve months against the twelve before them, for the 77 tracked packages that did more than 10M downloads in the earlier year. drizzle-orm leads, at 8.18 times.

The floor is doing real work. Without it the list is topped by packages that went from a handful of downloads a year to a few thousand — a multiple of a hundred that says nothing about anything. Ten million in the earlier year keeps it to packages where a doubling is news.

Growth over the trailing twelve months
PackageThe year beforeLast 12 monthsMultiple
drizzle-orm59M480M8.18×
tsx373M2.4B6.46×
zod1.3B7.8B5.97×
astro25M131M5.26×
vitest534M2.7B5.03×
undici941M4.6B4.90×
solid-js25M118M4.73×
tailwindcss865M4.1B4.72×
zustand353M1.6B4.60×
next520M1.8B3.45×
playwright780M2.6B3.33×
esbuild2.7B8.9B3.25×
vite1.6B5.2B3.23×
react-dom1.7B5.4B3.18×
preact298M945M3.17×
react1.8B5.7B3.17×
prisma181M557M3.08×
fastify123M360M2.94×
immer712M2B2.87×
nanoid2.7B7.8B2.86×
clsx1.4B4B2.76×
rollup1.8B4.8B2.68×
jotai75M200M2.68×
date-fns1.4B3.5B2.40×
dotenv2.6B6.1B2.37×
redux629M1.5B2.36×
express2B4.6B2.30×
typescript4B9.1B2.28×
postcss4.6B10B2.20×
luxon643M1.4B2.14×
eslint2.7B5.8B2.13×
chokidar3.7B7.7B2.10×
node-fetch3.3B6.8B2.05×
cross-env438M895M2.04×
lit132M269M2.04×
svelte98M200M2.04×
ajv6.9B14B2.00×
dayjs1.2B2.4B1.98×
lodash3.4B6.6B1.93×
alpinejs13M26M1.93×
commander9.6B18B1.91×
puppeteer241M461M1.91×
prettier2.5B4.7B1.90×
koa187M346M1.85×
mobx92M164M1.79×
vue326M575M1.76×
minimist3.6B6.3B1.74×
glob9.6B16B1.69×
nuxt44M75M1.68×
yargs5.6B9.4B1.68×
joi589M985M1.67×
semver20B33B1.67×
mongoose158M257M1.63×
axios3.1B5B1.63×
uuid7.3B12B1.62×
classnames779M1.3B1.62×
sass837M1.3B1.58×
stylelint275M434M1.58×
rxjs2.7B4.2B1.55×
underscore716M1.1B1.55×
nodemon385M594M1.54×
webpack1.5B2.3B1.49×
styled-components324M481M1.48×
jest1.5B2.1B1.41×
got1.2B1.7B1.41×
ava21M29M1.39×
yup387M538M1.39×
tslib13B18B1.37×
moment1.2B1.6B1.35×
chalk16B22B1.34×
rimraf5.1B6.8B1.33×
sequelize104M135M1.30×
angular22M29M1.30×
mocha546M685M1.26×
cypress305M353M1.16×
ramda580M661M1.14×
selenium-webdriver87M98M1.13×

2 tracked packages are not listed: either they did less than the floor in the earlier year, or their record is shorter than two full years, so there is no year to compare against.

Where these numbers come from

Download counts are npm's own, published through its downloads API. They count installs rather than people, so they include CI, mirrors and repeated installs, and a package pulled in as a dependency counts for that package too.

npm's API returns at most 549 days for a single package and 365 when several are compared, and truncates an over-long range rather than refusing it. npmpulse asks for the whole span in 365-day chunks and stitches the answers together, which is what makes a chart that starts in 2015 possible at all.

npm reports 0 for every package from 2015-01-10 until 2015-02-27, when its real records begin; those leading zeros are trimmed rather than charted. Individual days it lost entirely are interpolated, and the most recent day or two, which it has not finalised, is dropped. The monthly figures here are complete calendar months, so a package that started mid-month begins with the following one.

A handful of months are inflated in npm's own figures. svelte's 2022-11-23 records 5.0M downloads against a norm nearer 80K, and November 2022 is a spike in several packages at once; they are left alone here, because they are what the source says, but a one-month jump is treated as a spike rather than as a change of fortune. That is why the comparisons below only call a lead change a lead change when it held for a second month.

A package's record can also begin before the package did: npm names get reused. Where a first day is a handful of downloads, that is what you are looking at — the earlier life of the name rather than a slow launch. Where it is hundreds of thousands, the opposite is true, and what is missing is upstream history rather than usage.

Snapshot of 2026-10-13. Figures run through 2026-10-11.