microsoft / microsoft/TypeScript

tsgo producing source maps that cause functions to appear uncovered in tests

Open
#63,185 2 comments 1 reaction 1 assignee Claimed by @weswigham View on GitHub
Bug Domain: Source Maps Needs Human Review Needs More Info
Dominant language
Go
Stars
111k
Forks
14.3k
PR merge metrics
PR metrics pending

Description

### 🔎 Search Terms

tsgo
sourcemaps
code coverage

### 🕗 Version & Regression Information

- This changed between versions 5.9.3 and tsgo 7.0.0-dev.20260219.1

### ⏯ Playground Link

_No response_

### 💻 Code

I'm not sure how best to describe what's going on, as I haven't been able to pin down exactly what causes it.

Way too much stuff to put in a text box. [This tarball file](https://izs.me/tsgo-sourcemap-coverage-oddity.tgz) contains the following folders:

- `coverage-report` An HTML report of the test run with a build done by `tsgo`. Note that some functions are claiming to have not been called, but this is impossible, since the function body lines are all covered. 🤔
- `dist-tsc` The dist folder as built by `tsc` (Version 5.9.3)
- `dist-tsgo` The dist folder as built by `tsgo` (Version 7.0.0-dev.20260219.1)
- `tsconfig.json`, `.tshy` the tsconfig files in use
- And some other stuff as well relating to the test run, `test-results`, `processinfo`, `coverage-json`, etc.

The only thing that jumps out at me in diffing the dist folders is that it appears that tsgo sometimes includes the inline sources in the source maps, which is unexpected, since I didn't specify that in the config, and it seems inconsistent.

Let me know if there's anything else I can provide to help uncover what's going on here :)

### 🙁 Actual behavior

Source maps produced by tsgo do not result in accurately reporting code coverage.

### 🙂 Expected behavior

Code coverage should be accurate.

### Additional information about the issue

https://izs.me/tsgo-sourcemap-coverage-oddity.tgz has all the extra information I could think to provide.

This was on the [node-glob](https://github.com/isaacs/node-glob) project, if you want to run it yourself. Just add `"compiler": "tsgo",` in the `tshy` config in `package.json` to generate it with tsgo.

Feel free to ping me on the TypeScript discord with any questions or comments. Happy to help however I can, the faster builds are great, very exciting to see!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.