Как настроить 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.jsondependenciesили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.