csscomb で設定ファイルが見つからないエラーの対処方法

CSS の自動整形ツール csscomb を使っていて、設定ファイルがないというエラーが出る場合があります。

Configuration file /path/to/.csscomb.json was not found.

私の知るところでは、このエラーの原因には次の 2 つのパターンがあります。

  1. 設定ファイルがない
  2. 設定ファイルはあるがシンタックスエラーがある

前者の「設定ファイルがない」かどうかは、単純にファイルの存在をチェックすれば OK です。 ユーザのホーム直下に置いた設定ファイルなどがなくなっていないか確認しましょう。

$ if test -f ~/.csscomb.json; then echo ".csscomb.json exists."; else echo ".csscomb.json not found."; fi
.csscomb.json exists.

なければ単純に追加すれば OK です。 ファイル名 .csscomb.json の先頭の . は必要なので必ず付けるようにしましょう。

つづいて、後者の「設定ファイルはあるがシンタックスエラーがある」の場合について。

こちらは csscomb のバージョンにもよるそうですが、 csscomb はたとえ設定ファイルが存在していてもシンタックスエラーなどのせいで正しく読み込めなかった場合には「ファイルが見つかりません」というメッセージを表示してしまいます。 ファイルが存在するのに「見つかりません」と言われるのはこのことが原因です。

$ # 設定ファイルにコメントが入っているとアウト
$ echo ~/.csscomb.json  
// this is a configuration file for csscomb.
$ csscomb style.css
Configuration file /path/to/.csscomb.json was not found.

この場合には .csscomb.json ファイル内のシンタックスエラーを解決すれば OK です。 よくあるまちがいは、配列の最後の要素の後に , を付けてしまっていたり、ファイル内に JavaScript のコメントを書いていたりすることです。 csscomb は厳密に正しい JSON でないと正しく理解してくれないようなので注意が必要です。

コメントが使えないのはちょっと不便ですねー。