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.
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.
Tiga hal yang layak dicek sebelum menambah dependency
Unduhan menjawab soal popularitas, bukan kesehatan. Register npm sendiri menyimpan informasi yang lebih relevan untuk itu, dan bisa diambil dengan cara yang sama murahnya:
curl -s https://registry.npmjs.org/hono | jq -r .license
curl -s https://registry.npmjs.org/hono | jq -r '.time | to_entries[-1].key'
curl -s https://registry.npmjs.org/hono | jq -r 'keys | length'Tiga field yang biasanya menentukan keputusan: tanggal rilis versi terbaru, lisensi, dan apakah paket itu bagian dari monorepo besar. Versi terakhir yang keluar tahun lalu belum tentu buruk, tapi itu sinyal untuk memeriksa apakah isu dan pull request masih direspons. Untuk lisensi, yang perlu dipastikan bukan cuma ada tulisannya, tapi cocok dengan cara paket dipakai; paket yang lisensinya berubah antar-versi adalah sumber masalah yang lebih sering muncul daripada yang diakui.
Satu hal lagi yang tidak diukur oleh unduhan sama sekali: ukuran. Pustaka yang diinstal jutaan kali per minggu bisa punya dampak yang berbeda di bundel akhir tergantung pada berapa banyak kodenya yang benar-benar ikut terbawa. Karena itu angka unduhan paling berguna ketika didudukkan berdampingan dengan hasil build, bukan berdiri sendiri.
Angka yang paling sering disalahartikan: pengelola paket dan alat uji
pnpm di 128,9 juta sementara yarn di 6,6 juta adalah selisih 19 kali, dan angka itu hampir pasti bukan cerminan jumlah tim yang memakai masing-masing. Pengelola paket diinstal ulang di tiap image CI, di tiap setup lingkungan baru, sementara sebagian proyek memakai yarn yang sudah ikut terpasang di perkakas lain dan tidak pernah diinstal ulang. Arahnya jelas, tapi besaran selisihnya tidak bisa dibaca mentah.
Playwright di 69,5 juta dan puppeteer di 8,3 juta punya pola yang sama dengan alasan berbeda: Playwright diinstal oleh banyak proyek uji lintas bahasa dan sering dipasang bersama integrasi continuous integration resmi, sehingga hitungan unduhannya membawa seluruh ekosistem itu. Untuk yang memilih di antara keduanya, dokumen resminya dan cara tiap perkakas menangani lintas peramban jauh lebih menentukan daripada peringkat unduhan.
Kenapa jose dan zustand besar tapi jarang disebut di rapat
jose mencatat 95,6 juta unduhan, satu tingkat di bawah express, sementara zustand di 39,9 juta. Keduanya jarang jadi bahan keputusan arsitektur karena biasanya datang sebagai bawaan: pustaka token dan sesi yang dipakai kerangka autentikasi, atau pustaka state yang dipakai template dan komponen siap pakai. Ini pengamatan yang diturunkan dari posisinya di daftar, bukan angka yang bisa dibuktikan dari API unduhan, dan justru karena itu ia layak diperlakukan sebagai pertanyaan, bukan kesimpulan. Cara memverifikasinya sederhana: periksa siapa saja yang mencantumkan paket itu sebagai dependency di halaman dependents repositorinya.
Pertanyaan yang masuk akal soal angka ini
Kenapa zod tertinggi? Karena ia berada di lapisan yang disentuh hampir semua jalur: validasi input, bentuk data antar layanan, dan skema konfigurasi. Ditambah lagi, banyak pustaka lain memakainya sebagai bagian dari antar muka publiknya, sehingga unduhannya datang dari dua arah sekaligus.
Boleh dipakai untuk memilih teknologi baru? Boleh sebagai penyaring awal. Tidak boleh sebagai alasan tunggal, karena tabel ini tidak memberi informasi soal kualitas pemeliharaan, kecepatan respons isu, dan riwayat keamanan.
Kapan angka ini kedaluwarsa? Saat jendela waktunya bergeser. Karena itu setiap angka di halaman ini wajib dibaca bersama tanggal penarikannya, yaitu 21 September 2026.
Catatan metode pengambilan
Angka pada tabel diambil dengan satu loop shell terhadap endpoint titik data unduhan, satu permintaan per paket, tanpa autentikasi. Bentuk permintaannya persis seperti yang tertulis di halaman ini, jadi hasilnya bisa diulang. Untuk paket berscope, nama perlu ditulis dengan pemisah yang di-escape, misalnya @babel%2Fcore. Dua hal yang perlu diingat saat mengulang angka ini: jendela last-week bergeser setiap hari, jadi hasil besok tidak akan sama persis, dan unduhan pertama sebuah versi baru kadang baru muncul di data setelah jeda pendek. Kalau butuh angka yang bisa dilacak ke periode spesifik, pakai rentang tanggal eksplisit, bukan nama jendela relatif, lalu arsipkan respons mentahnya bersama tanggal pengambilan.
Sumber
- Dokumen API unduhan npm dan endpoint titik data yang dipakai untuk seluruh angka di halaman ini, diambil 21 September 2026.
- GitHub Advisories dan katalog CISA KEV sebagai pelengkap bila yang ditelusuri adalah risiko, bukan popularitas.
- OWASP Password Storage Cheat Sheet untuk perbandingan algoritma hashing.
Kalau angka mingguan ini ingin dijadikan kebiasaan, simpan hasil loop di atas ke satu berkas bertanggal tiap Senin. Dalam tiga bulan akan ada yang lebih berharga daripada tabel mana pun, yaitu deretan waktu yang bisa dibandingkan, dan itu tidak bisa dibeli dengan satu query.
Rekomendasi Tools & Layanan
Mau langsung nyobain AI yang dibahas di artikel ini tanpa setup ribet? AI token plan Alibaba Cloud ngasih akses ke Qwen, DeepSeek, dan model lain lewat satu API — dan platform Qwen buat build agent sendiri. Free tier-nya cukup buat eksperimen pertama.
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬