Closed5
ESLintの共通ルール(ライブラリ)を書くときのメモ
ESLintのドキュメント
eslint-config-
prefixで書くと利用側でextendsするときに eslint-config-
は省略して書ける。
ライブラリ名: eslint-config-hoge
{
extends: "eslint-config-hoge"
}
{
extends: "hoge"
}
@
scope付きの場合
ライブラリ名: @hoge/eslint-config
{
extends: "@hoge"
}
はeslint-configを省略して書ける。
ライブラリ名: @hoge/eslint-config-fuga
{
extends: "@hoge/fuga"
}
とは書けない。
"peerDependencies": {
"eslint": ">= 3"
}
のようにpeerDependenciesに書いておくことで利用側でeslintが必要なことを示しておくことができる。利用側でnpm installに警告がでるようになる。
peerDependenciesはこちらがわかりやすかった。dependenciesに書いてしまうとライブラリの方が依存バージョンが高い場合に利用側のバージョンが無視されてバージョンが上がってしまう。
ライブラリ側でルールを変えながら別の利用側で動作確認したいときに npm link
が便利。
ライブラリ側で npm link
を実行するとローカルのglobalのnode_modules/にシンボリックリンクが貼られて、利用側で npm link eslint-config-hoge
を実行すると利用側のnode_modules/eslint-config-hoge/が手元で修正しているライブラリのディレクトリにシンボリックリンクでつながる。
ライブラリ側のルール変更が即反映されるので動作確認しやすい。
このスクラップは2021/07/25にクローズされました