import/first 스타일
작동 방식
가장 위에 위치한 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