我正在使用Node 16中的nyc生成覆盖报告。
但是,由于某种原因,覆盖报告( lcov和html)都被弄乱了,因为源文件的路径是错误的。它们遵循这样的模式:
<relative path>file:<absolute path><file name>
例如SF:src/rest/file:/home/<user>/code/<project>/src/rest/auth.ts in lcov.info
因此,我的html覆盖率报告显示的错误如下
Unable to lookup source: /home/<user>/code/<project>/src/rest/file:/home/<user>/code/<project>/src/rest/auth.ts (ENOENT: no such file or directory, open ...
所有的文件。
我发现,源地图有以"file:///".“开头的路径
此外,在“覆盖率”文件夹中,有一些名为"file:“的模糊文件夹,这些文件夹似乎与文件夹中的绝对路径类似。
--我不知道为什么会这样,但我希望报告使用指向我的项目目录的相对路径.
发布于 2022-06-28 05:21:13
我找到了原因:最近有一个从10.8.0到10.8.1的ts-node补丁更新--他们在源地图中切换到File。
降级到10.8.0为我解决了这个问题。
关于与nyc的bug/兼容性问题,ts节点的repo:https://github.com/TypeStrong/ts-node/issues/1790中正在进行讨论
https://stackoverflow.com/questions/72771145
复制相似问题