Bun adalah runtime JavaScript yang juga menyediakan package manager dan task runner dalam satu alat. Untuk pemula, nilai utamanya adalah proses setup yang lebih ringkas: Anda bisa membuat proyek, memasang dependensi, dan menjalankan script tanpa terlalu banyak konfigurasi tambahan. Jika Anda sudah terbiasa dengan Node.js, npm, atau yarn, Anda akan melihat banyak konsep yang terasa familiar, tetapi alurnya cenderung lebih sederhana.

Dalam panduan ini, kita akan membuat proyek Bun dari nol dengan pendekatan yang praktis. Targetnya sederhana: membuat folder kerja, inisialisasi proyek, menambahkan file utama, lalu menjalankan program pertama. Kita juga akan melihat peran package.json dan bagaimana Bun membantu menyederhanakan setup dasar proyek.

1. Persiapan: pastikan Bun sudah terpasang

Sebelum membuat proyek, pastikan Bun sudah tersedia di sistem Anda. Cara tercepat untuk memeriksanya adalah menjalankan perintah berikut di terminal:

bun --version

Jika nomor versi muncul, berarti Bun sudah terpasang dan siap digunakan. Jika belum, ikuti petunjuk instalasi resmi Bun sesuai sistem operasi Anda. Tidak perlu membahas detail instalasi terlalu jauh di sini, karena fokus artikel ini adalah membuat proyek baru dari nol.

Catatan: Pastikan terminal Anda mengenali perintah bun. Jika baru selesai instalasi tetapi perintah belum ditemukan, biasanya masalahnya ada pada PATH shell yang belum dimuat ulang.

2. Membuat folder kerja proyek

Langkah pertama adalah membuat direktori baru untuk proyek. Ini penting agar semua file proyek tersimpan rapi dalam satu tempat. Misalnya, kita akan membuat proyek bernama belajar-bun.

mkdir belajar-bun
cd belajar-bun

Setelah masuk ke folder tersebut, Anda bisa mulai inisialisasi proyek. Struktur proyek pada tahap awal akan sangat sederhana. Biasanya kita cukup memiliki:

  • package.json untuk metadata proyek dan script
  • index.ts atau index.js sebagai file utama

Untuk pemula, memulai dengan struktur minimal seperti ini lebih baik daripada langsung menambahkan banyak folder. Fokus awalnya adalah memahami alur kerja dasar lebih dulu.

3. Inisialisasi proyek dengan Bun

Bun menyediakan cara cepat untuk membuat file dasar proyek. Salah satu pendekatan yang paling umum adalah menggunakan:

bun init

Perintah ini akan memandu Anda membuat proyek baru. Dalam beberapa kasus, Bun akan menanyakan nama proyek, entry point, dan detail dasar lainnya. Setelah selesai, biasanya Bun akan menghasilkan file seperti package.json, file utama, dan kadang file konfigurasi pendukung tergantung pilihan yang Anda ambil saat inisialisasi.

Jika Anda ingin proses yang lebih cepat tanpa banyak pertanyaan interaktif, Anda bisa memakai mode default:

bun init -y

Perintah di atas cocok untuk pemula yang ingin langsung mencoba tanpa berhenti di setiap pertanyaan. Setelah dijalankan, cek isi folder proyek Anda. Umumnya akan muncul file-file dasar yang siap dipakai.

Apa fungsi package.json?

package.json adalah file penting dalam ekosistem JavaScript. Bun tetap menggunakan format ini karena sudah menjadi standar yang dipahami banyak alat. File ini biasanya berisi:

  • Nama proyek
  • Versi proyek
  • Tipe modul bila diperlukan
  • Daftar dependensi
  • Script yang bisa dijalankan

Contoh isi package.json yang sederhana bisa terlihat seperti ini:

{
  "name": "belajar-bun",
  "module": "index.ts",
  "type": "module",
  "private": true,
  "scripts": {
    "start": "bun run index.ts"
  }
}

Anda tidak harus menulis semua isi file ini secara manual jika sudah memakai bun init. Namun, memahami strukturnya tetap penting agar Anda tahu apa yang sebenarnya dijalankan Bun.

Pada contoh di atas, script start akan menjalankan file index.ts. Baris type: "module" menunjukkan bahwa proyek memakai modul ESM, yang saat ini merupakan pola umum untuk JavaScript modern.

4. Membuat file utama proyek

Setelah proyek selesai diinisialisasi, langkah berikutnya adalah membuat atau memeriksa file utama. Untuk panduan ini, kita gunakan index.ts karena Bun mendukung TypeScript secara langsung untuk banyak kebutuhan dasar, tanpa konfigurasi yang rumit di awal.

Buat file index.ts lalu isi dengan kode berikut:

console.log("Halo dari Bun!");

Jika Anda lebih nyaman menggunakan JavaScript biasa, Anda juga bisa memakai index.js dengan isi yang sama. Untuk pemula, memilih TypeScript atau JavaScript bukan isu besar pada tahap ini. Yang penting adalah memahami alur: file utama dibuat, lalu dijalankan oleh Bun.

Mengapa Bun terasa sederhana di tahap ini?

Pada banyak setup tradisional, Anda mungkin perlu memikirkan package manager, runtime, dan dukungan TypeScript secara terpisah. Bun menyatukan beberapa kebutuhan itu ke dalam satu alat. Untuk proyek kecil atau latihan awal, ini mengurangi jumlah langkah yang perlu diingat.

Namun, perlu diingat bahwa sederhana bukan berarti tanpa aturan. Anda tetap perlu menjaga struktur file yang jelas dan script yang konsisten, terutama saat proyek mulai berkembang.

5. Menjalankan script pertama

Sekarang kita masuk ke tujuan utama: menjalankan program pertama dengan Bun. Ada dua cara umum yang praktis.

Menjalankan file secara langsung

Jika Anda ingin cepat menguji file utama, jalankan:

bun run index.ts

Jika Anda memakai JavaScript:

bun run index.js

Perintah ini akan mengeksekusi file yang Anda tentukan. Jika semuanya benar, terminal akan menampilkan:

Halo dari Bun!

Menjalankan lewat script di package.json

Jika sebelumnya Anda sudah menambahkan script start di package.json, Anda bisa menjalankannya dengan:

bun run start

Pendekatan ini lebih rapi karena nama script bisa menjadi titik masuk yang konsisten. Dalam proyek nyata, menjalankan file secara langsung memang cepat, tetapi menggunakan script biasanya lebih mudah dipelihara. Anda bisa mengubah perintah di balik script tanpa harus mengubah kebiasaan semua anggota tim.

6. Struktur proyek minimal yang direkomendasikan

Untuk tahap awal, Anda tidak perlu membuat struktur folder yang kompleks. Cukup gunakan susunan minimal seperti berikut:

belajar-bun/
├── index.ts
└── package.json

Struktur ini sudah cukup untuk latihan dasar. Saat kebutuhan bertambah, barulah Anda bisa memisahkan kode ke folder seperti src, menambahkan file environment, atau mengatur script tambahan. Untuk pemula, memulai dari struktur sesederhana ini membantu Anda fokus pada konsep inti.

Kapan sebaiknya memakai folder src?

Kalau proyek mulai berisi lebih dari beberapa file, folder src biasanya membantu menjaga kerapian. Tetapi untuk script pertama atau proyek percobaan, meletakkan file utama di root proyek masih sangat masuk akal. Hindari menambah struktur hanya karena terlihat lebih formal. Struktur sebaiknya mengikuti kebutuhan, bukan sebaliknya.

7. Menambahkan dependensi bila diperlukan

Untuk menjalankan contoh sederhana di artikel ini, Anda belum membutuhkan library tambahan. Namun dalam praktiknya, cepat atau lambat Anda akan memasang dependensi. Bun menyediakan perintah yang ringkas untuk itu.

Misalnya, jika suatu saat Anda ingin menambahkan package:

bun add nama-package

Untuk dependensi pengembangan:

bun add -d nama-package

Bun akan memperbarui package.json dan memasang package yang dibutuhkan. Ini mempermudah alur kerja karena Anda tidak perlu berpindah alat untuk manajemen package. Walaupun artikel ini tidak membahas library tertentu, penting untuk tahu bahwa workflow dasarnya tetap konsisten.

8. Kesalahan umum dan cara mengeceknya

Saat pertama kali mencoba Bun, ada beberapa kesalahan yang cukup sering terjadi:

  • Salah nama file utama. Misalnya script mengarah ke index.ts, tetapi file yang dibuat bernama main.ts.
  • Perintah dijalankan di folder yang salah. Pastikan terminal sedang berada di direktori proyek yang benar.
  • Isi script di package.json tidak sesuai. Periksa apakah perintah pada scripts benar-benar menunjuk file yang ada.
  • Bun belum terpasang atau tidak terbaca terminal. Cek lagi dengan bun --version.

Kalau script tidak berjalan, lakukan pengecekan paling dasar terlebih dahulu:

  1. Jalankan pwd atau perintah setara untuk memastikan lokasi folder saat ini.
  2. Lihat isi direktori dengan ls atau dir.
  3. Buka package.json dan pastikan script mengarah ke file yang benar.
  4. Coba jalankan file langsung dengan bun run index.ts untuk mengisolasi masalah dari script.

Pendekatan debugging seperti ini sederhana, tetapi efektif untuk sebagian besar masalah pemula.

9. Kenapa setup dasar Bun cocok untuk pemula?

Untuk tahap belajar, Bun membantu karena satu alat sudah mencakup kebutuhan utama: menjalankan kode, mengelola package, dan mengeksekusi script proyek. Ini mengurangi beban awal saat Anda baru memahami ekosistem JavaScript modern.

Meski begitu, ada trade-off yang perlu dipahami. Jika Anda bekerja di tim yang sudah sangat bergantung pada Node.js dan alat tertentu, workflow Bun mungkin belum selalu menjadi pilihan default. Karena itu, gunakan Bun terutama ketika Anda memang ingin setup yang cepat, eksperimen lokal, atau memulai proyek kecil dengan langkah minimum.

Untuk pemula, yang paling penting bukan memilih alat paling populer, melainkan memahami dasar proyek dengan benar: bagaimana file utama dijalankan, apa fungsi package.json, bagaimana script bekerja, dan bagaimana mengecek kesalahan saat sesuatu tidak berjalan sesuai harapan.

10. Penutup

Membuat proyek Bun dari nol sebenarnya cukup singkat. Anda hanya perlu membuat folder kerja, menjalankan bun init, menyiapkan file utama seperti index.ts, lalu mengeksekusinya dengan bun run. Dengan bantuan package.json, Anda juga bisa mendefinisikan script agar alur menjalankan proyek menjadi lebih rapi.

Jika Anda baru mulai belajar Bun, jangan buru-buru menambahkan framework, bundler, atau konfigurasi lain yang belum diperlukan. Pastikan dulu Anda nyaman dengan workflow dasar ini. Setelah itu, Anda akan lebih mudah memahami langkah-langkah lanjutan karena fondasi proyeknya sudah jelas.

Langkah berikut yang paling masuk akal: buat satu proyek percobaan kecil, ubah isi index.ts, tambahkan satu script baru di package.json, lalu jalankan lagi. Dengan cara itu, Anda belajar langsung dari alur kerja nyata, bukan hanya dari teori.