import/consistent-type-specifier-style スタイル
何をするか
このルールは、名前付きインポートにおけるインラインの型専用マーカーの使用を強制するか、禁止するかを設定します。
なぜ悪いのか
トップレベルの import type { Foo } from 'foo' とインラインの { type Bar } が混在すると、インポートを確認する際に読者が意識の切り替えが必要になります。 一方のスタイルを強制することで、どのインポートが型であるか、どのインポートが値であるかがすぐにわかります。
例
デフォルトの prefer-top-level オプションでの誤ったコードの例:
typescript
import { type Foo } from "Foo";
import Foo, { type Bar } from "Foo";デフォルトのオプションでの正しいコードの例:
typescript
import type { Foo } from "Foo";
import type Foo, { Bar } from "Foo";prefer-inline オプションでの誤ったコードの例:
typescript
import type { Foo } from "Foo";
import type Foo, { Bar } from "Foo";prefer-inline オプションでの正しいコードの例:
typescript
import { type Foo } from "Foo";
import Foo, { type Bar } from "Foo";設定
このルールは以下の文字列値のいずれかを受け入れます。
"prefer-top-level"
型インポートに対して import type { Foo } from 'foo' を推奨します。
"prefer-inline"
型インポートに対して import { type Foo } from 'foo' を推奨します。
使用方法
設定ファイルまたは CLI でこのルールを 有効化 するには、次のようにします:
json
{
"plugins": ["import"],
"rules": {
"import/consistent-type-specifier-style": "error"
}
}bash
oxlint --deny import/consistent-type-specifier-style --import-plugin