# Husky Git Hooks ## Описание Husky используется для автоматического запуска проверок перед выполнением git операций. ## Настроенные хуки ### pre-push Запускается автоматически перед `git push` и выполняет следующие проверки: 1. **Проверка типов TypeScript** (`pnpm type-check`) - Проверяет корректность типов во всех TypeScript файлах - Использует `tsc --noEmit` (компиляция без генерации файлов) 2. **Проверка ESLint** (`pnpm lint`) - Проверяет качество кода JavaScript/TypeScript - Проверяет соблюдение правил для React, Hooks, доступности 3. **Проверка Stylelint** (`pnpm lint:styles`) - Проверяет качество CSS/SCSS кода - Проверяет порядок свойств и селекторов 4. **Production сборка** (`pnpm build:prod`) - Проверяет, что проект успешно собирается для production - Гарантирует отсутствие ошибок сборки перед push ## Установка После клонирования репозитория выполните: ```bash pnpm install ``` Husky автоматически установится благодаря скрипту `prepare` в package.json. ## Пропуск проверок (не рекомендуется) Если необходимо пропустить проверки (например, для срочного фикса): ```bash git push --no-verify ``` **Внимание:** Используйте эту опцию только в крайних случаях! ## Ручной запуск проверок Вы можете запустить все проверки вручную: ```bash pnpm pre-push ``` Или по отдельности: ```bash pnpm type-check # Проверка типов pnpm lint # Проверка ESLint pnpm lint:styles # Проверка Stylelint ``` ## Исправление ошибок ### Автоматическое исправление ESLint ```bash pnpm lint --fix ``` ### Автоматическое исправление Stylelint ```bash pnpm lint:styles --fix ``` ## Отключение хуков Если нужно временно отключить хуки: ```bash # Удалить хуки rm -rf .husky # Восстановить хуки pnpm prepare ```