Проблема с неактивированием хуков Husky при выполнении коммита может быть вызвана несколькими причинами. Вот некоторые шаги для диагностики и исправления проблемы:
1. **Проверьте установку Husky**:
Убедитесь, что Husky правильно установлен и настроен. Для этого убедитесь, что вы выполнили команду для инициализации Husky в вашем репозитории:
```bash
npx husky install
```
Это создаст необходимые скрипты в директории `.husky`, которые будут управлять хуками.
2. **Проверьте версию Husky**:
Husky версий 6 и выше имеет другую структуру для конфигурации хуков. Убедитесь, что вы используете правильный формат. Например, для версии Husky 6 и выше следует добавлять хуки в `.husky/pre-commit`, а не в `package.json`.
Пример использования для Husky 7:
```bash
npx husky add .husky/pre-commit "npx lint-staged"
```
3. **Проверьте синтаксис lint-staged**:
Убедитесь, что вы правильно настроили `lint-staged`. Например, ваш конфигурационный фрагмент для `lint-staged` должен выглядеть примерно так:
```json
"lint-staged": {
"*.ts": "eslint"
}
```
Убедитесь также, что вы используете правильные расширения файлов в конфигурации. В вашем случае `*.(ts|tsx)` можно заменить на `*.ts` или `*.tsx`, в зависимости от того, что вам требуется.
4. **Тестирование хуков**:
Попробуйте проверить работоспособность хуков, создав простой хук в `.husky/pre-commit`:
```bash
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
echo "Running pre-commit hook"
```
После этого попробуйте сделать коммит и посмотрите, появляется ли сообщение "Running pre-commit hook".
5. **Проверка прав на выполнение**:
Убедитесь, что файл `.husky/pre-commit` имеет права на выполнение. Вы можете сделать это, выполнив команду:
```bash
chmod +x .husky/pre-commit
```
6. **Контроль состояния git**:
Убедитесь, что вы добавляете измененные файлы перед коммитом:
```bash
git add .
```
Если вы проверили все вышеперечисленные моменты и проблема не решается, может быть полезно переустановить Husky и lint-staged, или даже создать новый репозиторий для проверки.