CIでスペルチェックをしつつもスペルミスを失敗扱いとしたくない場合にはmisspell-fixer-actionがオススメ

エラーとしてまでは扱わずとも、修正候補として検知しておきたい、という控えめなissue作成に役立つかもしれないスペルチェック用Actionの紹介です。
2021.04.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

エディタに自動補正機能がない場合、やらかしたスペルミスを修正しないまま引きずってしまうということがたまにあります。コメントならまだしも、関数名だと後々致命的になることもあります。早期に見つけられればよいものの、中々気が付かないことばかりでしょう。

数多くあるスペルミスカバーのライブラリのうち、misspell-fixerはソースコード中のよくあるスペルミスを一括で修正するためのライブラリです。ただ、手動で毎回実行するのも手間というもの。GitHub ActionsのWorkflowベースで楽をしてみましょう。

導入

sobolevn/misspell-fixer-actionを利用します。導入はとてもシンプルです。

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: sobolevn/misspell-fixer-action@master
        with:
          options: '-rsvn .'

optionによって若干挙動が異なってきます。上の例で指定したのは以下の組み合わせです。

オプション 解説
r オリジナルファイルの上書きにて修正
s 差分の表示
v 該当しないものを除いた上でのファイル繰り返し表示
n バックアップの無効

自動コミットまではなされないため、あくまでもログで表示を確認しながら手作業修正となります。その他のオプションについてはmisspell-fixerのREADMEを参考にしてください。

実際の出力は以下のようになります。

あとがき

ポイントは、スペルミスを検知しても厳密なエラーとしては扱わず、差分として出せるところです。実装途中に語彙で不安がある場合にはチェックした結果を参考に修正するとよいでしょう。

なお、大して何もでないだろうと全体に適用してみたところ、aws-cdkのコメント文が大量にマッチする結果となりました。自身の書いたコードやドキュメントに限定するなど工夫はいるかもしれません。