ставьте плагин
eslint-plugin-react. Дополнительно если не установлены:
eslintbabel-eslinteslint-plugin-jsx-a11yeslint-plugin-importeslint-config-prettiereslint-config-airbnbeslint-plugin-prettier
Добавляйте так:
{
"extends": [
"airbnb",
"prettier",
"prettier/react"
],
"plugins": [
"prettier"
],
"parser": "babel-eslint",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
}
},
"env": {
"browser": true,
"node": true
},
"rules": {
"no-plusplus": 0,
"no-confusing-arrow": 0,
"no-restricted-syntax": 0,
"guard-for-in": 0,
"class-methods-use-this": 0,
"jsx-a11y/no-static-element-interactions": 0,
"jsx-a11y/anchor-is-valid": 0,
"react/no-danger": 0,
"react/prop-types": 0,
"react/jsx-filename-extension": 0,
"react/jsx-curly-brace-presence": ["error", { "props": "never", "children": "never" }],
"import/no-unresolved": ["error", { "commonjs": true }],
"import/extensions": 0,
"import/no-extraneous-dependencies": ["error", {"devDependencies": true}],
"import/prefer-default-export": 0,
"prettier/prettier": ["error", {
"singleQuote": true,
"trailingComma": "all"
}]
}
}
Правила настройте под себя.
Если хотите precommit проверку, то поставьте
lint-stаged и
husky, и добавьте следующие строки в
package.json:
"scripts": {
// ваши скрипты
"precommit": "./node_modules/.bin/lint-staged",
},
"lint-staged": {
"**/*.js": [
"./node_modules/.bin/prettier --write",
"./node_modules/.bin/eslint --fix",
"./node_modules/.bin/stylelint './app/**/*.js'", // если используете css in js
"git add"
]
},
Теперь перед каждым вашим коммитом код будет приводиться в порядок на автомате если это возможно. И прерывать коммит ошибкой если нарушены правила.