Fias
  • FIASga xush kelibsiz!
  • Boshlash
    • Foydalanish
    • Structure
      • Next Js template
      • React Js template
  • Code Styling & linting
    • Prettier
  • ESLint
  • Husky
  • Other
    • Changelog
    • Contributing (Introduction)
      • Kod standartlari
      • Lokalda ishga tushurish
      • Pull request yuborish
      • Xatoliklar va Funksional takliflar
  • Manbalar
Powered by GitBook
On this page
  • ✨ Nima uchun Husky?
  • 🗂️ Strukturasi
  • 🧩 Git Hooks
  • 🛠️ Husky o‘rnatilishi
  • ✅ Xulosa

Husky

PreviousESLintNextChangelog

Last updated 17 days ago

FIAS loyihasi Husky yordamida Git hooklarni boshqaradi. Bu sizning kodingizni commit yoki push qilishdan oldin avtomatik tekshiruvlardan o‘tkazishga yordam beradi — bu esa xatoliklar, formatlash muammolari yoki yaroqsiz build’lar oldini oladi.


✨ Nima uchun Husky?

  • ❌ Formatlanmagan yoki xatoliklar bilan to‘ldirilgan kodni commit qilishga yo‘l qo‘ymaydi.

  • ✅ Pushdan oldin kod to‘liq build bo‘lishini tekshiradi.

  • ⚡ Team tomonidan qoidalar buzilmasdan ishlashiga kafolat beradi.


🗂️ Strukturasi

.husky/
├── _
├── pre-commit
└── pre-push

🧩 Git Hooks

🔒 pre-commit

Bu hook commit qilishdan oldin faollashadi va lint-staged orqali quyidagi ishlarni bajaradi:

npx lint-staged

✨ Nima bo‘ladi?

  • Faqat git add qilingan fayllar tekshiriladi.

  • prettier va eslint orqali avtomatik tuzatiladi.

  • Agar xatolik bo‘lsa, commit to‘xtatiladi.

pre-commit fayli:

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged

🚀 pre-push

Bu hook git push bajarilishidan oldin faollashadi va npm run build ni ishga tushiradi. Maqsad — loyihani productionga push qilishdan oldin kompilyatsiyadan muvaffaqiyatli o‘tganini tekshirish.

npm run build

✨ Nima bo‘ladi?

  • Build jarayoni muvaffaqiyatli yakunlansa, push amalga oshadi.

  • Agar build muvaffaqiyatsiz bo‘lsa, push bekor qilinadi.

pre-push fayli:

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npm run build

🛠️ Husky o‘rnatilishi

npm install husky --save-dev
npx husky install

package.jsonga quyidagicha qo‘shiladi:

"scripts": {
  "prepare": "husky install"
}

Keyin Git hooklarni qo‘shamiz:

npx husky add .husky/pre-commit "npx lint-staged"
npx husky add .husky/pre-push "npm run build"

✅ Xulosa

Hook
Amalga oshiriladi
Maqsad

pre-commit

lint-staged orqali prettier + eslint

Kodingiz toza va izchil bo‘lishi

pre-push

npm run build

Yaroqsiz build’larning push bo‘lmasligi