Spec-Zone.ru › Flow

.flowconfig [ignore]

Раздел [ignore] в файле .flowconfig указывает Flow игнорировать файлы, соответствующие шаблонам glob относительно проекта. По умолчанию ничего не игнорируется.

Flow 0.328 и новее​

Следует иметь в виду:

  1. * соответствует шаблону внутри одного каталога, а ** — шаблону, охватывающему несколько каталогов.
  2. Шаблоны задаются относительно корня проекта. Абсолютные пути и заполнитель <PROJECT_ROOT> не поддерживаются.
  3. Правила игнорирования обрабатываются после включений. Если вы одновременно включили и игнорируете файл, он будет проигнорирован.

Пример раздела [ignore] может выглядеть так:

[ignore]
**/__tests__/**
**/src/{foo,bar}/**
**/*.ignore.js

Этот раздел [ignore] будет игнорировать:

  1. Любой файл или каталог внутри каталога с именем __tests__
  2. Любой файл или каталог внутри каталога с именем src/foo или src/bar
  3. Любой файл с расширением .ignore.js

Чтобы сопоставить только каталог в корне проекта, начните шаблон с его имени:

[ignore]
__tests__/**

Это игнорирует файлы в корневом каталоге __tests__/, но не файлы в других каталогах с именем __tests__/, например src/__tests__/.

Исключения​

Иногда может потребоваться игнорировать все файлы в каталоге, кроме нескольких. В этом может помочь необязательный префикс "!", который отменяет действие шаблона. Благодаря ему любой совпавший файл, исключенный предыдущим шаблоном, снова будет включен.

[ignore]
node_modules/**
!node_modules/not-ignored-package-A/**
!node_modules/not-ignored-package-B/**

Flow 0.327 и старее​

Следующий синтаксис регулярных выражений поддерживается в Flow 0.325 и старее.

Раздел [ignore] в файле .flowconfig указывает Flow игнорировать файлы, соответствующие заданным регулярным выражениям, при проверке типов вашего кода. По умолчанию ничего не игнорируется.

Следует иметь в виду:

  1. Это регулярные выражения OCaml.
  2. Эти регулярные выражения сопоставляются с абсолютными путями. Вероятно, они должны начинаться с .*
  3. Правила игнорирования обрабатываются ПОСЛЕ включений. Если вы одновременно включили и игнорируете файл, он будет проигнорирован.

Пример раздела [ignore] может выглядеть так:

[ignore]
.*/__tests__/.*
.*/src/\(foo\|bar\)/.*
.*\.ignore\.js

Этот раздел [ignore] будет игнорировать:

  1. Любой файл или каталог внутри каталога с именем __tests__
  2. Любой файл или каталог внутри .*/src/foo или внутри .*/src/bar
  3. Любой файл с расширением .ignore.js

В регулярных выражениях можно использовать заполнитель <PROJECT_ROOT>. Во время выполнения Flow будет воспринимать этот заполнитель как абсолютный путь к корневому каталогу проекта. Это удобно для написания регулярных выражений, задающих относительные, а не абсолютные пути.

Например, можно написать:

[ignore]
<PROJECT_ROOT>/__tests__/.*

Это позволит игнорировать любые файлы или каталоги в каталоге с именем __tests__/ внутри корневого каталога проекта. Однако, в отличие от .*/__tests__/.* в предыдущем примере, этот шаблон НЕ будет игнорировать файлы или каталоги в других каталогах с именем __tests__/, например src/__tests__/.

Исключения​

Иногда может потребоваться игнорировать все файлы в каталоге, кроме нескольких. В этом может помочь необязательный префикс "!", который отменяет действие шаблона. Благодаря ему любой совпавший файл, исключенный предыдущим шаблоном, снова будет включен.

[ignore]
<PROJECT_ROOT>/node_modules/.*
!<PROJECT_ROOT>/node_modules/not-ignored-package-A/.*
!<PROJECT_ROOT>/node_modules/not-ignored-package-B/.*

См. также​

  • .flowconfig [declarations] — анализ файлов в режиме объявлений вместо их игнорирования
  • .flowconfig [untyped] — обработка модулей как any с сохранением разрешения импортов

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

Spec-Zone.ru

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