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

时间:2019-07-17 15:03:17

标签: typescript

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

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

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

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

1 个答案:

答案 0 :(得分:0)

不幸的是,到目前为止,还没有办法启用incremental选项来构建noEmit来进行更快的类型检查。例如。当存在单独的@babel/preset-typescript或类似的打字稿编译步骤时,这将很有用。

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

  

这里的问题是,如果启用Composite,则默认情况下会启用增量,因此这是一个实际的风险更改,因为对于今天使用--noEmit的人员来说,这将意味着在意想不到的地方出现了新的构建工件。

     

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

因此希望有机会在将来的版本中实现此功能。您可以按照here进行进度跟踪。