なっく日報

技術やら生活やらのメモ

ESLintプラグインの作り方

とりあえず、日報なので書きます。 そのうちまとまったらqiitaに投稿するかもしれません(きっとする)

プロジェクトの作り方

本家のドキュメントに全て書いてあります。 eslint.org

流れをざっくりまとめると

  1. eslint-plugin-<plugin-name> というリポジトリを作る
  2. package.jsonを書く
  3. ルールファイルを書く
  4. ルールファイルのテストを書く

という感じ。

実績のあるプラグインのpackage.json、index.jsを真似するのが完成への最短の道のりかと思われます。

eslint-plugin-reactはJSXなのでルールファイルの書き方はあまり参考になりません。

ルールの書き方

やはり本家のルールが参考になります。

https://github.com/eslint/eslint/tree/master/lib/rules

テストの書き方

やや情報が古いですが、日本語の記事ならこのあたり。
ESLintTesterというユーティリティを使い方が参考になります。

コードのバグはコードで見つけよう! | サイバーエージェント 公式エンジニアブログ

プラグインの導入方法

例えば、eslint-plugin-hogemy-rule というルールのみ を使いたい場合

  1. npm install -D eslint eslint-plugin-hoge
  2. .eslintrcにプラグインとルールを追加
  3. ./node_modules/.bin/eslint --reset src でsrcフォルダをlint

という流れになります。

.eslintrcの例です。

{
  "plugins": [
    "hoge"
  ],
  "rules": {
    "my-rule": 2,
  }
}