ESLintでextendsする設定を動的に変更する
※ 追記:よくよくドキュメントを見てみたら、-c airbnb
みたいにオプションでESLintの共有設定の指定もできるそう。なので、この記事は本当に参考程度に。
どこまで使えるかは知りませんが、一応こんなこともできるよというメモ。
↑みたいな感じでESLintの共有設定を作成する場合、
base.js
, legacy.js
みたいなファイルができていくので、一時的に試したい場合、.eslintrc
ファイルを作って都度切り替える必要があります。
root: true extends: ./base.js
みたいな設定ファイルですね。
切り替えるためには、base.js
<->legacy.js
を都度都度書き換える or base.js
, legacy.js
に対応する設定を作って、eslint -c .eslintrc-base.yml .
みたいに切り替える方法がありますが、いずれにせよちょっと面倒です。
の設定を見る限り、extends
を変更するオプションはないようですね。
が、.eslintrc
にJS形式を指定したところ動的に切り替えることができました。
.eslintrc.js
module.exports = { root: true, extends: require.resolve(process.env.ESLINT_CONFIG_NAME), };
ESLINT_CONFIG_NAME=./base.js eslint .
のように。
あんまり需要ないと思いますが、一応できたよという共有でした。