📜 Bedah Skrip generate-gitignore.js

Bikin File .gitignore Otomatis & Sesuai Kebutuhan!

Ilustrasi file .gitignore

🎯 Buat Apa Sih Skrip Ini?

Singkatnya, skrip Node.js bernama generate-gitignore.js ini tugasnya mulia: membuat file .gitignore secara otomatis di folder tempat kamu menjalankannya.

File .gitignore itu penting banget buat proyek Git agar file-file yang tidak perlu (kayak folder node_modules yang gede banget, file konfigurasi lokal, atau file buatan sistem operasi) tidak ikut ter-upload ke repositori kamu.

Nah, skrip ini bikin proses pembuatan .gitignore jadi lebih pinter. Isinya tidak cuma daftar standar, tapi juga disesuaikan dengan folder-folder yang memang ada di proyekmu saat itu, plus beberapa ignore umum lainnya.


🔎 Gimana Cara Kerjanya?

Skrip ini bekerja dengan langkah-langkah yang cukup cerdas:

  1. Kenalan Sama Lingkungan (Import Modul):

    Pertama, dia manggil 'teman-temannya' dari Node.js, yaitu modul fs (buat urusan file dan folder) dan path (buat urusan path file).

  2. Intip Isi Folder (Scan Direktori):

    Skrip ini langsung 'ngintip' isi folder tempat dia dijalankan ('.'). Dia cuma tertarik sama folder-folder saja, jadi file-file lain diabaikan. Nama-nama folder yang ketemu disimpan dalam daftar bernama folders.

  3. Siapin Catatan (Inisialisasi List):

    Sebuah 'catatan' kosong bernama ignoreList disiapkan. Di catatan inilah nanti semua baris perintah untuk .gitignore akan ditulis.

  4. Bikin Rapi (Fungsi addBlock):

    Ada fungsi khusus namanya addBlock. Tugasnya bikin file .gitignore nanti jadi lebih enak dibaca, dengan cara ngasih judul dan batas pakai karakter ASCII (# ┌───┐). Jadi, aturan-aturan ignore dikelompokkan biar jelas.

  5. Cek Folder Penting (Ignore Kondisional):

    Nah, ini bagian pintarnya. Skrip ini ngecek daftar folders yang tadi udah dibuat:

    • "Ada folder node_modules tidak?" Kalau ada, dia tambahin aturan buat mengabaikan node_modules/ ke catatan ignoreList, pakai judul blok "DEPENDENCIES & BUILD".
    • Dia juga ngecek folder hasil build umum kayak dist/, build/, dan out/. Kalau ada, aturan ignore-nya ditambahkan di blok "BUILD OUTPUT".
    • Folder fallback/ dan metadata/ juga dicek dan di-ignore kalau ketemu.

    Intinya, dia cuma nambahin aturan buat folder-folder ini kalau foldernya memang ada pas skripnya jalan.

  6. Tambah Aturan Wajib (Ignore Statis):

    Selain ngecek folder, skrip ini juga otomatis nambahin beberapa aturan ignore standar yang hampir selalu dibutuhin:

    • File 'sampah' sistem operasi (.DS_Store di Mac, Thumbs.db di Windows).
    • Folder konfigurasi IDE populer (.vscode/, .idea/).
    • File environment (.env), file log (*.log), dan file konfigurasi lokal lainnya.
    • Pola nama file SVG tertentu (kayak ornament-*.svg).
    • Draft atau backup file HTML (kayak *.bak.html, *.draft.html).

    Aturan-aturan ini selalu ditambahkan, tidak peduli ada folder apa aja di proyekmu.

  7. Tulis ke File (Generate .gitignore):

    Semua baris yang udah dicatat di ignoreList digabung jadi satu teks panjang, dipisahkan pakai baris baru ('\n').

    Teks inilah yang kemudian ditulis ke dalam file bernama .gitignore di folder tempat skrip dijalankan. Kalau udah ada file .gitignore sebelumnya, bakal ditimpa.

  8. Kasih Kabar (Pesan Konfirmasi):

    Terakhir, skrip ini ngasih tau kamu lewat console kalau file .gitignore udah berhasil dibuat: ✅ .gitignore generated based on current folder structure.


✨ Fitur Kerennya Apa Aja?

  • Otomatis & Cepat: Tinggal jalankan skripnya (misal pakai node generate-gitignore.js), .gitignore langsung jadi.
  • Tidak Asal Ngasih Aturan: Aturan buat folder kayak node_modules atau dist cuma ditambahin kalau foldernya beneran ada.
  • Udah Termasuk yang Standar: Aturan buat file sistem, IDE, log, dan .env udah otomatis masuk.
  • Ada Aturan Khusus: Bisa nambahin aturan spesifik kayak buat pola nama file SVG atau draft HTML.
  • Gampang Dibaca: Hasil file .gitignore-nya dikasih judul blok biar rapi.
  • Simpel: Kodenya pakai fungsi bawaan Node.js aja, tidak ribet.

Jadi, skrip ini berguna banget buat standarisasi .gitignore di awal proyek Node.js atau buat memastikan folder-folder penting tidak sengaja ke-commit, plus hasilnya lumayan rapi!


🚀 Mau Coba Lihat Kodenya?

Kamu bisa lihat dan ambil kode lengkap skrip generate-gitignore.js ini langsung dari repositori GitHub:

Lihat generate-gitignore.js di GitHub

Simpan kodenya sebagai file generate-gitignore.js di root proyek kamu, lalu jalankan pakai Node.js (node generate-gitignore.js) kapanpun kamu butuh bikin atau update file .gitignore.