typescript-eslint-parser
という ESLint 用の TypeScript パーサがあったので試してみます。
インストール
npm install
でインストールされたバージョンだとエラーが出て使えなかったので GitHub レポジトリから直接インストールします。
$ npm install -g eslint
$ npm install -D eslint/typescript-eslint-parser
まだ alpha バージョンみたいです。
試す
適当な TypeScript を用意して試してみます。
// src/a.ts
var x: number = 1;
function f(x, number, ...r: any[]) {
return x;
}
.eslint.json
に parser
を指定します。
{
"extends": "eslint:recommended",
"parser": "typescript-eslint-parser",
"rules": {
"indent": [2, 4],
"linebreak-style": [2, "unix"],
"max-len": [2, 80, 4],
"no-unused-vars": [2, { "args": "none", "varsIgnorePattern": "_" }],
"quotes": [2, "single" ],
"semi": [2, "always"]
}
}
インデント幅などを設定しておきます。
eslint
を走らせるときは --ext
オプションを指定してあげます。
$ eslint --ext src
実行すると x
と f
が使われてないこととインデントがスペース4つじゃないことを教えてくれます。
--fix
オプションをつけるとちゃんとインデントを直してくれました。 tslint だとこういうことができないので面倒です。
$ eslint --fix --ext .ts src
...
$ cat src/a.ts
// src/a.ts
var x: number = 1;
function f(x, number, ...r: any[]) {
return x;
}
まとめ
まだアルファ版なので色々うまく行かなかったりしますが、一応試すことができました。 TypeScript のスタイルチェックは、まだまだ tslint に頼ることになりそうですが、今後に期待です。
まともに使えるようになったら、 JavaScript と共通の設定を使えるのは便利かもしれません。