API unduhan npm adalah salah satu sumber data adopsi paling murah yang ada: tanpa kunci, tanpa registrasi, dan bisa dipakai dari satu baris curl. Angka di bawah ini ditarik pada 21 September 2026 dari titik data last-week, jadi semua adalah jumlah unduhan dalam jendela tujuh hari yang berakhir saat itu. Tidak ada perkiraan, tidak ada angka dari ingatan. Yang perlu dibaca lebih hati-hati justru bagian setelah tabel, yaitu apa yang tidak bisa disimpulkan dari angka-angka itu.
TL;DR
- Data unduhan npm dengan titik data last-week ditarik pada 21 September 2026 tanpa autentikasi dan tanpa perkiraan.
- zod memimpin dengan 214.035.158 unduhan sepekan, disusul typescript 206.765.969 dan esbuild 201.739.347.
- Di kategori framework server, express memimpin dengan 98,6 juta unduhan, disusul hono 46,5 juta, @nestjs/core 10,2 juta, fastify 9,6 juta, dan koa 5,1 juta.
- Angka unduhan tidak bisa dibaca mentah karena CI, pemasangan ulang, dan rantai dependency membuat paket lapisan toolchain selalu unggul hitungan.
- Angka ini hanya cocok sebagai penyaring awal, bukan alasan tunggal memilih teknologi karena tidak mengukur kesehatan, keamanan, atau ukuran paket.
Tabel unduhan tujuh hari
| Paket | Unduhan sepekan |
|---|---|
| zod | 214.035.158 |
| typescript | 206.765.969 |
| esbuild | 201.739.347 |
| node-fetch | 140.959.689 |
| @babel/core | 134.818.976 |
| undici | 133.306.364 |
| vite | 131.993.354 |
| react | 131.280.308 |
| pnpm | 128.950.358 |
| jose | 95.602.581 |
| tailwindcss | 95.036.933 |
| express | 98.611.198 |
| axios | 84.458.230 |
| playwright | 69.540.394 |
| hono | 46.561.453 |
| next | 42.656.664 |
| webpack | 41.249.519 |
| zustand | 39.939.581 |
| got | 29.803.744 |
| drizzle-orm | 16.222.339 |
| @nestjs/core | 10.230.882 |
| bcryptjs | 9.684.997 |
| fastify | 9.611.785 |
| puppeteer | 8.304.829 |
| yarn | 6.651.927 |
| ky | 5.125.491 |
| koa | 5.104.508 |
| bcrypt | 4.454.256 |
| @langchain/core | 3.994.617 |
| argon2 | 1.611.340 |
| pm2 | 2.526.620 |
Lapisan toolchain selalu menang hitungan
Posisi teratas diduduki zod, typescript, dan esbuild, bukan aplikasi framework. Pola itu masuk akal begitu diingat bahwa unduhan npm dihitung per pemasangan paket, termasuk pemasangan ulang di tiap pekerjaan CI, tiap kontainer yang dibangun ulang, dan tiap workspace monorepo. Sebuah pustaka kecil yang menjadi dependency dari ratusan paket lain akan terus menumpuk unduhan walau tidak ada satu pun pengembang yang menyentuhnya langsung.
Implikasinya untuk pengambilan keputusan: peringkat antarpaket dalam kategori yang sama relatif berguna, sedangkan membandingkan lintas lapisan hampir selalu jebakan. vite 131,9 juta versus next 42,6 juta bukan berarti builder dipakai tiga kali lebih banyak daripada framework; keduanya berada di lapisan yang berbeda dalam rantai pemasangan. Beda kasus adalah hono 46,5 juta versus express 98,6 juta: keduanya pustaka web, satu jenis beban pemasangan, jadi selisihnya lebih layak dibaca.
Framework server: express masih terbesar, hono paling dekat
Dalam satu kategori yang sama, express memimpin di 98,6 juta, disusul hono 46,5 juta, @nestjs/core 10,2 juta, fastify 9,6 juta, dan koa 5,1 juta. Yang jarang ditulis di utas media sosial: selisih express dan hono masih sekitar dua kali lipat, jadi klaim bahwa yang lama sudah ditinggalkan tidak didukung angka ini. Yang juga penting, hono punya profil pemasangan yang berbeda karena dipakai sebagai bagian dari produk dan template framework lain, sehingga sebagian unduhannya datang dari rantai dependency, bukan dari aplikasi akhir.
Satu angka yang layak diperhatikan tim yang memilih teknologi: @langchain/core di 3,99 juta, jauh di bawah pustaka validasi atau HTTP di daftar yang sama. Untuk ekosistem yang ramai dibicarakan, itu sinyal bahwa percakapan dan pemasangan nyata tidak selalu bergerak dengan kecepatan yang sama.
Kasus bcryptjs, bcrypt, dan argon2
Tiga paket untuk urusan kata sandi memberi angka yang menarik: bcryptjs 9,68 juta, bcrypt 4,45 juta, argon2 1,61 juta. Versi pure-JavaScript dari bcrypt terpasang lebih banyak daripada versi native. Penjelasannya kemungkinan besar praktis, bukan soal keamanan: paket native membutuhkan toolchain kompilasi dan binary untuk arsitektur yang tepat, dan itu menyakitkan di image minimal atau lingkungan CI yang beragam. Ini interpretasi, bukan angka dari sumbernya, tapi konsisten dengan pengalaman umum memasang paket native di Linux.
Yang tidak boleh disimpulkan dari tabel ini adalah urutan kekuatan algoritma. Jumlah unduhan tidak mengukur keamanan. Kalau yang dicari adalah dasar pengambilan keputusan soal hashing kata sandi, rujukannya lembar contekan penyimpanan kata sandi dari OWASP, bukan peringkat npm.
Paket HTTP: node-fetch dan undici masih di atas axios
node-fetch 140,9 juta dan undici 133,3 juta berada di atas axios 84,4 juta, disusul got 29,8 juta dan ky 5,1 juta. Dua yang pertama banyak hadir sebagai dependency paket lain, termasuk perkakas SDK dan alat build, jadi posisinya tidak serta-merta berarti pengembang memilihnya secara sadar. Untuk aplikasi yang perlu memanggil API pihak ketiga, axios dalam konteks ini justru lebih mencerminkan pilihan langsung.
Begini cara menarik datanya sendiri
Semua angka di atas bisa diambil ulang dengan satu loop:
for p in zod vite hono express fastify playwright; do
echo -n "$p "
curl -s "https://api.npmjs.org/downloads/point/last-week/$p" | jq -r .downloads
doneTitik datanya tersedia juga dalam rentang lain, misalnya last-day dan last-month, atau window tanggal tertentu dengan pola 2026-09-01:2026-09-07. Paket berscope butuh alamat yang di-escape, jadi @babel/core diambil sebagai @babel%2Fcore. Kalau angka tidak muncul untuk paket baru, tunggu 24 jam sebelum curiga query-nya salah.
Batasan yang wajib ditulis di samping angkanya
- Satu jendela waktu saja. Data di artikel ini adalah tujuh hari, bukan tren. Kesimpulan naik atau turun butuh beberapa titik waktu, dan itu tidak ada di sini.
- Tidak ada penghitung unik. Yang diukur adalah unduhan, bukan jumlah proyek atau jumlah developer.
- CI mendominasi. Proyek dengan banyak pipeline menghasilkan banyak unduhan tanpa menambah pengguna baru.
- Dependency tidak bisa dibedakan dari pemasangan langsung. API tidak memisah keduanya, jadi paket utilitas akan selalu tampak besar.
- Ekosistem lain tidak ikut. angka ini khusus npm, dan tidak berlaku untuk pustaka Python, Go, atau PHP.
Dengan batasan itu, kegunaan riil tabel ini adalah sebagai penyaring awal, bukan alat pahat. Tiga pertanyaan yang bisa dijawab dengan angka ini: apakah pustaka ini benar-benar dipakai orang, apakah versinya yang lo incar tidak sendirian di dunia, dan apakah ada alternatif sekategori yang layak dibandingkan. Pertanyaan seperti siapa yang merawat, seberapa cepat isu ditutup, dan apakah paket itu pernah jadi sasaran serangan, harus dijawab dari sumber lain: repositori, advisory, dan register paket.
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬