ESLintプラグインの作り方
とりあえず、日報なので書きます。 そのうちまとまったらqiitaに投稿するかもしれません(きっとする)
プロジェクトの作り方
本家のドキュメントに全て書いてあります。 eslint.org
流れをざっくりまとめると
という感じ。
実績のあるプラグインのpackage.json、index.jsを真似するのが完成への最短の道のりかと思われます。
- https://github.com/yannickcr/eslint-plugin-react/blob/master/package.json
- https://github.com/yannickcr/eslint-plugin-react/blob/master/index.js
※ eslint-plugin-react
はJSXなのでルールファイルの書き方はあまり参考になりません。
ルールの書き方
やはり本家のルールが参考になります。
https://github.com/eslint/eslint/tree/master/lib/rules
テストの書き方
やや情報が古いですが、日本語の記事ならこのあたり。
ESLintTesterというユーティリティを使い方が参考になります。
コードのバグはコードで見つけよう! | サイバーエージェント 公式エンジニアブログ
プラグインの導入方法
例えば、eslint-plugin-hoge
の my-rule
というルールのみ を使いたい場合
npm install -D eslint eslint-plugin-hoge
- .eslintrcにプラグインとルールを追加
./node_modules/.bin/eslint --reset src
でsrcフォルダをlint
という流れになります。
.eslintrcの例です。
{ "plugins": [ "hoge" ], "rules": { "my-rule": 2, } }