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

时间:2019-10-27 19:51:57

标签: reason bucklescript reason-react

我想在我的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

1 个答案:

答案 0 :(得分:1)

据我所知,sources的{​​{1}}键中没有一种按名称忽略子目录的方法。在这里,您可以看到bsconfig的完整说明。通常我所做的是将bsconfig.json放在顶层。

__tests__