ESLint
ESLint — это инструмент статического анализа, который поможет вам быстро находить и исправлять ошибки и стилистические недочёты в вашем коде. Правила ESLint дополняют проверки, предоставляемые системой типов Flow.
Вы можете быстро настроить ESLint, установив hermes-eslint с помощью Yarn или npm.
yarn add --dev eslint hermes-eslint eslint-plugin-ft-flow # or npm install --save-dev eslint hermes-eslint eslint-plugin-ft-flow
Затем создайте файл .eslintrc.js в корне вашего проекта со следующим содержимым:
module.exports = {
root: true,
parser: 'hermes-eslint',
plugins: [
'ft-flow'
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
],
};
Для получения дополнительной информации о настройке ESLint, посмотрите документацию ESLint.
Затем вы можете проверить свой код с помощью:
yarn run eslint . --ext .js,.jsx # or npm run eslint . --ext .js,.jsx
Использование с Prettier
Если вы используете prettier, также существует полезная настройка, помогающая убедиться, что ESLint не сообщает об ошибках форматирования, которые исправит prettier: eslint-config-prettier.
Используйте эту конфигурацию, добавив её в конец вашего extends:
module.exports = {
root: true,
parser: 'hermes-eslint',
plugins: [
'ft-flow'
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
+ 'prettier',
],
}; Дополнительные плагины
Плагины ESLint предоставляют дополнительные правила и функциональность поверх ESLint. Ниже приведены лишь несколько примеров, которые могут быть полезны:
- Полезные правила языка от команды Flow:
eslint-plugin-fb-flow - Рекомендации по React:
eslint-plugin-reactиeslint-plugin-react-hooks - Тестирование с Jest:
eslint-plugin-jest - Конвенции импорта/экспорта:
eslint-plugin-import - Рекомендации по NodeJS:
eslint-plugin-node - Ограничения ESLint комментариев:
eslint-plugin-eslint-comments
Каждый доступный плагин содержит документацию по различным конфигурациям и правилам, которые он предлагает. Типичное использование плагина выглядит следующим образом:
module.exports = {
root: true,
parser: 'hermes-eslint',
plugins: [
'ft-flow'
+ 'jest',
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
+ 'plugin:jest/recommended',
],
}; Найдите “eslint-plugin” на npm для получения большего количества вариантов.
© 2013–present Facebook Inc.
Licensed under the MIT License.
https://flow.org/en/docs/tools/eslint