commitlintとは
Commitlintは、Commitメッセージを特定のルールで守らせるための設定を行うためのツールです。Commitlintの設定手順についてチーム内で共有することが多かったので備忘録として残します。
詳しくルールをカスタマイズすることはできるのですが、この記事では既存のルールセットをそのまま利用し、動かせるようになることを目標としています。
package.jsonが置いてあるプロジェクトルートで下記を実行します。
yarn add -D @commitlint/cli @commitlint/config-conventional
devDependenciesに下記が追加されます。
//package.json
"devDependencies": {
"@commitlint/cli": "^16.1.0",
"@commitlint/config-conventional": "^16.0.0",
}
次にprojectのルートに下記を作成します。
// .commitlintrc.json
{
"extends": ["@commitlint/config-conventional"]
}
次にこのコミットを自動的に検証する際にhuskyと連携するのがおすすめです。huskyの設定についてはこちらに記載していますのでご参照ください。
huskyのインストールが終わった後に、下記を実行します。
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
下記のようにcommit-msgが作成されています。
この状態でルールに合っていないコミットを実行しようとするとエラーが出てきます。
今回使用しているルールセットの詳細はこちらにあります。
ルールに合わせて下記のようにcommitすると...
git commit -m "chore: add commitlint"
無事にコミットできました!
今回のコミットはこちらです。ありがとうございました!