特定のファイルだけにPrettierのフォーマット方法を指定したい

JSON形式の翻訳ファイルをアルファベット順にソートしたいを書いたとき、Prettierのプラグインを使う手段を調べていた。そのとき、「pluginsを使うのはいいけど、翻訳ファイルだけソートできないものか」と感じた。

Prettierの設定にConfiguration Overridesというものがあることを教えてもらったため試してみた。

方法

.prettierrcoverridesキーを追加する。

次に、filesにどのファイルを上書きするか指定する。パスはプロジェクトルートディレクトリからの相対パスを指定する。

最後に、optionsに自分の好きなPrettierの設定を書く。ここは通常の設定と同じ。

./src/i18n/translation/*.jsonというファイルにインデント4つ、かつキーでソートする設定にした例。

{
  "tabWidth": 2, // インデント2つ
  "overrides": [
    {
      "files": "./src/i18n/translation/*.json", // 特定の設定をどこに適用するか?
      "options": { // どんな設定を適用するか?
        "parser": "json", // json形式でパースする
        "plugins": ["prettier-plugin-sort-json"], // 特定のプラグインを適用する
        "tabWidth": 4, // ./src/i18n/translation/*.jsonはインデント4つ下げになる
      }
    }
  ]
}

所感

公式ドキュメントに書いてあることなのだが、ここに情報があることに辿り着けないと全然わからないなと思った。暇を見つけて色々ドキュメントを読んでみるといいのかもしれない。

参考URL