typescript/prefer-namespace-keyword 正しさ
何をするか
このルールは、module キーワードが namespace ではなく使用されている場合に報告します。 このルールは、外部の API を記述するために TypeScript の module 宣言を使用している場合(declare module 'foo' {})には報告しません。
WARNING
このルールは非推奨であり、将来のリリースで削除される予定です。
将来的な TypeScript および Oxlint バージョンでは、パーサーによって硬いエラーとして発生するようになります。
参照: https://github.com/microsoft/TypeScript/issues/54500, https://github.com/microsoft/TypeScript/issues/62211 および https://github.com/microsoft/TypeScript/pull/62876。
なぜ問題なのか
名前空間(namespaces)は、タイプスクリプトコードを組織化するための古くなった手法です。現在は、ES2015 のモジュール構文(import/export)が推奨されています。 まだカスタムモジュール/名前空間を使用しているプロジェクトの場合、それらを「名前空間」と呼ぶことが望ましいです。
例
このルールに対する不適切なコードの例:
typescript
module Example {}このルールに対する適切なコードの例:
typescript
namespace Example {}使用方法
設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:
json
{
"rules": {
"typescript/prefer-namespace-keyword": "error"
}
}bash
oxlint --deny typescript/prefer-namespace-keyword