2016-08-04 12 views
10

ReactプロジェクトでAirbnbのJavascript標準でlintingをセットアップしようとしていますが、webpackを使用しています。ReactとWebpackでAirbnb ESLintを設定する

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

"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 
    } 
], 

そして、私はまた、次のように持っている.eslintrcファイルを持っているスクリプトを

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

を実行するために以下の設定をプリローダーを設定しています

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

これは私に次のエラーを与える:

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

私は矛盾するかもしれないと思った.eslintrcファイルを削除した場合、私は次のエラーを取得する:

タスクを起こしNPMエラーが続く
error Parsing error: The keyword 'const' is reserved 

出る。

助けていただけたら幸いです!

+0

eslint 3で試しましたか?最近の変更がいくつかあり、それが原因でエラーが発生したためです。何らかの理由でeslint 3を使用できない場合は、それと互換性のある古いバージョンのプリセットを使用する必要があります。 –

+0

私は実際にeslintを持っています3.9.5 @JuhoVepsäläinenをインストールすると、それは遅れたバージョンですか? – Ash

+1

これは、グローバルにインストールされている場合でも、 '' eslint: "^ 2.13.1"、 'を取得します。 –

答えて

8

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

"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", 

としてくださいを、このチュートリアルを実行します。React Code Style with ESLint + Babel + Webpack

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" 
    } 
+0

これはまさに私がやらなければならなかったものです。すべてのパッケージを削除して再インストールする必要がありました。 – Ash

+3

グローバルなeslintを削除したり、再インストールすることについて私は確信していません...私はそれをしました。これは実際にはこれを消すためにAtomを再起動しました。 – Devin

関連する問題