Skip to content

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

@isaacs

Description

@isaacs

πŸ”Ž 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 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 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions