手軽にeslint-config-airbnbを導入
手軽にeslint-config-airbnbを導入:
規則正しく美しいJavascriptコードを書くためにESLintを導入しておきたいが、Lintルールをイチから検討するのはなかなか大変...
そこでAirbnbのJavascript style guideのLintルールを、お手軽に導入しようという目的
想定する導入所要時間: 10分程度
node 10.13.0
webpack 4.26.0
ESlint
今回の環境ではwebpack用のloaderも入れておく
airbnbルールベースのプラグインを使用するが、
reactを利用しているかどうかでプラグインを変える必要がある
プロジェクトルート直下に
こちらもreactを利用するかどうかで記述を変える
この段階で、エディタ側でLintエラー表示できる設定をしていれば、Lintルールが適用されていることがわかる
webpackでjsバンドルしている場合は、下記の設定をwebpackコンフィグに記述する
とても手軽にLintルールを適用することができた
もちろんプラグインルールをベースに独自ルールを追加拡張することも可能
eslint configの書き方
https://eslint.org/docs/user-guide/configuring
eslintルール一覧
https://eslint.org/docs/rules/
概要
規則正しく美しいJavascriptコードを書くためにESLintを導入しておきたいが、Lintルールをイチから検討するのはなかなか大変...そこでAirbnbのJavascript style guideのLintルールを、お手軽に導入しようという目的
想定する導入所要時間: 10分程度
導入プロジェクト環境
node 10.13.0webpack 4.26.0
ESLint構築
必要パッケージのインストール
ESlint$ npm i -D eslint
$ npm i -D eslint-loader
reactを利用しているかどうかでプラグインを変える必要がある
reactを利用する場合
$ npm i -D eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react
reactを利用しない場合
$ npm i -D eslint-config-airbnb-base eslint-plugin-import
ESLint設定
プロジェクトルート直下に .eslintrc
を作成こちらもreactを利用するかどうかで記述を変える
reactを利用する場合
.eslintrc
{ "extends": "airbnb" }
reactを利用しない場合
.eslintrc
{ "extends": "airbnb-base" }
webpack連携
webpackでjsバンドルしている場合は、下記の設定をwebpackコンフィグに記述するpre
セクションを使用して、安全に他のloader(babel-loaderなど)によって変更されていないjsファイルをチェックすることが可能webpack.config.js
module.exports = { (snip) module: { rules: [ { enforce: 'pre', test: /\.js$/, exclude: /node_modules/, loader: 'eslint-loader', }, ], }, }
まとめ
とても手軽にLintルールを適用することができたもちろんプラグインルールをベースに独自ルールを追加拡張することも可能
.eslintrc
{ "extends": "airbnb", "rules": { "comma-dangle": 0 } }
Appendix
eslint configの書き方https://eslint.org/docs/user-guide/configuring
eslintルール一覧
https://eslint.org/docs/rules/
コメント
コメントを投稿