typescript/consistent-type-imports スタイル
何をするか
型のインポートの使用方法を一貫性を持たせるように制約します。
なぜ問題なのか
型のインポートの使い方が一貫性がないと、コードが読みにくくなり、理解しにくくなります。
例
このルールに違反する例:
import { Foo } from "Foo";
type T = Foo;
type S = import("Foo");このルールに準拠する例:
import type { Foo } from "Foo";"prefer": "type-imports" (デフォルト) の場合の例
違反する例:
import { Foo } from "foo";
let foo: Foo;準拠する例:
import type { Foo } from "foo";
let foo: Foo;"prefer": "no-type-imports" の場合の例
違反する例:
import type { Foo } from "foo";
let foo: Foo;準拠する例:
import { Foo } from "foo";
let foo: Foo;"fixStyle": "inline-type-imports" の場合の例
型のインポートを修正する際、このオプションはインラインの type モディファイアを使用します:
// 修正前
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() の型注釈を許可します:
type T = import("foo").Bar;設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。
disallowTypeAnnotations
型: boolean
デフォルト: true
型注釈内で import() を使用することを禁止します。例: type T = import('foo')
fixStyle
型: "separate-type-imports" | "inline-type-imports"
デフォルト: "separate-type-imports"
自動修正時に型インポートの追加方法を制御します。
"separate-type-imports"
import type { A } from '...' の形式で、インポートキーワードの後に type キーワードを追加します。
"inline-type-imports"
import { type A } from '...' の形式で、type キーワードをインラインに挿入します(TypeScript 4.5以降でのみ利用可能)
prefer
型: "type-imports" | "no-type-imports"
デフォルト: "type-imports"
型インポートまたは値インポートのどちらを強制するかを制御します。
"type-imports"
常に import type Foo from '...' を使用することを強制します(デコレータのメタデータ参照を除く)。
"no-type-imports"
常に import Foo from '...' を使用することを強制します。
使用方法
このルールを有効にするには、設定ファイルまたは CLI で次のように使用できます:
{
"rules": {
"typescript/consistent-type-imports": "error"
}
}oxlint --deny typescript/consistent-type-imports