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