ESLintのShareable Configsを利用して複数プロジェクトで設定を共有する
(会社|複数プロジェクト)でESLintの設定を共有したい!
ということがあると思いますが、ESLintにはShareable Configsという便利な機能があります。
これを使えば、簡単にそういったことができます。
利用法
モジュール名をつける
eslint-config-*
という命名規則で名付けます。eslint-config-hoge
など。
index.jsを作成する
ESLintの設定を書いたファイルを作ります。
↓ESLintオススメ設定とNode.js v4のES6関連の設定が入ってます。
module.exports = { extends: 'eslint:recommended', env: { node: true, }, ecmaFeatures: { arrowFunctions: true, binaryLiterals: true, blockBindings: true, classes: true, forOf: true, generators: true, objectLiteralComputedProperties:true, objectLiteralDuplicateProperties: false, objectLiteralShorthandMethods: true, objectLiteralShorthandProperties: true, octalLiterals: true, templateStrings: true, }, rules: { 'arrow-parens': [2, 'always'], 'arrow-spacing': [2, { 'before': true, 'after': true }], 'constructor-super': 2, 'generator-star-spacing': [2, {'before': false, 'after': false}], 'no-class-assign': 2, 'no-const-assign': 2, 'no-dupe-class-members': 2, 'no-this-before-super': 2, 'no-var': 2, 'prefer-arrow-callback': 2, 'object-shorthand': [2, 'methods'], 'prefer-const': 2, 'prefer-spread': 0, 'prefer-reflect': 0, 'prefer-template': 0, 'require-yield': 2, } };
ちなみにindex.jsはpackage.jsonの"main"
で指定されたファイルという前提です。
使いたいプロジェクトに追加
npm i -D git+ssh://git@github.com:hoge/eslint-config-hoge.git
でpackage.jsonのdevDependenciesに追加しつつ、インストール。
.eslintrcは
{ "exntends": "hoge" }
と書けば使えるようになります。
その他
の使い方も参考になるので見てみるとよいでしょう。