Skip to content
← Back to rules

typescript/consistent-type-exports Nursery

💭 This rule requires type information.

何をするか

型としてのみ使用されるエクスポートに対して、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

参考情報