typescript-eslintのv2.0.0においてパース処理に変更があり、リント対象のファイルを明示的に指定しなければならなくなりました。
v1.x.xを使用しているプロジェクトでv2.x.xにアップデートすると、パース処理に失敗して正常にリントが行なえない状態になります。
ここでは、そのような状況に陥った際の対処法を示します。
ESLint用のtsconfig.jsonファイルを作成
ESLint用のtsconfig.json
ファイルとして、tsconfig.eslint.json
ファイルを作成します(ファイル名はなんでもいいのですが、ここでは公式ドキュメントの記載に合わせています)。
tsconfig.eslint.json
{
"extends": "./tsconfig.json",
"include": [
"src/**/*.ts",
"test/**/*.ts"
]
}
オリジナルのtsconfig.json
を継承したうえで、include
でリント対象のファイルを指定しています。
ESLintの設定ファイルでtsconfig.eslint.jsonファイルを使用
ESLintの設定ファイルのparserOptions.project
に、さきほど作成したtsconfig.eslint.json
を指定します。
例:
.eslintrc.json
{
"plugins": [
"@typescript-eslint"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "./tsconfig.eslint.json"
}
}