IslomDevIslomDev
Booster
Booster
  • Booster Started

    • πŸ“š Prettier
    • πŸ“š ESLint
    • πŸ“š Husky
    • πŸ“š Angularda qo'llash

πŸ“š Husky

Husky bu jamoa bilan ishlaydigan loyihalarda sifatni nazorat qilish, avtomatlashtirish va xatoliklarni kommit darajasida oldini olish uchun juda foydali.

Husky β€” bu Git hook lar bilan ishlaydigan vosita. U sizga quyidagilarni amalga oshirishga imkon beradi:

  • Git’ga commit, push, merge kabi amallar bajarilishidan oldin skript ishga tushirish,
  • Masalan, eslint, prettier, tests, type-check, va boshqa amallarni git commitdan oldin ishga tushirish.

Git hook nima?

Git hook β€” bu gitning ichki mexanizmi boβ€˜lib, siz ba'zi hodisalar (masalan, commit, push, merge) yuz berishidan oldin yoki keyin avtomatik kodlar ishlatishingizga imkon beradi.

Masalan:

  • pre-commit β€” kommitdan oldin
  • pre-push β€” pushdan oldin
  • commit-msg β€” kommit xabari tekshiriladi

Husky ana shu Git hook larni qulay tarzda sozlashga yordam beradi.

πŸ” Muammo:

  • Dasturchilar git commit vaqtida xatoliklarni e’tiborsiz qoldirishadi
  • Formatlanmagan, sinovdan oβ€˜tmagan kod main branchga tushib qoladi

πŸ“˜ Nima bu?

  • Husky – bu Git hooklarni boshqarish uchun vosita (masalan, pre-commit, pre-push)
  • lint-staged bilan birga ishlatilib, faqat oβ€˜zgargan fayllarni tekshirish mumkin

βœ… Hal qiladigan muammo:

  • Har bir commit yoki pushdan oldin avtomatik ESLint yoki Prettier ishlaydi
  • Yomon kodni repoga tushishini oldini oladi

πŸ› οΈ Qanday ishlatiladi:

npm install --save-dev husky lint-staged
npx husky init
  • package.json:
"husky": {
  "hooks": {
    "pre-commit": "lint-staged"
  }
},
"lint-staged": {
  "*.{js,ts}": ["eslint --fix", "prettier --write"]
}
  • Yoki .husky/pre-commit fayli:
npx lint-staged

🎯 Muhim jihatlar:

  • Pre-push hooklar bilan testlar avtomatik bajarilishi mumkin
  • prepare script orqali husky install ni avtomatlashtirish mumkin
"scripts": {
  "prepare": "husky install"
}

🟒 Yutuqlari:

  • βœ… Kod sifatini avtomatik nazorat qiladi
  • βœ… Git hook lar orqali xatoliklarning oldini oladi
  • βœ… Jamoada intizomni kuchaytiradi
  • βœ… Kommit qilinadigan fayllarnigina tekshiradi (tezroq ishlaydi)
  • βœ… Prettier, ESLint, Testlar, TypeCheck larni avtomatik ishga tushiradi

πŸ”΄ Kamchiliklari:

  • ❌ Loyihada notoβ€˜gβ€˜ri sozlansa, ishlashga xalaqit berishi mumkin
  • ❌ Har bir jamoa uchun sozlama individual boβ€˜lishi kerak
  • ❌ Ba'zida hook sekin ishlasa, developer gβ€˜ashiga tegishi mumkin

πŸ”Ή Xulosa

Husky β€” bu loyihada kod sifatini saqlash uchun qat'iy tekshiruvlarni kommit yoki push jarayonida avtomatlashtiruvchi vosita. Ayniqsa, jamoaviy loyihalarda bu juda kerakli asbob.

Last Updated:: 6/25/25, 10:57 AM
Contributors: Islom1999
Prev
πŸ“š ESLint
Next
πŸ“š Angularda qo'llash