鈴木颯介のブログ

typescript-eslint/eslint-plugin にコントリビュートした

typescript-eslint/eslint-plugin にコントリビュートしました。

解決した Issue

https://github.com/typescript-eslint/typescript-eslint/issues/524

explicit-function-return-typesexplicit-member-accessibility.ts.tsx以外の拡張子を持つファイル(.vueとか)に対して効かないバグです。バイトで ESLint のルールを整備しててこのバグに出会ったので直してみました。

出した PR

https://github.com/typescript-eslint/typescript-eslint/pull/594

出したのはだいぶ前なんですが、破壊的変更になるからメジャーアップデートまでマージされず、最近マージされました。

typescript-eslint/eslint-plugin のutilには isTypeScriptFile という、正規表現で拡張子を見て、tstsxのときにtrueを返す関数がありました。

上記の2つのルールでは内部でこの関数を使ってファイルの拡張子を判定し、通ったもののみをリントするようになっていました。メンテナさんによると、この関数はもう不要だそうなので消して解決しました。

うれしい

結局バイト先では typescript-eslint/eslint-plugin-tslint を入れて上記の2つのルールに相当する TSLint ルールを追加しましたが、それだとparserOptionsprojectを指定する必要があって遅くなるし、設定が複雑になってしまいました。なのでリリースが待ち遠しいです。