Skip to content
← Back to rules

import/max-dependencies 厳格

何をするか

モジュールに多すぎる依存関係(import 文のみ)があることを禁止します。

なぜ悪いのか

このルールは有用です。依存関係が多すぎるモジュールはコードの匂いであり、通常はモジュールがしすぎており、またはより小さなモジュールに分割すべきであることを示しています。

注意: このルールは import 文のみをカウントし、CommonJS の require() 関数からの依存関係はカウントしません。これは元の eslint-import-plugin ルールとは異なります。

{ "max": 2 } を指定した場合

このルールに対して 不正な コードの例:

javascript
import a from "./a";
import b from "./b";
import c from "./c"; // 依存関係が多すぎる: 3 (最大値: 2)

このルールに対して 正しい コードの例:

javascript
import a from "./a";
import b from "./b"; // 許可: 2 つの依存関係 (最大値: 2)

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。

ignoreTypeImports

type: boolean

デフォルト: false

依存関係のカウント時に型のインポートを無視するかどうか。

ts
// `ignoreTypeImports` が `true` である場合、以下のどちらも依存関係としてカウントされません:
import type { Foo } from "./foo";
import { type Foo } from "./foo";

max

type: integer

デフォルト: 10

ファイル内で許可される依存関係の最大数。

使い方

設定ファイルまたは CLI でこのルールを 有効化 するには、次のように使用できます:

json
{
  "plugins": ["import"],
  "rules": {
    "import/max-dependencies": "error"
  }
}
bash
oxlint --deny import/max-dependencies --import-plugin

参照