Skip to content
← Back to rules

typescript/no-useless-empty-export 正しさ

This rule is turned on by default.
🛠️ An auto-fix is available for this rule.

何をするのか

モジュールファイル内で何も変更しない空のエクスポートを禁止します。

なぜ問題なのか

空の export {} 文は、通常スクリプトファイルとして扱われるファイルをモジュールファイルに変換するために、たまにタイプスクリプトコードで有用です。TypeScript ハンドブックのモジュールページによると:

タイプスクリプトでは、ECMAScript 2015 と同様に、トップレベルのインポートまたはエクスポートを含む任意のファイルはモジュールと見なされます。逆に、トップレベルのインポートやエクスポート宣言がないファイルは、グローバルスコープに内容が利用可能となるスクリプトと見なされ(そのためモジュールにもアクセス可能になります)。

ただし、ファイル内に他のトップレベルのインポートまたはエクスポート文がある場合、export {} 文は効果がありません。

このルールは、すでに ES モジュールを使用しているファイル内での無意味な export {} を報告します。

このルールに対して不適切なコードの例:

ts
export const value = "Hello, world!";
export {};

このルールに対して適切なコードの例:

ts
export const value = "Hello, world!";

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:

json
{
  "rules": {
    "typescript/no-useless-empty-export": "error"
  }
}
bash
oxlint --deny typescript/no-useless-empty-export

参照