ESLint
ESLint — это инструмент статического анализа, который помогает быстро находить и исправлять ошибки и стилистические недочёты в коде. Правила ESLint дополняют проверки, выполняемые системой типов Flow.
На этой странице описан устаревший стиль конфигурации
.eslintrc. В ESLint 9+ по умолчанию используется плоская конфигурация (eslint.config.js); если вы используете современную версию ESLint, ознакомьтесь с руководством по миграции. Эквивалентом--ext .js,.jsxдля плоской конфигурации являетсяfiles: ['**/*.{js,jsx}']внутри объекта конфигурации.
Вы можете быстро настроить ESLint, установив flow-eslint с помощью Yarn или npm.
yarn add --dev eslint flow-eslint eslint-plugin-ft-flow # or npm install --save-dev eslint flow-eslint eslint-plugin-ft-flow
Затем создайте файл .eslintrc.js в корневой папке проекта со следующим содержимым:
module.exports = {
root: true,
parser: 'flow-eslint',
plugins: [
'ft-flow',
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
],
}; В приведённой выше конфигурации важен порядок плагинов extends, поскольку plugin:ft-flow/recommended отключает некоторые правила из eslint: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: 'flow-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-n - Ограничения для комментариев ESLint:
eslint-plugin-eslint-comments
Каждый плагин содержит документацию по доступным конфигурациям и правилам. Типичный пример использования плагина:
module.exports = {
root: true,
parser: 'flow-eslint',
plugins: [
'ft-flow',
+ 'jest',
],
extends: [
'eslint:recommended',
'plugin:ft-flow/recommended',
+ 'plugin:jest/recommended',
],
}; Ищите «eslint-plugin» на npm, чтобы найти другие варианты.
См. также
- Проверка кода — встроенная в Flow система проверки кода (дополняет ESLint)
- Справочник правил проверки кода — все доступные правила проверки кода Flow
© 2013–present Facebook Inc.
Licensed under the MIT License.
https://flow.org/en/docs/tools/eslint