動かざることバグの如し

近づきたいよ 君の理想に

Eslintのrecommended-requiring-type-checkingで有効になるルール項目一覧

環境

  • @typescript-eslint/eslint-plugin v5.56
  • typescript v5

概要

今日は、Typescriptにおいてeslintのチェックがよく使われるため、有用なEslintのルールについて知っておくことが重要なことであると言えます。特に 「recommended-requiring-type-checking」を有効にすることが推奨されているため、これが有効になるEslintルールを調べ、その一覧を共有します。

有効になるルール

ルールの一覧自体は実はソース見たほうが早い

https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/src/configs/recommended-requiring-type-checking.ts

でそのルールが以下

  • @typescript-eslint/await-thenable: then メソッドを持たない値に対して await を使わないようにする
  • @typescript-eslint/no-floating-promises: promise を返す関数やメソッドの呼び出しに対して、適切なエラーハンドリングを行うようにする
  • @typescript-eslint/no-for-in-array: 配列に対して for-in ループを使わないようにする
  • no-implied-eval: off (このルールは TypeScript ではサポートされていません)
  • @typescript-eslint/no-implied-eval: eval や setTimeout などの関数に文字列を渡さないようにする
  • @typescript-eslint/no-misused-promises: promise を返す関数やメソッドを、boolean の代わりに使わないようにする
  • @typescript-eslint/no-unnecessary-type-assertion: 不要な型アサーションや非nullアサーションを使わないようにする
  • @typescript-eslint/no-unsafe-argument: 型安全でない引数を関数やコンストラクターに渡さないようにする
  • @typescript-eslint/no-unsafe-assignment: 型安全でない代入や分割代入を行わないようにする
  • @typescript-eslint/no-unsafe-call: 型安全でない関数やメソッドの呼び出しを行わないようにする
  • @typescript-eslint/no-unsafe-member-access: 型安全でないプロパティやメソッドへのアクセスを行わないようにする
  • @typescript-eslint/no-unsafe-return: 型安全でない値を返さないようにする
  • require-await: off (このルールは TypeScript ではサポートされておらず、@typescript-eslint/require-await ルールと競合します)
  • @typescript-eslint/require-await: async 関数が await を含まず、promise を返さず、try-catch-finally ブロックも含まれておらず、コメントも含まれておらず、async キーワードが不要である場合はエラーとする