TypeScript の型安全性を高めるための, やや思想強めのルールを提供する ESLint プラグインを作りました.
ひとまずは以下の記事で紹介したもののうち, それなりに重要度が高く, かつ機械的に検査しやすい「オブジェクトの具体的な形にアクセスするのを避ける」(要約: 他の言語だと reflection と呼ばれる類の操作に型安全性を期待するな) についてのルールを実装しています.
どうぞご利用ください.
実装メモ
- typescript-eslint を参考にしながら実装した
- @typescript-eslint/utils が最近 experimental でなくなったので安心
- ESLint, @typescript-eslint/utils, AST Explorer など必要なものが十分に整っているので, ルールの実装はほぼルールのことだけに集中できて体験が良い
- TypeScript の型情報を使おうとすると一気にハードルが上がる