您可以使用 tsc 一次对多个 TypeScript 项目进行类型检查而不构建它们吗?

neu*_*mic 9 typechecking typescript tsc tsconfig

理论上,您应该能够通过使用引用创建一个顶级 tsconfig 文件,其中包含您想要检查的所有不同打字稿项目的路径,为每个单独的项目设置"composite": true文件tsconfig.json,然后运行tsc --project top_level_tsconfig.json --noEmit​​.

例如,top_level_tsconfig.json可能如下所示:

{
    "references": [
    {
      "path": "./project1/tsconfig.json"
    },
    {
      "path": "./project2/tsconfig.json"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

不过,使用该设置运行tsc --project top_level_tsconfig.json --noEmit只会出现一堆somefile.d.ts has not been built from source file somefile.ts错误。这篇文章讨论了为什么会发生这种情况。

tsc --project project1/tsconfig.json --noEmit并且tsc --project project2/tsconfig.json --noEmit运行就好了,只要关闭该选项即可,但是使用该选项时"composite": true无法关闭。该线程讨论了这一点,但提供的解决方案似乎都对这种情况没有帮助,并且似乎没有任何其他方法可以使用."composite": truereferences--noEmit

我知道您可以使用诸如concurrently同时运行tsc多次之类的工具,但如果可能的话,能够做到这一点就好了tsc。有办法吗?