Lefthookでcommitlintが動かない場合の対処法
2025-03-24
めずらしく AI に聞いて解決しなかったので調べてみました。
結論から書いちゃいますと。
まず .lefthook/commit-msg/commitlint.sh
というスクリプトを作り、そこに echo $(head -n1 $1) | npx commitlint --color
を記述します。
次に lefthook.yml
に以下を追加します。
commit-msg:
scripts:
"commitlint.sh":
runner: bash
動きます!簡単ですね。
ChatGPT や Claude に聞くと延々以下のコードを提案されるんですが。
commit-msg:
scripts:
lint-commit-msg:
runner: bash
command: npx --no-install commitlint --edit $1
これだと $1 に引数が渡らないらしく、全部素通りするという恐ろしいことになるみたいです。
なので確実に通すためにシェルスクリプトを噛ませるのがベターだよってことみたいです、なるほど…。
一応解決した方法は 公式のドキュメント に書かれている内容なので安心かなと。
もし動かない人がおられましたら、試していただけますと。