如何忽略 bsconfig.json 文件中的来源(reasonml)?

How to ignore sources in bsconfig.json file (reasonml)?

我想在 bsconfig.json 文件的源代码中使用 "subdirs": true 选项,但忽略特定文件夹。 (而不是做相反的事情并将每个子文件夹添加到除了我想忽略的那个之外的源)

额外信息(如果你想知道我为什么要问这个):

我尝试使用 bs-jest.

向 create-react-app + reason-react 代码库引入单元测试

因为我正在使用 create-react-app 并且我想尽可能多地使用它的配置,所以我需要测试出现在 src 目录中。

我已经使用以下 bsconfig.json 文件完成了所有工作。但是我想把 @glennsl/bs-jest 放在 bs-dev-dependencies.

{
  "name": "wild-cards",
  "reason": {
    "react-jsx": 3
  },
  "bsc-flags": [
    "-bs-super-errors"
  ],
  "sources": [
    {
      "dir": "src",
      "subdirs": true
    }
  ],
  "package-specs": [
    {
      "module": "es6",
      "in-source": true
    }
  ],
  "suffix": ".bs.js",
  "namespace": true,
  "bs-dependencies": [
    "reason-react",
    ...
    "@glennsl/bs-jest"
  ],
  "bs-dev-dependencies": [],
  "ppx-flags": [],
  "refmt": 3
}

以下更符合我的要求。

{
  "name": "wild-cards",
  "reason": {
    "react-jsx": 3
  },
  "bsc-flags": [
    "-bs-super-errors"
  ],
  "sources": [
    {
      "dir": "src",
      "subdirs": true
    },
    {
      "dir": "src/__tests__",
      "type": "dev"
    }
  ],
  "package-specs": [
    {
      "module": "es6",
      "in-source": true
    }
  ],
  "suffix": ".bs.js",
  "namespace": true,
  "bs-dependencies": [
    "reason-react",
    ...
  ],
  "bs-dev-dependencies": [
    "@glennsl/bs-jest"
  ],
  "ppx-flags": [],
  "refmt": 3
}

但是使用上面的配置我得到这个错误:

Error: Accounting_test found in two directories: (src/__tests__, src/__tests__) File names must be unique per project

据我所知,没有办法在 bsconfig.jsonsources 键中按名称忽略子目录。在这里您可以看到 bsconfig 的完整描述。通常我所做的是将 __tests__ 放在顶层。

"sources": [
    {
      "dir": "src",
      "subdirs": true
    },
    {
      "dir": "__tests__",
      "type": "dev"
    }
  ],