typescript/no-empty-interface スタイル
何をするか
空のインターフェースの宣言を禁止します。
なぜ悪いのか
TypeScriptにおける空のインターフェースはほとんど意味がありません:非ヌル値であれば、いかなる値も {} に代入できます。 空のインターフェースを使用することは、しばしばプログラマの誤解やミスを示すものであり、たとえば {} の概念を理解していない、あるいはフィールドを記述し忘れたなどです。 このルールは、コード内に意味のあるインターフェースのみが宣言されることを保証することを目的としています。
例
このルールに違反する誤ったコードの例:
ts
interface Foo {}
interface Bar extends Foo {}このルールに合致する正しいコードの例:
ts
interface Foo {
member: string;
}
interface Bar extends Foo {
member: string;
}設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます:
allowSingleExtends
type: boolean
デフォルト: false
true に設定された場合、単一のインターフェースを継承する空のインターフェースを許可します。
使い方
設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:
json
{
"rules": {
"typescript/no-empty-interface": "error"
}
}bash
oxlint --deny typescript/no-empty-interface