44 миллиона скачиваний в месяц
44 миллиона скачиваний в месяц

В git давно есть нативные хуки, на которые можно повесить произвольные скрипты (например, для линтинга). Они изначально уже присутствуют в любом репозитории в виде исполняемых файлов, можно посмотреть на них, если зайти в .git/hooks

это все доступные хуки, они сразу начнут работать если убрать постфикс .sample
это все доступные хуки, они сразу начнут работать если убрать постфикс .sample

Давайте настроим свой pre-commit хук, но будем хранить его в репозитории, чтобы он шарился. Заведем директорию, например .git-hooks, и пусть она будет в корне репозитория. Добавляем в нее файлик с именем pre-commit, делаем ему chmod +x, пишем в него все что нужно сделать:

 #!/bin/sh
touch PreCommitHookRan

Теперь, чтобы у всех контрибьюторов git знал где хранятся файлы-хуки, делаем такой npm-скрипт:

...
"prepare": "git config core.hooksPath .git-hooks || echo 'Not in a git repo'",
...

Это всё. Буквально. Готово.

Вы спросите, и что же особенного тогда делает husky?

?
?
?
?

Ни-че-го.

Комментарии (20)