Как мне обновить * .eslintrc *, чтобы ESLint увидел изменения? - PullRequest
0 голосов
/ 26 июня 2018

Я хочу использовать ESLint в моем проекте JavaScript. Я использую Project Reactor, Spring Boot, ReactJS и Webpack. Я создал .eslintrc файл в корневой папке рядом с pom.xml.

Кажется, ESLint работает. Когда я применяю

eslint src\main\js\components

сказано

1:1 error Parsing error: 'import' and 'export' may appear only with 'sourceType: module'

Хорошо, я нашел этот и обновил мой .eslintrc :

{
"env": {
    "browser": true,
    "commonjs": true,
    "node": true,
    "es6": true
},
"extends": "eslint:recommended",
"parserOptions": {
    "parserOptions": { "sourceType": "module" }
},
"plugins": [
    "react"
],
"rules": {
    "indent": [
        "error",
        "tab"
    ],
    "linebreak-style": [
        "error",
        "unix"
    ],
    "quotes": [
        "error",
        "double"
    ],
    "semi": [
        "error",
        "always"
    ],
    "import":"true",
    "keyword-spacing": 2
}
}

Но это не помогает.

Я искал .eslintrc файлов в каталоге моего проекта и обнаружил, что может .eslintrc , .eslintrc.json , .eslintrc.yml файлы, но у них нет sourceType: module . Кажется, они генерируются командой npm install. Один из них:

{
"rules": {
    "id-length": 0,
    "max-lines": 0,
    "max-statements-per-line": [2, { "max": 3 }],
    "max-nested-callbacks": [2, 3],
    "max-statements": 0,
    "no-implicit-coercion": [1],
    "no-invalid-this": [1]
}
}

Я пытался пересобрать проект, удалить все .eslintrc , кроме моего.

My packages.json содержит:

"devDependencies": {
"babel-core": "^6.18.2",
"babel-loader": "^6.2.7",
"babel-polyfill": "^6.16.0",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"css-loader": "^0.26.4",
"eslint": "^5.0.0",
"eslint-plugin-react": "^7.10.0",
"extract-text-webpack-plugin": "^2.1.0",
"file-loader": "^1.1.10",
"image-webpack-loader": "^4.1.0",
"react-redux": "^5.0.7",
"style-loader": "^0.13.2",
"url-loader": "^0.6.2",
"webpack": "^2.2.1"
}

Как мне обновить .eslintrc , чтобы ESLint увидел изменения? Почему создаются дополнительные файлы eslint?

1 Ответ

0 голосов
/ 26 июня 2018

Вы, кажется, вложили parserOptions внутрь себя:

"parserOptions": {
    "parserOptions": { "sourceType": "module" }
},

Удалите один уровень вложенности, и он должен работать:

"parserOptions": {
    "sourceType": "module"
},

Почему создаются дополнительные файлы eslint?

Они под node_modules? Они будут из ваших зависимостей. Вам не нужно беспокоиться о них.

...