Skip to content
← Back to rules

import/first 스타일

An auto-fix is available for this rule.

작동 방식

가장 위에 위치한 import 문장 외에는 모든 비-import 문장을 금지합니다. 다만 지시문(디렉티브)은 예외입니다.

왜 문제가 되는가?

특히 import 문은 호이스팅되므로, import 문 사이에 섞여 있는 어떤 문장들보다도 먼저 평가됩니다.
모든 import 문을 파일 상단에 모아두면, 이 사양의 특성으로 인해 발생할 수 있는 놀라움을 막을 수 있습니다.

예시

이 규칙에 부적절한 코드 예시:

js
import { x } from "./foo";
export { x };
import { y } from "./bar";

이 규칙에 적절한 코드 예시:

js
import { x } from "./foo";
import { y } from "./bar";
export { x, y };

구성

이 규칙은 다음 중 하나의 문자열 값을 받습니다.

"absolute-first"

절대 경로(absolute) import를 상대 경로(relative) import보다 먼저 나열하도록 강제합니다.

"absolute-first" 옵션에서 부적절한 코드 예시:

js
import { x } from "./foo";
import { y } from "bar";

"absolute-first" 옵션에서 적절한 코드 예시:

js
import { y } from "bar";
import { x } from "./foo";

"disable-absolute-first"

절대 경로 우선 규칙을 비활성화합니다. 이는 기본 동작입니다.

사용 방법

구성 파일이나 명령줄 인터페이스에서 이 규칙을 활성화하려면 다음과 같이 사용할 수 있습니다:

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

참고 자료