🐷

husky, commitlintのセットアップをサクッと

2022/08/10に公開

テンプレートリポジトリ

https://github.com/tingtt/husky-commitlint-template

テンプレートリポジトリを使うか、この記事のスクリプトを実行してセットアップできます。

テンプレートを使う場合はGitHubで Use this template からリポジトリを作成してgit cloneyarnするだけで使えます。

プロジェクト作成

mkdir myapp
cd myapp

git init
cat <<EOF > .gitignore
# dependencies
/node_modules

# misc
.DS_Store
*.pem

# debug
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local
EOF

yarn init

husky + commitlint

https://typicode.github.io/husky/

git commitした際に自動でスクリプトを実行するツール

https://commitlint.js.org/

コミットメッセージをlintするツール
aaaみたいな雑すぎるコミットメッセージが許されない世界になる。

# インストール
yarn add -D husky @commitlint/{config-conventional,cli}

# `husky`の設定
yarn husky install

# commitlint.config.js を作成
cat <<EOF > commitlint.config.js
module.exports = {
  extends: ['@commitlint/config-conventional'],
};
EOF

# package.json に追記
cat <<< $(
  cat package.json |
    jq '.scripts.commitmsg|="commitlint -e $GIT_PARAMS"' |
    jq '.scripts.prepare|="husky install"'
) > package.json

# `commitlint`を`husky`のhookに追加
yarn husky add .husky/commit-msg "yarn commitmsg"

Discussion