Настройка Airbnb ESLint с React и Webpack



Я пытаюсь настроить пылеобразования со стандартами на JavaScript на Airbnb на мой проект среагировать, он использует 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, которая приводит к завершению задачи.



Любая помощь будет оценена!

663   1  

1 ответ:

Итак, у меня была та же проблема, но я исправил эту ошибку, используя последнюю версию текущих пакетов:

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

Comments

    Ничего не найдено.