.flowconfig [ignore]
Раздел [ignore] в файле .flowconfig указывает Flow игнорировать файлы, соответствующие шаблонам glob относительно проекта. По умолчанию ничего не игнорируется.
Flow 0.328 и новее
Следует иметь в виду:
-
*соответствует шаблону внутри одного каталога, а**— шаблону, охватывающему несколько каталогов. - Шаблоны задаются относительно корня проекта. Абсолютные пути и заполнитель
<PROJECT_ROOT>не поддерживаются. - Правила игнорирования обрабатываются после включений. Если вы одновременно включили и игнорируете файл, он будет проигнорирован.
Пример раздела [ignore] может выглядеть так:
[ignore]
**/__tests__/**
**/src/{foo,bar}/**
**/*.ignore.js Этот раздел [ignore] будет игнорировать:
- Любой файл или каталог внутри каталога с именем
__tests__ - Любой файл или каталог внутри каталога с именем
src/fooилиsrc/bar - Любой файл с расширением
.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 игнорировать файлы, соответствующие заданным регулярным выражениям, при проверке типов вашего кода. По умолчанию ничего не игнорируется.
Следует иметь в виду:
- Это регулярные выражения OCaml.
- Эти регулярные выражения сопоставляются с абсолютными путями. Вероятно, они должны начинаться с
.* - Правила игнорирования обрабатываются ПОСЛЕ включений. Если вы одновременно включили и игнорируете файл, он будет проигнорирован.
Пример раздела [ignore] может выглядеть так:
[ignore] .*/__tests__/.* .*/src/\(foo\|bar\)/.* .*\.ignore\.js
Этот раздел [ignore] будет игнорировать:
- Любой файл или каталог внутри каталога с именем
__tests__ - Любой файл или каталог внутри
.*/src/fooили внутри.*/src/bar - Любой файл с расширением
.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