Back to blog
Tools

Memahami Husky & Git Hooks: Mencegah Kode Rusak Masuk ke GitHub

Seberapa sering teman kerjamu tidak sengaja meng-upload kode yang memiliki error syntax atau tidak lulus uji unit test? Cegah hal itu dengan penjaga gerbang otomatis.

super admin·29 Juni 2026·2 min read
Memahami Husky & Git Hooks: Mencegah Kode Rusak Masuk ke GitHub
Article Content

Masalah Standar Kerapian Tim (Linting)

Kamu sebagai Tech Lead sudah susah payah mengonfigurasi aturan ESLint dan Prettier di proyek *Frontend* agar semua spasi (Indentasi), titik koma, dan *Import* tidak ada yang berantakan. TAPI, teman tim-mu (yang pemalas) sering mengabaikan garis merah peringatan ESLint di editornya, dan langsung menekan git commit -m "selesai" dan git push.

Akibatnya, proyek di GitHub dipenuhi oleh kode kotor (*Smell Code*) yang gagal berjalan di mesin CI/CD server, menyebabkan proyek tidak bisa rilis ke internet. Bagaimana cara MEMAKSA teman kerjamu (bahkan secara paksa) agar komputernya menolak untuk melakukan *Commit* jika kodenya masih kotor?

Senjata Rahasia: Git Hooks

Sistem Git sebenarnya memiliki fitur tersembunyi bernama Git Hooks. Ini adalah fungsi pendeteksi bawaan yang bisa mencegat dan mengeksekusi sebuah perintah teks (script) tepat SEBELUM (Pre-commit) atau SESAAT SETELAH sebuah aksi Git dilakukan.

Sayangnya, mengatur Git Hooks murni menggunakan sistem *Shell Script* (Linux) itu sangat rumit untuk *developer* *Frontend* yang terbiasa dengan Node.js. Di sinilah *library* sakti bernama Husky menyelamatkan kita.

Cara Menggunakan Husky

  1. Instalasi Cepat: Cukup ketik perintah npx husky init di dalam proyek NPM/React-mu. Perintah ini otomatis memasang Husky dan membuat folder .husky/.
  2. Beri Instruksi Penjaga Pintu: Buka file .husky/pre-commit yang baru saja dibuat. Di dalam file itu, hapus isi teks bawaannya, lalu ketik instruksi wajibmu, misalnya:
    npm run lint (Jalankan pembersihan ESlint).

Hasilnya? Pemaksaan Kedisiplinan Otomatis!

Sekarang, setiap kali teman kantormu mengetik git commit, proses *Commit* tersebut akan **BERHENTI SEJENAK (Menggantung)**. Komputer akan mengeksekusi perintah npm run lint di balik layar secara gaib.

  • Jika ESLint menemukan bahwa masih ada peringatan merah (misal: Variabel di-declare tapi tidak pernah dipakai), skrip akan mengeluarkan sinyal ERROR/Gagal.
  • Sinyal Gagal ini ditangkap oleh Husky. Husky akan Membatalkan Paksa niat temanmu melakukan *Commit* tersebut!
  • Terminal temanmu akan berteriak: "Hei, benerin dulu error ESLint kamu, baru boleh commit!"

Praktik integrasi Husky + ESLint + Prettier + Jest (Lint-staged) pada masa Pre-Commit adalah Standar Emas di semua perusahaan raksasa untuk menjaga kualitas kode (*Code Quality*) tetap sempurna 100% setiap saat.

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates