リポジトリ
ドキュメント
リンティング

モノレポでのリンティング

モノレポでのリンティングは難しい場合があります。ワークスペースのほとんどは、リンティングが必要なコードを含む可能性が高いため、最も効率的なリンティング方法を考案することが困難です。

このガイドでは、Turborepo の強みを活かす方法を提案します。

  • ルートではなく、ワークスペースで lint タスクを実行する
  • ワークスペース間で可能な限り多くの設定を共有する

タスクの実行

単一のlint タスクを turbo.json 内に指定することをお勧めします。

{
  "pipeline": {
    "lint": {}
  }
}

次に、**リンティングが必要な各ワークスペース内**に、lint スクリプトを追加します。例として TypeScript を使用します。

{
  "scripts": {
    "lint": "tsc"
  }
}

このパターンには、2 つの利点があります。

  • 並列化:lint タスクは同時に実行されるため、高速化されます。
  • キャッシングlint タスクは、変更されたワークスペースでのみ再実行されます。

つまり、1 つのコマンドでリポジトリ全体をリンティングできます。

turbo run lint

設定ファイルの共有

モノレポ全体で設定を共有すると、開発エクスペリエンスの一貫性を維持するのに役立ちます。ほとんどのリンターには、設定を共有したり、異なるファイル間で設定を拡張したりするためのシステムがあります。

これまで、以下の設定共有に関するガイドを作成してきました。