Husky
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
pre-commitBu hook commit qilishdan oldin faollashadi va lint-staged orqali quyidagi ishlarni bajaradi:
npx lint-staged✨ Nima bo‘ladi?
Faqat
git addqilingan fayllar tekshiriladi.prettiervaeslintorqali avtomatik tuzatiladi.Agar xatolik bo‘lsa, commit to‘xtatiladi.
pre-commit fayli:
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged🚀 pre-push
pre-pushBu 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 installpackage.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
pre-commit
lint-staged orqali prettier + eslint
Kodingiz toza va izchil bo‘lishi
pre-push
npm run build
Yaroqsiz build’larning push bo‘lmasligi
Last updated