ファイルの無視
archlint は、解析からファイルやディレクトリを除外するためのいくつかの方法を提供します。
グローバルな無視
.archlint.yaml のルートにある ignore セクションは、すべての検出器によって完全にスキップされるファイルを指定します。
yaml
ignore:
- '**/node_modules/**'
- '**/dist/**'
- '**/coverage/**'
- '**/tmp/**'
- '**/*.d.ts'.gitignore のサポート
デフォルトでは、archlint は .gitignore ファイルを自動的に尊重します。.archlint.yaml でこれらのパターンを重複させる必要はありません。この動作を無効にするには、git: { enabled: false } を設定してください。
ルールごとの無視
rules セクション内の exclude フィールドを使用して、特定の検出器からファイルを除外できます。これは、ファイルをほとんどの検出器で解析したいが、特定の 1 つの検出器だけはスキップしたい場合に便利です。
yaml
rules:
cycles:
exclude:
- '**/generated/**'
- '**/*.entity.ts'パスのオーバーライド (Overrides)
より複雑なロジック (例: 特定のディレクトリに対して設定を変更したり、複数のルールを無効にしたりする場合) には、overrides セクションを使用します。
yaml
overrides:
- files: ['**/tests/**', '**/mocks/**']
rules:
complexity: off
god_module: off
large_file: mediumインラインでの無視
特別なコメントを使用して、ソースコード内で直接特定のアーキテクチャ上の問題を無視できます。これは、例外的なケースで警告を抑制するのに役立ちます。
使用方法:
すべてのパターンで、単一行コメント (// archlint-...) とブロックコメント (/* archlint-... */) の両方の構文がサポートされています。
- ファイル全体: ファイルの先頭に
// archlint-disableを追加します。 - 現在の行: 行の末尾、またはその上の行に
// archlint-disable-lineを追加します。 - 次の行: 問題のある行の前に
// archlint-disable-next-lineを使用します。 - ブロック:
// archlint-disableと// archlint-enableを使用してコードのセクションを囲みます。
例:
typescript
// archlint-disable * - ファイル全体でレガシーなパターンを使用
// ファイル全体ですべてのルールを無視する
// prettier-ignore
// archlint-disable-next-line long-params - このレガシー関数は多くの引数を必要とします
function processTransaction(id: string, amount: number, currency: string, date: Date, recipient: string, note: string) {
// 長すぎる引数の検出はこの行に対してのみ無視されます
}
import { internal } from './private'; // archlint-disable-line layer_violation - 移行のための一時的な除外
/* archlint-disable complexity */
function legacyCode() {
// このブロックは無視されます
}
/* archlint-enable complexity */カンマで区切って複数のルールを指定したり、* を使用してすべてのルールを無視したりできます。