Spec-Zone.ru › Flow

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API