Instalasi Node telah lambat selama bertahun-tahun. Saat menjalankan npm install, sering kali Anda bisa pergi mengambil kopi dan kembali namun proses instalasi di CI masih belum selesai, terutama untuk paket besar seperti @types/node. Aube hadir untuk mengubah keadaan tersebut. Ia mampu menyelesaikan instalasi CI hangat pada proyek nyata dengan 1.400 paket hanya dalam 139 milidetik—sekitar 7,3x lebih cepat dari pnpm dan 3x lebih cepat dari Bun pada skenario yang sama. Hal yang menarik: Aube tetap membaca dan menulis lockfile yang sudah ada, sehingga Anda bisa mencoba langsung tanpa perlu migrasi tim.
Panduan ini membahas apa itu Aube, cara kerjanya sehingga bisa sangat cepat, langkah instalasi, perbandingan dengan pnpm, npm, yarn, dan Bun, serta posisinya dalam workflow pengembangan API harian—terutama bila Anda menggunakan tool seperti Apidog.
Apa Itu Aube?
Aube adalah package manager Node.js yang sangat cepat, dikembangkan oleh en.dev dan berlisensi MIT. Nama "Aube" berarti "fajar" dalam bahasa Prancis, diucapkan "ohb". Proyek ini masih beta (v1.0.0-beta.10 saat tulisan ini dibuat) dan menargetkan kompatibilitas penuh dengan pnpm v11.
Aube mengadopsi model disk yang sama dengan pnpm: global content-addressable store ditambah tata letak symlink terisolasi. Namun, Aube menulis seluruh alur instalasinya dengan native multithreaded—bukan JavaScript. Hasil akhirnya: layout sama, performa jauh lebih baik. Anda bisa menggunakan Aube tanpa harus migrasi tim, karena ia membaca lockfile dari pnpm, npm, yarn, atau Bun dan menulisnya kembali.
Benchmark Aube: Seberapa Cepat?
Benchmark menggunakan proyek real-world dengan sekitar 1.400 paket, diukur dengan hyperfine. Semua skenario menggunakan lockfile yang sudah dikomit. Perbedaan utama adalah cache hangat (hanya hapus node_modules, cache tetap) dan cache dingin (semua dihapus).
Angka-angka dari benchmark resmi:
| Skenario | aube | bun | pnpm | yarn | npm |
|---|---|---|---|---|---|
| Instalasi CI (cache hangat, tanpa node_modules) | 139ms | 416ms | 1.01s | 2.43s | 2.78s |
| Instalasi CI (cache dingin, tanpa node_modules) | 1.12s | 935ms | 1.57s | 6.60s | 4.21s |
install && jalankan test (sudah terinstal) |
21ms | 42ms | 453ms | 351ms | 615ms |
Tambah dependensi (tambahkan is-odd) |
209ms | 414ms | 1.33s | 2.55s | 2.89s |
Instalasi CI hangat adalah kasus utama di pipeline nyata. Dalam skenario ini, Aube 7,3x lebih cepat dari pnpm dan 3x lebih cepat dari Bun. Untuk siklus dev harian (install && test), Aube bisa skip instalasi sepenuhnya jika status sudah up-to-date, sehingga hanya butuh 21ms.
Pada cache dingin, Bun sedikit lebih cepat (935ms vs 1.12s), karena jalur pengambilan tarball Bun sangat optimal untuk cold install. Namun, skenario hangat jauh lebih sering dijumpai dalam workflow sehari-hari.
Untuk reproduksi lokal: jalankan mise run bench di repo Aube.
Kenapa Aube Lebih Cepat dari pnpm dan Bun
Tiga keputusan desain utama:
- Instalasi native, multithreaded. Semua hash, ekstraksi tarball, dan symlink dilakukan di native code, bukan JavaScript. Ini memangkas overhead besar, terutama pada instalasi hangat.
- Global virtual store default. Berbeda dari pnpm (yang baru default pada v11), Aube selalu menggunakan virtual store global, jadi file berat seperti React/TypeScript hanya ada satu kali di disk dan di-link ke banyak proyek.
-
Short-circuit install dengan install status file. Jika hash
package.jsondan lockfile cocok dengan status sebelumnya, instalasi bisa dilewati—hasilnya siklusinstall && testhanya 21ms.
Tidak ada magic—hanya desain yang fokus pada kecepatan dan efisiensi, dengan menghilangkan bottleneck JavaScript dan mengasumsikan sebagian besar instalasi tidak butuh perubahan.
Cara Instalasi Aube
Metode rekomendasi: mise:
mise use -g aube
Cek versi:
aube --version
Alternatif via npm:
npm install -g @endevco/aube
Via Homebrew (macOS/Linux):
brew install endevco/tap/aube
Lock versi lokal proyek:
mise use aube
Ini menambahkan entri di mise.toml, sehingga setiap shell di folder proyek memakai versi sama. Lihat juga dokumentasi instalasi untuk opsi tarball dan OS lain.
Perintah Harian yang Sering Dipakai
CLI Aube mirip pnpm, sehingga mudah adaptasi:
aube install # instalasi dependensi
aube add react # tambah dependensi
aube add -D vitest # tambah dev dep
aube remove react # hapus dependensi
aube update # update sesuai package.json
aube run build # jalankan skrip
aube test # jalankan skrip test, auto install jika perlu
aube exec vitest # jalankan bin lokal
aube dlx cowsay hi # jalankan package di temp env
aube ci # instalasi clean, frozen untuk CI
Ada alias multicall:
aubr build # sama dengan aube run build
aubx cowsay hi # sama dengan aube dlx cowsay hi
Untuk pipeline CI, gunakan aube ci agar instalasi bersih dan lockfile diverifikasi keras.
Kompatibilitas Lockfile
Aube mendukung lockfile dari berbagai package manager:
| Lockfile | Membaca | Menulis di tempat |
|---|---|---|
aube-lock.yaml |
ya | ya |
pnpm-lock.yaml v9 |
ya | ya |
package-lock.json v2/v3 |
ya | ya |
npm-shrinkwrap.json |
ya | ya |
yarn.lock (v1 klasik + v2+ berry) |
ya | ya |
bun.lock |
ya | ya |
Contoh praktis: Tim Anda tetap pakai pnpm di CI, Anda bisa pakai Aube lokal. Aube membaca pnpm-lock.yaml, hasil instalasi dan perubahan lockfile tetap kompatibel. Tim bisa migrasi bertahap, tanpa risiko lockfile conflict.
Catatan: Lockfile pnpm v5/v6 harus diupgrade dulu, dan Yarn PnP perlu pindah ke mode node_modules untuk Aube.
Default Aman = Lebih Penting dari yang Anda Kira
Insiden supply chain npm makin sering terjadi. Panduan keamanan npm dan kasus Axios menunjukkan bahayanya.
Aube menerapkan tiga default keamanan:
- Usia rilis minimum. Paket baru akan menunggu waktu tertentu sebelum bisa diinstall.
- Blokir dependensi eksotis. Dependensi yang bentuknya mencurigakan (URL aneh, patch, git ref di tempat semver) diblokir kecuali Anda setujui.
-
Persetujuan skrip lifecycle. Skrip
postinstalldilewati kecuali Anda approve denganaube approve-builds.
Dengan ini, Anda sadar penuh terhadap kode apa yang dijalankan saat install.
Tata Letak Modul Node
Aube menggunakan layout node_modules isolasi:
-
node_modules/berisi dep utama. - Dep transitive di balik
node_modules/.aube/. - File paket disimpan sekali di
$XDG_DATA_HOME/aube/store/(~/.local/share/aube/store/).
Konsekuensi:
- Proyek dengan dep tumpang tindih berbagi file paket.
- Impor hantu lebih sulit—harus ada di
package.json. - Instalasi ulang hanya perlu hardlink dari store.
Jika sebelumnya pakai layout datar (npm klasik/yarn v1), mungkin ada paket rusak karena bergantung pada dep hantu—solusinya tambahkan dep ke package.json.
Workspace & Monorepo
Aube mendukung workspace dan protokol workspace::
aube install -r
aube run test -r
aube add zod --filter @acme/api
Aube membaca pnpm-workspace.yaml atau memakai aube-workspace.yaml untuk workspace baru. Flag -r dan --filter kompatibel dengan pnpm, sehingga setup turborepo/nx tetap mulus.
Untuk monorepo API, kecepatan install hangat di CI sangat signifikan. Jika pipeline Anda banyak melakukan install/build/test/publish, memangkas waktu install dari 1 detik (pnpm) ke 139ms (Aube) pada banyak paket akan menghemat waktu nyata setiap hari.
Aube dalam Workflow Pengembangan API
Untuk pengembangan dan testing API, instalasi cepat memperpendek feedback loop antara perubahan dan validasi.
Workflow efisien:
- Rancang & mock API di Apidog. Schema-first lebih baik untuk tim.
- Generate client typed / jalankan contract tests di proyek Node.
- Pakai Aube untuk instalasi milidetik selama iterasi klien.
- Hubungkan test ke CI via
aube ci.
Perpindahan dari Postman ke tool cepat & lokal makin umum. Jika Anda sudah menjalankan Apidog di VS Code, tambah Aube untuk instalasi—cukup mise use dan waktu reload makin singkat.
Migrasi dari Package Manager Lain
Dari npm:
Jalankan aube install. Aube baca dan tulis package-lock.json. Layout berubah jadi isolasi—jika ada dep hantu rusak, tambahkan ke package.json. Lihat panduan npm users.
Dari pnpm:
Migrasi tanpa friksi. Aube baca pnpm-lock.yaml v9, protokol workspace dan filter work. Lihat halaman pnpm-users untuk flag yang berbeda.
Dari yarn:
Aube baca yarn.lock v1/v2+. Untuk Yarn PnP, ubah dulu ke mode nodeLinker: node-modules.
Dari Bun:
Aube baca bun.lock. Perbedaan utama: Bun sangat terintegrasi dengan runtime JS-nya, Aube hanya installer. Sudah pakai mise untuk Node? Aube tinggal plug and play.
Pertimbangan Praktis
- Status Beta: Per April 2026, Aube masih beta. Target kompatibilitas pnpm v11, tapi belum diuji di semua proyek. Coba lokal dulu, jangan langsung pasang di pipeline produksi.
- Scope: Aube tidak mengulang fitur mise (runtime/env setup, self-update). Beberapa helper registry (search, token, dll) hanya stub—pakai npm jika perlu.
- Dukungan Platform: mise mendukung macOS, Linux, Windows (via WSL). Windows native ada, tapi masih experimental. Cek halaman instalasi untuk detail.
- Komunitas: Discord, 325+ bintang GitHub, CI oleh Buildkite.
FAQ
Apa arti "aube"?
Fajar, dalam bahasa Prancis. Diucapkan "ohb". Slogan: "fajar baru instalasi Node".
Apakah Aube pengganti langsung untuk pnpm?
Hampir. Kompatibel dengan pnpm v11 dan lockfile-nya. Sebagian besar workflow bisa migrasi tanpa perubahan. Fitur non-installasi tetap di alat lain.
Bisa pakai Aube di CI tapi pnpm lokal (atau sebaliknya)?
Ya! Aube membaca/menulis pnpm-lock.yaml in-place. Bisa mix penggunaan, migrasi bertahap, tanpa risiko lockfile.
Bagaimana perbandingan Aube dengan Bun?
Pada install hangat, Aube ~3x lebih cepat dari Bun; pada install dingin, Bun sedikit unggul. Bun bawa runtime JS, Aube hanya installer (Node-agnostik). Penjelasan layout isolasi lebih jauh.
Aube support Windows?
Via WSL ya. Native ada tapi tahap awal. mise paling mudah untuk install/update di semua OS.
Aube open source?
Ya, MIT, GitHub.
Apa yang terjadi dengan lockfile lama saya?
Aube baca, install, dan tulis kembali lockfile yang sama. Rekan tim dengan pnpm akan melihat diff lockfile seperti biasa.
Kesimpulan
Untuk hampir semua proyek Node di 2026, step instalasi seharusnya bisa jauh lebih cepat. Aube adalah package manager Node.js tercepat untuk skenario instalasi hangat dan perintah berulang—139ms untuk install 1.400 paket di CI, 21ms untuk install && test jika tidak ada perubahan, dan 90% penghematan disk di banyak proyek. Anda bisa langsung coba tanpa migrasi tim, cukup satu baris mise use aube.
Jika Anda sudah menguji API dengan klien supercepat seperti Apidog, Aube adalah pasangan ideal untuk step instalasi. Unduh Apidog jika belum, kombinasikan dengan Aube untuk workflow Node Anda berikutnya, dan rasakan feedback loop yang jauh lebih rapat.


Top comments (0)