Как настроить Commitzen с Husky
Спецификация обычных коммитов содержит набор правил для создания явной истории коммитов, что упрощает написание автоматизированных инструментов поверх, например, семантического релиза. Вы можете вручную следовать этому соглашению в своем проекте или использовать специальный инструмент, например Commitizen.
Есть несколько способов использовать Commitizen в вашем проекте. В этом посте я покажу вам, как настроить его с помощью Husky, поэтому всякий раз, когда вы запускаете git commit
, вам будет предложено заполнить все необходимые поля коммита.
Для начала установите пакеты Commitzen и Husky:
npm i commitizen husky --save-dev
Затем инициализируйте свой проект, чтобы использовать адаптер cz-conventional-changelog.
commitizen init cz-conventional-changelog --save-dev --save-exact
Эта команда выполнит следующее:
- Установит
npm
-модуль адаптераcz-conventional-changelog
- Сохраните его в
package.json
dependencies
илиdevDependencies
- Добавьте
config.commitizen
ключ в корень вашегоpackage.json
Наконец, в package.json
файле установите перехватчик Husky для запуска Commitzen по команде commit
.
"husky": {
"hooks": {
"prepare-commit-msg": "exec < /dev/tty && npx cz --hook || true"
}
}
И все, все готово. Внесите некоторые изменения в свой код, запустите git commit
и следуйте инструкциям Commitzen.