Skip to content
← Back to rules

import/max-dependencies Pedantic

작동 방식

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

종속성 카운트 시 타입 가져오기(type imports)를 무시할지 여부.

ts
// `ignoreTypeImports`가 참이라면, 아래 두 문장 모두 종속성으로 간주되지 않습니다:
import type { Foo } from "./foo";
import { type Foo } from "./foo";

max

type: integer

기본값: 10

파일 내에서 허용되는 최대 종속성 수.

사용 방법

이 규칙을 설정 파일 또는 명령줄 인터페이스를 통해 활성화하려면 다음을 사용할 수 있습니다:

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

참고 자료