Why reinvent the wheel?
— GitHub (@github) June 6, 2019
With GitHub repository templates you can easily reuse code across all your projects.https://t.co/4aDIcTkaJl pic.twitter.com/yjKN9sprTT
GitHub がリポジトリ テンプレートの機能をリリースしたそうなので、ESLint プラグインのテンプレートを作ってみました。
Use this template ボタンを押下すると新しいリポジトリを作る画面になるので、いつも通りにリポジトリを作るとテンプレートのファイル群がコミットされたリポジトリが作成されます。
ファイル群がそのままコピーされるだけなので、package.json
のパッケージ名やリポジトリへのパスなんかは手動で書き換える必要があります。この辺はこれから機能拡充されていくのでしょう。
このテンプレートの内容を少しだけ解説します。
ファイル構造
名前 | 解説 |
---|---|
docs/rules/ |
ドキュメント置き場 |
lib/rules/ |
ルール定義ファイル置き場 |
scripts/ |
開発補助スクリプト置き場 |
tests/lib/rules/ |
テストファイル置き場 |
.eslintignore , .eslintrc.js
|
ESLint の設定ファイル |
.gitignore , .gitattributes
|
git の設定ファイル |
.npmrc |
npm の設定ファイル |
.nycrc |
カバレッジ測定の設定ファイル |
.travis.yml |
CI の設定ファイル |
LICENSE |
MIT の条文が書いてある。名前を追加してください。 |
README.md |
りーどみー。お好みで更新してください。 |
package.json |
パッケージ情報。パッケージ名その他を更新してください。 |
依存パッケージ・サービス
以下を使うようになっています (ESLint 本体と同じ)。お好みで変更してください。
- テスト: mocha と nyc
- CI: Travis CI
- ESLint の設定: eslint-config-eslint と eslint-plugin-eslint-plugin
開発補助ツール
-
npm test
... 各ルールをテストし、カバレッジを測定します。カバレッジはcoverage/lcov-report/index.html
に吐かれます。 -
npm run add-rule ルール名
... ルールの定義ファイル・テストファイル・ドキュメント ファイルを作成します。 -
npm run update
... ルール定義ファイルに基づいて、lib/configs/recommended.json
,lib/index.js
,README.md
のルールテーブル等を更新します。