Belajar Bun Dasar: Runtime JavaScript yang Ngebut

2024-02-16 · 2 menit baca

Kalau kamu terbiasa pakai Node.js lalu menambahkan ts-node, nodemon, Jest, dan npm secara terpisah, Bun datang menawarkan hal yang berbeda: satu runtime yang sudah membawa semua itu sejak awal. Bun ditulis di atas mesin JavaScriptCore, dan hasilnya adalah eksekusi kode yang jauh lebih cepat dibanding Node.js, plus dukungan TypeScript langsung tanpa konfigurasi tambahan.

Kenapa Bun layak dicoba

Alasan utamanya sederhana: kecepatan dan kesederhanaan. Bun menjalankan file .ts apa adanya, tidak perlu compiler terpisah. Ia juga punya package manager sendiri yang jauh lebih gesit daripada npm saat install maupun update dependency. Buat proyek kecil sampai menengah, ini artinya lebih sedikit tools yang perlu diatur dan lebih sedikit waktu tunggu.

Mulai dari instalasi sampai proyek pertama

Instalasinya tinggal ikuti perintah sesuai OS dari situs resmi Bun lewat terminal, lalu cek dengan:

bun --version

Setelah itu, bun init akan membuatkan struktur proyek dasar. Menjalankan file juga tidak ribet:

bun run index.ts

Bun langsung memahami TypeScript maupun JSX — cukup tambahkan React lewat bun add react beserta tipe-tipenya kalau mau pakai JSX. Untuk konfigurasi yang lebih spesifik, tsconfig.json tetap bisa dipakai seperti biasa.

Fitur bawaan yang sering dipakai sehari-hari

Beberapa hal yang biasanya butuh library tambahan di Node.js, di Bun sudah tersedia langsung:

  • Environment variable — taruh di file , akses lewat seperti biasa.
SelanjutnyaBahaya Copy-Paste Command dari Internet
.env
process.env
  • Watch mode — tambahkan flag --watch saat menjalankan file supaya aplikasi auto-reload tiap ada perubahan kode, pas untuk development.
  • Package manager — bun add, bun remove, dan bun update untuk mengelola dependency tanpa install tool tambahan.
  • Testing — bun test menjalankan test runner bawaan yang kompatibel dengan sintaks Jest, jadi migrasi test lama biasanya mulus.
  • Build untuk produksi — bun build input.ts --outdir dist membundel proyek, dengan opsi tambahan seperti --minify untuk memperkecil ukuran output atau --compile untuk menghasilkan executable.
  • Semua fitur ini berjalan tanpa perlu menambah dependency dev sama sekali — cukup satu binary Bun.

    Secara keseluruhan, Bun bukan sekadar Node.js yang lebih cepat, tapi juga runtime yang lebih ringkas untuk dipakai sehari-hari, karena banyak tools yang biasanya terpisah kini sudah menyatu di dalamnya.