web-dev-qa-db-ja.com

ReactおよびWebpackを使用してAirbnb ESLintを設定する

私はReactプロジェクトでAirbnbのJavaScript標準を使用してリンティングを設定しようとしています。webpackを使用しています。

コメントに基づいて最新のパッケージで更新されました。

"babel-eslint": "^6.1.2",
"eslint": "^3.2.2",
"eslint-config-airbnb": "^10.0.0",
"eslint-plugin-import": "^1.12.0",
"eslint-plugin-jsx-a11y": "^2.0.1",
"eslint-plugin-react": "^6.0.0",
"jshint": "^2.9.2",
"jshint-loader": "^0.8.3",
"json-loader": "^0.5.4",

私も私のwebpack設定でプリローダーセットアップを持っています

preLoaders: [
    {
        test: /\.jsx?$/,
        loaders: ['eslint'],
        // define an include so we check just the files we need
        include: PATHS.app
    }
],

そして、スクリプトを実行するための次の設定

  "lint": "eslint . --ext .js --ext .jsx --ignore-path .gitignore --cache",

次の.eslintrcファイルもあります

{
  "extends": "airbnb",
   "env": {
      "node": true,
      "es6": true
   }
 }

これにより、次のエラーが発生します。

Configuration for rule "react/jsx-sort-props" is invalid:
Value "data["0"].shorthandLast" has additional properties.

競合していると思われる.eslintrcファイルを削除すると、次のエラーが発生します。

 error  Parsing error: The keyword 'const' is reserved

タスクを終了させるnpmエラーが続きます。

何か助けていただければ幸いです!

14
Ash

だから、私は同じ問題を抱えていましたが、現在のパッケージの最新バージョンを使用してこのエラーを修正しました:

"eslint": "3.2.2",
"eslint-config-airbnb": "10.0.0",
"eslint-loader": "1.5.0",
"eslint-plugin-import": "1.12.0",
"eslint-plugin-jsx-a11y": "2.0.1",
"eslint-plugin-mocha": "2.2.0",
"eslint-plugin-react": "6.0.0",

そして、このチュートリアルを実行してください: ESLint + Babel + Webpackを使用したReact Code Style

module: { 
    preLoaders: [
      {
        test: /\.jsx?$/,
        loaders: ['eslint-loader'],
        include: path.join(__dirname, 'src'),
        exclude: path.join(__dirname, 'src/app/container')
      }
    ],
...
    eslint: {
      configFile: './.eslintrc',  //your .eslintrc file 
      emitWarning: true
    }

.eslintrcファイル

    {
      "extends": "airbnb"
    }
13
Erick Voodoo