鈴木颯介のブログ

GoogleのTypeScriptフォーマッター「gts」

GoogleがgtsというTypeScript用のスタイルガイド兼リンター兼フォーマッターのgtsというライブラリを出していたのを知りました。

https://github.com/google/gts

使い方

PrettierやESLint・TSLintのようにこちらで独自に設定をするのではなくGoogleのスタイルガイドに完全に乗っかる形を取ります。standard.jsみたいです。

まず、通常通りnpmやyarnを使ってgtsをインストールします。

npm install --save-dev gts

そしてプロジェクトのルートで

npx gts init

を実行します。このコマンドはtsconfig.jstslint.jsonをgts準拠で作成(すでに存在する場合上書き)し、npm scriptsに以下のコマンドを追加します。

"scripts": {
  "check": "gts check",
  "clean": "gts clean",
  "compile": "tsc -p .",
  "fix": "gts fix",
  "prepare": "npm run compile",
  "pretest": "npm run compile",
  "posttest": "npm run check"
}

checkはスタイルガイドに従っているかをチェックし、fixは可能なら修正します(eslint --fixのように)。cleanは出力されたファイルを削除します。

適用されるルール

google/gtsにあるtslint.jsonがそのまま適用されます。結構厳しいルールですね。

フォーマッタの形式も同様にprettier.config.jsが適用されます。ここではシングルクォートを強制して末尾カンマをES5に合わせるように書かれています。

私見

世間が割とESLintでまとまろうとしているところにTSLintで出してくるんだなぁというのが素直な感想です。あと個人的にはリンターのルールはゆるめが好き(フォーマッターだけでいいじゃん)というタイプなのであんまり使うことはなさそうです。

でも会社で新規プロジェクトとかあったらいれてみるのはありかもしれませんね。設定で迷う余地がなくなるので。