Skip to content
← Back to rules

typescript/no-restricted-types 制限

🛠️💡 An auto-fix and a suggestion are available for this rule.

何をしますか

特定の型を使用することを禁止します。

なぜ問題ですか

一部の組み込み型には別名がありますが、一部の型は危険または有害と見なされることがあります。 特定の型を禁止することで、一貫性と安全性を高めるのは一般的に良い考えです。

{ "types": { "Foo": { "message": "代わりに Bar を使用してください", "fixWith": "Bar" } } } を指定した場合:

このルールに対する誤りの例:

ts
let value: Foo;

このルールに対する正しい例:

ts
let value: Bar;

このルールの設定オプションのその他の例:

  • 修正や提案なしでメッセージのみを伴う Foo 型の禁止: { "types": { "Foo": "代わりに OtherType を使用してください。" } }

  • 提案付きで Bar 型の禁止: { "types": { "Bar": { "message": "Bar の使用を避けてください。", "suggest": "BazQux" } } }

  • 一般的なメッセージ付きで Object 型の禁止: { "types": { "Object": true } }

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。

types

type: object

default: {}

禁止する型名のマッピング。

使い方

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

json
{
  "rules": {
    "typescript/no-restricted-types": "error"
  }
}
bash
oxlint --deny typescript/no-restricted-types

参照