Skip to content
← Back to rules

typescript/consistent-type-imports 스타일

🛠️ An auto-fix is available for this rule for some violations.

작동 방식

타입 임포트의 사용을 일관되게 유지하도록 강제합니다.

왜 문제가 될까요?

타입 임포트의 사용이 일관되지 않으면 코드를 읽고 이해하기 더 어려워질 수 있습니다.

예시

이 규칙에 틀린 예시:

ts
import { Foo } from "Foo";
type T = Foo;

type S = import("Foo");

이 규칙에 맞는 예시:

ts
import type { Foo } from "Foo";

"prefer": "type-imports" (기본값)과 함께 사용한 예시

틀린 예시:

ts
import { Foo } from "foo";
let foo: Foo;

맞는 예시:

ts
import type { Foo } from "foo";
let foo: Foo;

"prefer": "no-type-imports"와 함께 사용한 예시

틀린 예시:

ts
import type { Foo } from "foo";
let foo: Foo;

맞는 예시:

ts
import { Foo } from "foo";
let foo: Foo;

"fixStyle": "inline-type-imports"와 함께 사용한 예시

타입 임포트를 수정할 때, 이 옵션은 인라인 type 수정자를 사용합니다:

ts
// 수정 전
import { A, B } from "foo";
type T = A;
const b = B;

// 수정 후
import { type A, B } from "foo";
type T = A;
const b = B;

"disallowTypeAnnotations": false와 함께 사용한 예시

false로 설정되면, import() 타입 주석을 허용합니다:

ts
type T = import("foo").Bar;

구성

이 규칙은 다음 속성을 가진 구성 객체를 수락합니다:

disallowTypeAnnotations

type: boolean

기본값: true

import()를 타입 주석에서 사용하는 것을 금지합니다. 예: type T = import('foo')

fixStyle

type: "separate-type-imports" | "inline-type-imports"

기본값: "separate-type-imports"

자동 수정 시 타입 임포트가 어떻게 추가되는지를 제어합니다.

"separate-type-imports"

임포트 키워드 뒤에 type 키워드를 추가합니다. (import type { A } from '...')

"inline-type-imports"

type 키워드를 인라인으로 포함합니다. (import { type A } from '...') (TypeScript 4.5 이상에서만 사용 가능)

prefer

type: "type-imports" | "no-type-imports"

기본값: "type-imports"

타입 임포트 또는 값 임포트를 강제할지 여부를 제어합니다.

"type-imports"

항상 import type Foo from '...'를 사용하도록 강제합니다. (데코레이터 메타데이터 참조 제외)

"no-type-imports"

항상 import Foo from '...'를 사용하도록 강제합니다.

사용 방법

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

json
{
  "rules": {
    "typescript/consistent-type-imports": "error"
  }
}
bash
oxlint --deny typescript/consistent-type-imports

참고 자료