typescript/consistent-type-exports Nursery
何をするか
型としてのみ使用されるエクスポートに対して、export type を使用することを強制します。
なぜ問題なのか
export type を使わずに型のみのエクスポートと値のエクスポートを混在させると、モジュールの意図が読みにくくなり、不要な実行時エクスポート表面積が生じる可能性があります。
例
このルールに違反するコードの例:
ts
type Foo = { bar: string };
export { Foo };
export { TypeOnly, value } from "./mod";このルールに準拠するコードの例:
ts
type Foo = { bar: string };
export type { Foo };
export type { TypeOnly } from "./mod";
export { value } from "./mod";設定
このルールは、以下のプロパティを持つ設定オブジェクトを受け入れます。
fixMixedExportsWithInlineTypeSpecifier
type: boolean
デフォルト: false
インラインの type 指定子を使用して、混合エクスポートを再書き込みする自動修復戦略を有効にします。
使用方法
このルールを設定ファイルまたは CLI で有効にするには、次のようにします:
json
{
"rules": {
"typescript/consistent-type-exports": "error"
}
}bash
oxlint --type-aware --deny typescript/consistent-type-exports