- Apa Itu Package Manager di Bun
- Inisialisasi Proyek Baru
- Menambahkan Package (bun add)
- Menghapus Package (bun remove)
- Menginstal Semua Dependensi (bun install)
- Menjalankan Script (bun run)
- Mengelola Versi Dependency
- Kesimpulan
Halo teman-teman semuanya, setelah sebelumnya kita berhasil menjalankan file JavaScript dan TypeScript menggunakan Bun, sekarang kita akan membahas salah satu fitur paling menarik dari Bun, yaitu Package Manager.
Jika di Node.js kita mengenal npm atau yarn untuk mengelola dependensi, maka di Bun kita menggunakan bun install, bun add, dan bun remove. Yang membedakannya adalah Bun memiliki package manager bawaan yang super cepat, tanpa perlu instalasi tambahan sama sekali.
Apa Itu Package Manager di Bun
Package Manager berfungsi untuk mengunduh, memperbarui, dan menghapus library atau dependency yang dibutuhkan oleh sebuah proyek.
Bun menggunakan sistem cache yang efisien dan koneksi paralel untuk mempercepat proses instalasi hingga beberapa kali lipat dibandingkan npm atau yarn.
Saat pertama kali menjalankan perintah instalasi, Bun akan otomatis membuat file bun.lock dan node_modules, mirip seperti package-lock.json pada npm.
Inisialisasi Proyek Baru
Untuk memulai sebuah proyek baru dengan Bun, jalankan perintah berikut di terminal:
bun init
Perintah ini akan menampilkan wizard interaktif seperti berikut:
? Select a project template - Press return to submit.
❯ Blank
React
Library
Setelah selesai, Bun akan membuat file package.json dan menyiapkan struktur proyek dasar yang siap digunakan.
Menambahkan Package (bun add)
Untuk menambahkan package baru, gunakan perintah:
bun add axios
Bun akan langsung mengunduh dan memasukkan axios ke dalam daftar dependensi di file package.json. Proses ini biasanya hanya berlangsung dalam hitungan milidetik.
Contoh hasil package.json setelah instalasi:
{
"name": "myapp",
"module": "index.ts",
"type": "module",
"private": true,
"devDependencies": {
"@types/bun": "latest"
},
"peerDependencies": {
"typescript": "^5"
},
"dependencies": {
"axios": "^1.13.2"
}
}
Kita bisa menambahkan lebih dari satu package sekaligus:
bun add express cors dotenv
Selain itu, kita juga dapat menambahkan package untuk pengembangan saja menggunakan flag -d atau --dev:
bun add typescript -d
Menghapus Package (bun remove)
Untuk menghapus package dari proyek, gunakan perintah:
bun remove axios
Bun akan menghapus package dari folder node_modules dan memperbarui package.json secara otomatis.
Menginstal Semua Dependensi (bun install)
Jika kita meng-clone proyek dari GitHub atau mendapatkan proyek orang lain, cukup jalankan:
bun install
Perintah ini akan membaca daftar dependensi dari package.json dan menginstalnya semua dengan sangat cepat. Tidak perlu menunggu lama seperti npm, karena Bun menyimpan cache dependensi secara efisien di sistem lokal.
Menjalankan Script (bun run)
Bun juga bisa menjalankan script yang terdapat di dalam package.json seperti halnya npm. Misalnya di dalam file package.json terdapat:
{
"scripts": {
"start": "bun run app.js",
"dev": "bun run server.ts"
}
}
Maka kita bisa menjalankannya dengan:
bun run start
atau
bun run dev
Mengelola Versi Dependency
Bun juga mendukung penggunaan versi tertentu dari sebuah package. Contohnya, untuk memasang axios versi tertentu:
bun add axios@1.4.0
Bun akan langsung mengunduh versi yang sesuai tanpa perlu konfigurasi tambahan.
Kesimpulan
Bun memiliki package manager bawaan yang ringan, cepat, dan sepenuhnya kompatibel dengan ekosistem npm. Kita bisa menambahkan, menghapus, dan mengelola dependensi tanpa perlu menginstal npm atau yarn secara terpisah.
Dengan perintah seperti bun add, bun remove, dan bun install, proses pengelolaan dependensi menjadi jauh lebih sederhana dan efisien.
Pada artikel selanjutnya, kita akan membahas tentang Environment dan Konfigurasi di Bun (bunfig.toml) untuk mengatur pengaturan proyek secara lebih fleksibel.
Terima Kasih.
Artikel ini dibaca sebanyak 925 kali
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full h-auto rounded-xl border border-white dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
/>
SAWERIA
Memuat komentar...