typescript-eslint/eslint-plugin にコントリビュートした
typescript-eslint/eslint-plugin にコントリビュートしました。
解決した Issue
https://github.com/typescript-eslint/typescript-eslint/issues/524
explicit-function-return-typesとexplicit-member-accessibilityが.ts、.tsx以外の拡張子を持つファイル(.vueとか)に対して効かないバグです。バイトで ESLint のルールを整備しててこのバグに出会ったので直してみました。
出した PR
https://github.com/typescript-eslint/typescript-eslint/pull/594
出したのはだいぶ前なんですが、破壊的変更になるからメジャーアップデートまでマージされず、最近マージされました。
typescript-eslint/eslint-plugin のutilには isTypeScriptFile という、正規表現で拡張子を見て、tsかtsxのときにtrueを返す関数がありました。
上記の2つのルールでは内部でこの関数を使ってファイルの拡張子を判定し、通ったもののみをリントするようになっていました。メンテナさんによると、この関数はもう不要だそうなので消して解決しました。
うれしい
結局バイト先では typescript-eslint/eslint-plugin-tslint を入れて上記の2つのルールに相当する TSLint ルールを追加しましたが、それだとparserOptionsのprojectを指定する必要があって遅くなるし、設定が複雑になってしまいました。なのでリリースが待ち遠しいです。
