J'essaie de configurer le linting avec les normes Javascript d'Airbnb sur mon projet React, il utilise webpack.
Mise à jour avec les derniers packages basés sur les commentaires.
"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",
J'ai également une configuration de préchargement dans ma configuration webpack
preLoaders: [
{
test: /\.jsx?$/,
loaders: ['eslint'],
// define an include so we check just the files we need
include: PATHS.app
}
],
Et la configuration suivante pour exécuter le script
"lint": "eslint . --ext .js --ext .jsx --ignore-path .gitignore --cache",
J'ai aussi un .eslintrc
fichier contenant les éléments suivants
{
"extends": "airbnb",
"env": {
"node": true,
"es6": true
}
}
Cela me donne l'erreur suivante:
Configuration for rule "react/jsx-sort-props" is invalid:
Value "data["0"].shorthandLast" has additional properties.
Si je supprime le .eslintrc
fichier que je pensais être en conflit, j'obtiens l'erreur suivante:
error Parsing error: The keyword 'const' is reserved
Suivi d'une erreur npm qui provoque la fermeture de la tâche.
Toute aide serait appréciée!
J'ai donc eu le même problème, mais j'ai corrigé cette erreur en utilisant la dernière version des packages actuels:
"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",
Et s'il vous plaît, faites ce tutoriel: React Code Style avec 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
}
Fichier .eslintrc
{
"extends": "airbnb"
}