使用--noEmit时使用TypeScript进行增量编译?

使用--noEmit时使用TypeScript进行增量编译?,typescript,Typescript,我想使用TypeScript的--增量模式,使其在重复运行时更快。然而,我的tsconfig.json设置了“noEmit”:true,因为我目前只使用TypeScript进行类型检查,而不使用代码生成 如果我运行tsc--incremental--outDir~/tmp/typescript--noEmit,它似乎不会输出tsconfig.tsbuildinfo文件,因此在重复运行时实际上不会增量编译 我想我实际上可以启用emit并运行tsc--incremental--outDir~/tmp

我想使用TypeScript的--增量模式,使其在重复运行时更快。然而,我的
tsconfig.json
设置了
“noEmit”:true
,因为我目前只使用TypeScript进行类型检查,而不使用代码生成

如果我运行
tsc--incremental--outDir~/tmp/typescript--noEmit
,它似乎不会输出
tsconfig.tsbuildinfo
文件,因此在重复运行时实际上不会增量编译

我想我实际上可以启用emit并运行
tsc--incremental--outDir~/tmp/typescript--noEmit false
,但它不仅生成
tsconfig.tsbuildinfo
,还生成一堆我不需要的JS文件,这并不理想


是否有一种方法可以运行
tsc--incremental--noEmit
,实际进行增量编译,并且只生成增量编译所需的
tsconfig.tsbuildinfo
文件?

更新:
incremental
noEmit
的组合终于可以使用


不幸的是,到目前为止,没有办法启用带有
noEmit
选项的
incremental
构建来更快地执行类型检查。例如,当有一个单独的typescript编译步骤与
@babel/preset typescript
或类似程序时,这将非常有用

开发商关于您的问题的声明:

这里的问题是,如果composite处于启用状态,那么incremental在默认情况下处于启用状态,因此这是一个实际的风险更改,因为这将意味着对于今天使用noEmit的人来说,新的构建工件将出现在意料之外的地方

如果构建信息文件路径是手动指定的,那么将其写出来似乎没有问题


因此,希望有机会在将来的版本中实现这样一个特性。您可以跟踪进度。

感谢您的研究和有用的链接@DavidFoster基于上面的链接,TypeScript 4.0现在允许--incremental with--noEmit.@DavidFoster是的,这种组合最终是可能的,对TS 4.0用户来说是个好消息!对于较旧的TS版本,同时发布了一个解决方案。谢谢通知