ESLint — это статический анализатор кода (linter) для JavaScript, который помогает поддерживать единый стиль кода и находить потенциальные ошибки до запуска приложения.
ESLint решает три ключевые задачи:
Для React существуют специальные правила:
npm install eslint-plugin-react --save-dev
Пример конфигурации:
{
"plugins": ["react"],
"rules": {
"react/jsx-uses-react": "error",
"react/jsx-uses-vars": "error"
}
}
ESLint понимает:
Можно использовать:
eslint-config-airbnb
)npm install eslint eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-jsx-a11y --save-dev
Для TypeScript:
npm install @typescript-eslint/parser @typescript-eslint/eslint-plugin --save-dev
{
"env": {
"browser": true,
"es2021": true,
"node": true
},
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:react-hooks/recommended"
],
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 12,
"sourceType": "module"
},
"rules": {
"react/prop-types": "off",
"react/react-in-jsx-scope": "off",
"no-unused-vars": "warn"
},
"settings": {
"react": {
"version": "detect"
}
}
}
Добавляем файл .vscode/settings.json
:
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"]
}
Airbnb — строгий стиль кода
npm install eslint-config-airbnb --save-dev
Standard — минималистичный подход
npm install eslint-config-standard --save-dev
Prettier — интеграция с форматтером
npm install eslint-config-prettier eslint-plugin-prettier --save-dev
ESLint может автоматически исправлять многие ошибки:
npx eslint --fix src/
Или добавить скрипт в package.json
:
{
"scripts": {
"lint": "eslint src/",
"lint:fix": "eslint --fix src/"
}
}
ESLint — это:
Для React-разработчиков ESLint особенно полезен благодаря:
Использование ESLint в проекте значительно повышает: