Skip to content

Jest source maps not working #279

Open

Description

@schw4rzlicht

Hey there!

I'm pretty new to TypeScript/jest and I spent hours in figuring out why line numbering in failing tests are wrong so please bear with me.

I'm not sure if I missed something or it's an actual bug and I couldn't find anything close to my problem online. When running install(), line numbering breaks, when commenting it out, everything works fine (but of course stack traces don't work any more). It doesn't matter if install() is run in test code or in imported production code, test line numbering always breaks.

I have set up a demo repo over here.

Thanks for your help!

Activity

  1. LinusU commented on May 25, 2020

    @LinusU
    Collaborator

    Did it work with 0.5.18? 🤔

  2. schw4rzlicht commented on May 25, 2020

    @schw4rzlicht
    Author

    I just tested 0.5.0 and 0.5.18 and they both have the same problem.

  3. changed the title [-]0.5.19 breaks jest source maps[/-] [+]Jest source maps not working[/+] on May 26, 2020
  4. andinoJamesV commented on May 30, 2020

    @andinoJamesV

    Possibly related and probably not this Libs issue istanbuljs/nyc#1323 as Jest uses Istanbul nyc.

    Any suggestions?

    Also this error is occurring with nyc that is strange

    robot@raspberrypi:~/Sketches/JS/Classes/_/o $ ../node_modules/.bin/nyc  --require=../node_modules/source-map-support/register.js  --source-map=false --cache=false --compact=false  ../node_modules/.bin/_mocha Test/Spork.js
    Cannot find module '../node_modules/source-map-support/register.js'
    Require stack:
    - /home/robot/Sketches/JS/Classes/_/node_modules/nyc/bin/nyc.js
    
    

    Verified that register.js is where it is expected

    My suspicion is mix and match CJS and ES module types are the problem?

    Lib is working with just mocha though

  5. andinoJamesV commented on May 30, 2020

    @andinoJamesV

    So I kept digging into the project and code coverage is built into V8

  6. schw4rzlicht commented on Jun 2, 2020

    @schw4rzlicht
    Author

    @Heavy-Gray I'm not sure how I could actually help.

    My suspicion is mix and match CJS and ES module types are the problem?

    Where does that suspicion come from? Did you have a look at the sample I linked above? Do you mean b/c of

    {
      "compilerOptions": {
        "esModuleInterop": true
      }
    }

    https://github.com/schw4rzlicht/node-sourcemap-jest-demo/blob/master/tsconfig.json

  7. andinoJamesV commented on Jun 2, 2020

    @andinoJamesV

    @schw4rzlicht No for sure you can`t I was bouncing around broken libraries and by chance this lib and thread came up.

    Just to verify node-source-map-support is working and the problem you are having is in nyc or Jest

  8. schw4rzlicht commented on Jun 4, 2020

    @schw4rzlicht
    Author

    Just to verify node-source-map-support is working and the problem you are having is in nyc or Jest

    Yes. Debugging and stack traces have the right line numbers outside of Jest tests.

  9. dmaretskyi commented on Aug 14, 2020

    @dmaretskyi

    Related issue: jestjs/jest#10330

  10. stavalfi commented on Feb 5, 2021

    @stavalfi

    as a workaround:

    if (!process.env.TEST_MODE) {
      require('source-map-support').install()
    }
    

    until this issue is fixed.

    also, https://github.com/evanw/esbuild has impact as well because of this issue. probably https://github.com/swc-project/swc also.

  11. silasdavis commented on Feb 17, 2021

    @silasdavis

    Are you using ts-jest? I am seeing this issue when using ts-jest and I have opened a ticket with minimal repro here: kulshekhar/ts-jest#2372

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions