ESDoc の設定を package.json に定義する
これまで ESDoc の設定は esdoc.json
に定義していたが昨年末にリリースされた v0.5.0 から他の形式もサポートされるようになった。CHANGELOG.md には
.esdoc.json
in current directory.esdoc.js
in current directoryesdoc
property inpackage.json
とある。これらの内、とくに嬉しいのは 3 番目の package.json
。私はプロジェクト設定をこのファイルへ集約する派であり Babel や Browserify もそうしている。
実際に ESDoc 設定を package.json
へ定義して npm-scripts から呼ぶ場合は以下のように記述する。
{
"esdoc": {
"source": "./src/js",
"destination": "./esdoc",
"test": {
"type": "mocha",
"source": "./test"
}
},
"scripts": {
"esdoc": "esdoc"
}
}
既に esdoc.json
を利用しているならその内容を package.json
の esdoc
プロパティにコピペして元ファイルを削除すればよい。esdoc
コマンドの引数を省略して実行すると自動的にそれを読んで処理してくれる。
試しに以下のプロジェクトへ設定を反映し、動作することを確認済み。
なんでも package.json
にまとめると肥大化して見通しが悪くなるという意見もあるだろう。しかしこのファイルを直に編集する機会は滅多にないし、設定が分散するよりも集約したほうが個人的には便利だと思う。
10 行ぐらいに収まる設定ならそうしたい。例えば ESDoc や Babel などの設定は大抵、短いからそうする。逆に ESLint は長くなりがちだから分離しておきたい。