Spec-Zone.ru › Flow

Обзор линтинга

Flow содержит фреймворк линтинга, который может сообщать вам не только об ошибках типов. Этот фреймворк очень настраиваем, чтобы выводить нужную информацию и скрывать ненужную.

Настройка линтеров в .flowconfig

Настройки линтеров можно указать в разделе .flowconfig [lints] в виде списка пар rule=severity. Эти настройки применяются ко всему проекту глобально.

Пример:

[lints]
# all=off by default
all=warn
untyped-type-import=error
sketchy-null-bool=off

Настройка линтеров из командной строки

Настройки линтеров можно указать с помощью флага --lints команды сервера Flow в виде списка пар rule=severity, разделенных запятыми. Эти настройки применяются ко всему проекту глобально.

Пример:

flow start --lints "all=warn, untyped-type-import=error, sketchy-null-bool=off"

Настройка линтеров с помощью комментариев

Настройки линтеров можно указать внутри файла с помощью flowlint комментариев. Эти настройки применяются к области файла, отдельной строке или части строки. Более подробная информация в Комментарии Flowlint.

Пример:

 /* flowlint
  *   sketchy-null:error,
  *   untyped-type-import:error
  */
const x: ?number = 0;

if (x) {} // Error
import type {Foo} from './untyped.js'; // Error

// flowlint-next-line sketchy-null:off
if (x) {} // No Error

if (x) {} /* flowlint-line sketchy-null:off */ // No Error

// flowlint sketchy-null:off
if (x) {} // No Error
if (x) {} // No Error
import type {Bar} from './untyped.js'; // Error; unlike a $FlowFixMe, a flowlint comment only suppresses one particular type of error.
// flowlint sketchy-null:error

Порядок применения настроек линтеров

Настройки линтеров в flowlint комментариях имеют наивысший приоритет, за ними следуют правила линтинга в флаге --lints, а затем .flowconfig. Этот порядок позволяет использовать flowlint комментарии для точного управления линтингом, флаг --lints для тестирования новых настроек линтеров и .flowconfig для стабильных настроек всего проекта.

Внутри флага -lints и в файле flowconfig правила, расположенные ниже, переопределяют правила, расположенные выше, что позволяет делать следующее

[lints]
sketchy-null=warn
sketchy-null-bool=off

Парсер настроек линтеров достаточно интеллектуален и предотвратит ошибки, такие как избыточные правила, полностью переопределенные правила или неиспользуемые подавления. Это должно предотвратить большинство случайных неправильных настроек правил линтинга.

Уровни и значения серьезности

off: Линтер игнорируется. Установка уровня линтера на off аналогична подавлению ошибки типа с помощью комментария подавления, но с гораздо большей детализацией.

warn: Предупреждения — новый уровень серьезности, введённый фреймворком линтинга. Они обрабатываются по-другому, чем ошибки:

  • Предупреждения не влияют на код возврата Flow. Если Flow находит предупреждения, но нет ошибок, он всё равно возвращает 0.
  • Предупреждения по умолчанию не отображаются в командной строке, чтобы избежать лишнего вывода. Предупреждения в командной строке можно включить, передав флаг –include-warnings серверу Flow или клиенту Flow, или установив «include_warnings=true» в .flowconfig. Это полезно для небольших проектов, которые хотят увидеть все предупреждения проекта сразу.
  • Предупреждения имеют специальную Интеграцию с IDE.

error: Линтеры с уровнем серьезности error обрабатываются точно так же, как любая другая ошибка Flow.

© 2013–present Facebook Inc.
Licensed under the MIT License.
https://flow.org/en/docs/linting

Spec-Zone.ru

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