#ESlintより高速なリントツール
私は仕事で大規模なjs/tsプロジェクトに参加したことがないので、lintツールを使ったことがありません。個人開発でも入れようと思っていたんですが、後手後手に回っていました。ちょっと面倒そうだな…という逃げの精神ですね。
しかし、6/13の1.1.0アップデートでdenoがCLIツールとしてlintツールを導入してくれました。もうこれで逃げることはできません。そこで、さっそく使ってみたので、この記事では概要をご紹介しようと思います。
詳細はこちらを読んでください。→Linter
##良い点
正直、私はESlintを使ったことがないので比較は出来ないのですが、良かった点を書いてみます。
###動作が早い
rustで書かれているからか、高速で動くそうです。私が実際に図ったわけではないので、未検証ではありますが、公式によると下記のような結果が出たそうです。
"runsAvgMs":2.4468227999999725,
"runsAvgMs":2282.9389232,
https://github.com/denoland/deno_lint
試行回数5回
denolint→平均約0.00245秒。
ESlint→平均2.28294秒
おおよそ1000倍以上の差が出ています。条件によって色々変わることは想定されますが、相当の性能差です。まぁこんなにEslintが2秒かかるから困る
###環境構築が簡単(不要)
deno v1.1.0なら特に追加の設定なく使えます。
因みにdenoはアップデートも簡単です。
#latestへアップデートされます。
deno upgrade
#因みにバージョン指定もできるので、バージョンダウンも簡単です。
deno upgrade --version 1.0.5
###利用方法も簡単
コマンドを叩くだけです。
#まだテスト機能なので、unstableフラグが必要です。
#そのうち必要なくなると思います。
deno lint --unstable
###lint対象外にするのが簡単
プログラムの記述前に下記の様にコメントを差し込むだけで、lintの対象外にすることができます。またlintのルールをコメントの最後にいれることで、特定のルールのみ無視することも出来ます。
// deno-lint-ignore-file 対象ルール名
const main = () =>{/*more*/}
ルールに関しては、公式ドキュメントを確認して下さい。
##おわりに
開発中ではありますが、便利だと思います。モダンなサーバサイドjsであるdenoにlintツールが標準付属するのも、これからの時代を感じさせますね。まだきちんと使いこなせてはいないので、色々調べてまた記事にするかもしれません。