GoogleのTypeScriptフォーマッター「gts」
GoogleがgtsというTypeScript用のスタイルガイド兼リンター兼フォーマッターのgtsというライブラリを出していたのを知りました。
使い方
PrettierやESLint・TSLintのようにこちらで独自に設定をするのではなくGoogleのスタイルガイドに完全に乗っかる形を取ります。standard.jsみたいです。
まず、通常通りnpmやyarnを使ってgtsをインストールします。
npm install --save-dev gts
そしてプロジェクトのルートで
npx gts init
を実行します。このコマンドはtsconfig.js、tslint.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で出してくるんだなぁというのが素直な感想です。あと個人的にはリンターのルールはゆるめが好き(フォーマッターだけでいいじゃん)というタイプなのであんまり使うことはなさそうです。
でも会社で新規プロジェクトとかあったらいれてみるのはありかもしれませんね。設定で迷う余地がなくなるので。
