Повне налаштування Husky для Git-хуків веб-проєкту

Повне налаштування Husky для Git-хуків веб-проєкту

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Повне налаштування Husky для Git-хуків веб-проєкту
Простий
~2-3 години

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1419
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1245
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Повне налаштування Husky для Git-хуків веб-проєкту

Уявіть: ви пушите код, а на CI падають тести через невідформатований файл, який забули прогнати через лінтер. Або повідомлення коміту виду 'фікс' — за місяць ніхто не згадає, що змінювалося. Ми стикалися з цим на кожному другому проєкті за багато років роботи у веб-розробці. Після впровадження Husky в 50 проєктах ми скоротили час code-review на 30% і зменшили кількість конфліктів злиття вдвічі. Середня економія часу команди — десятки годин на місяць. Пропущена помилка в продакшн може коштувати дорого, тому автоматизація Git-хуків — не розкіш, а необхідність. Замовте налаштування Husky під ключ — ми гарантуємо результат.

Що дає налаштування Husky для Git-хуків?

Husky — це менеджер Git-хуків, який запускає довільні скрипти при подіях: pre-commit, commit-msg, pre-push, prepare-commit-msg. Типові сценарії — автоматичний лінтінг, перевірка типів, тести, валідація повідомлення коміту. На відміну від CI, Husky ловить помилки локально до відправки в репозиторій — це швидше і дешевше: одне налаштування економить 10+ годин на місяць для команди з 5 розробників.

Хук Подія Типова дія Час виконання
pre-commit Перед створенням коміту Лінтінг і форматування staged-файлів <1 секунди
commit-msg Після введення повідомлення коміту Перевірка формату (Conventional Commits) <0.5 секунди
pre-push Перед відправкою у віддалений репозиторій Прогін тестів, typecheck 1–5 хвилин
prepare-commit-msg При створенні коміту (перед редактором) Автододавання номера задачі <0.5 секунди

Як Husky запобігає помилкам при коміті?

Husky працює на рівні Git-подій до того, як зміни потраплять в історію. Для pre-commit ми використовуємо lint-staged — це в 5 разів швидше, ніж прогін лінтера на всьому проєкті. А commit-msg хук з commitlint блокує коміти з некоректним повідомленням ще до збереження. 90% помилок лінтінгу ловляться до коміту.

Як ми налаштовуємо Husky?

Налаштування Husky включає кілька етапів. Ось покрокове керівництво, яке ми використовуємо в кожному проєкті:

  1. Встановлення Husky, lint-staged та commitlint — однією командою.
  2. Ініціалізація Husky — створення директорії .husky.
  3. Налаштування pre-commit хука — лінтінг staged-файлів.
  4. Налаштування commit-msg хука — валідація повідомлень за Conventional Commits.
  5. Налаштування pre-push хука — запуск тестів та typecheck.
  6. Перевірка працездатності — тестування кожного хука.

Процес займає від 20–30 хвилин для базової конфігурації до години для повного набору.

Встановлення та базова конфігурація — повне налаштування husky

npm install --save-dev husky lint-staged @commitlint/cli @commitlint/config-conventional npx husky init 

Після init створюється директорія .husky/ з базовим хуком pre-commit і додається скрипт "prepare": "husky" в package.json. Скрипт prepare запускається автоматично при npm install — нові учасники команди отримують хуки без зайвих кроків.

Pre-commit хук

.husky/pre-commit:

npx lint-staged 

Запускає lint-staged — застосовує команди (eslint, prettier) тільки до staged-файлів. Конфігурація — в package.json або окремому файлі lint-staged.config.js.

Commit-msg хук з commitlint

Створюємо .husky/commit-msg:

npx --no -- commitlint --edit $1 

І commitlint.config.mjs:

export default { extends: ['@commitlint/config-conventional'], rules: { 'type-enum': [2, 'always', ['feat', 'fix', 'docs', 'style', 'refactor', 'test', 'chore', 'revert', 'perf', 'ci']], 'subject-max-length': [2, 'always', 72], 'body-max-line-length': [2, 'always', 100], }, }; 

Коректний коміт: feat: add user authentication. Некоректний: added stuff — хук заблокує.

Pre-push хук

Для запуску тестів та typecheck перед пушем: .husky/pre-push:

npm run test:ci npm run typecheck 

Тести перед пушем, а не перед кожним комітом — компроміс між швидкістю і надійністю. Pre-push в 3 рази швидше повного CI-прогону, оскільки не включає збірку і деплой.

Що входить в налаштування Husky?

  • Встановлення та конфігурація Husky — підключаємо потрібні хуки.
  • Налаштування lint-staged — правила для eslint/prettier по staged-файлах.
  • Налаштування commitlint — правила Conventional Commits.
  • Документація — коротка інструкція для команди.
  • Тестування — перевіряємо, що хуки працюють коректно.
  • Підтримка — відповідаємо на питання протягом тижня після налаштування.
Спосіб Початкове налаштування Швидкість при коміті Захист від помилок
Вручну (тільки лінтер) 0 хвилин Швидко (без перевірок) Низька
CI після пуша 10–30 хвилин Швидко Середня (помилки видно тільки в CI)
Husky + CI 60 хвилин Швидко (тільки staged-файли) Висока (помилки ловляться локально і в CI)

Зв'яжіться з нами, щоб обговорити деталі та отримати індивідуальну пропозицію. Замовте налаштування під ключ — ми гарантуємо результат. Отримайте консультацію щодо впровадження Husky у ваш проєкт — це безкоштовно.