.flowconfig [ignore]

指定 Flow 忽略的檔案

有時候我們不是整個 Flow 專案中的檔案都需要被型別檢查,可能是開發中等等的原因,總之我們總會有需要忽略某些指定檔案或目錄的情況。

特性簡介

.flowconfig[ignore] 部分可以透過正則表達的方式決定哪些檔案或目錄需要被忽略檢查。預設不會忽略任何東西。

設定檔

  1. 在這邊的正則表達式是不接受 根目錄 的,若是要指定專案目錄底下請使用 .*開頭。

  2. [ignore] 會在 [include] 之後處理,因此若是 [include][ignore] 有重複定義的檔案將會被忽略。

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

這段 [ignore] 會忽略以下

  1. 所有 __tests__ 目錄、子目錄下的檔案都忽略掉

  2. 所有目錄結構為 .*/src/foo.*/src/bar 的都忽略掉

  3. 所有以 .ignore.js 為結尾的檔案都忽略掉

  4. 專案目錄下,目錄名稱為 __tests__

排除項目

有時候我們要忽略特定目錄,但是目錄下有些特定項目又不想要忽略,這時候就是我們的忽略表示 "!" 派上用場的時候了。 使用 "!" 可以將之前忽略掉的檔案重新被包含進來。

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

這樣定義 src 下的 not-ignored-package-A/not-ignored-package-B/ 底下的子目錄與檔案都會受到檢查,其他的檔案都不會受到檢查。