Skip to content

reported stackframe provide wrong line number (on Windows) #1055

Description

@erossignon

Expected Behavior

Expecting ts-node to report accurate stack frame, pointing to the original typescript file.

Steps to reproduce the problem

package.json

{
  "name": "tsnode-issue",
  "version": "1.0.0",
  "main": "index.js",
  "dependencies": {
    "typescript": "^3.9.3"
  }
}

test.ts

/* some comment */
function someFunc() {
    throw new Error("Error");
}
; (() => {
    try {
        /* some comment */
        someFunc();
    }
    catch (err) {
        /* some comment */
        console.log("Error Found", err);
    }
})();

( no tsconfig file necessary)

Minimal reproduction

  • run
    $ npx ts-node@8.10.0 test1.ts
  • observe the result
npx: installed 8 in 2.249s
Error Found Error: Error
    at someFunc (c:\temp\tsnode-issue\test1.ts:3:11)
    at c:\temp\tsnode-issue\test1.ts:9:9
    at Object.<anonymous> (c:\temp\tsnode-issue\test1.ts:15:3)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Module.m._compile (C:\Users\eross\AppData\Roaming\npm-cache\_npx\23236\node_modules\ts-node\src\index.ts:858:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Object.require.extensions.(anonymous function) [as .ts] (C:\Users\eross\AppData\Roaming\npm-cache\_npx\23236\node_modules\ts-node\src\index.ts:861:12)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
  • now run with older version
    $ npx ts-node@8.9.1 test1.ts

  • observe the result

npx: installed 8 in 2.184s
Error Found Error: Error
    at someFunc (c:\temp\tsnode-issue\test1.ts:3:11)
    at c:\temp\tsnode-issue\test1.ts:8:9
    at Object.<anonymous> (c:\temp\tsnode-issue\test1.ts:14:3)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Module.m._compile (C:\Users\eross\AppData\Roaming\npm-cache\_npx\17244\node_modules\ts-node\src\index.ts:839:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Object.require.extensions.(anonymous function) [as .ts] (C:\Users\eross\AppData\Roaming\npm-cache\_npx\17244\node_modules\ts-node\src\index.ts:842:12)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
  • spot the that the stack frame is wrong
    at c:\temp\tsnode-issue\test1.ts:9:9 incorrect with ts-node@8.10
    where it should report
    at c:\temp\tsnode-issue\test1.ts:8:9 '(correct with ts-node@8.9

In real production, the line number discrepancy can be large and annoying as it make it almost impossible to identify where the exception was raised ( annoying when doing TDD)

TypeStrong/ts-node-repros#3

Specifications

  • ts-node version: success with 8.9 : failure with 8.10.1 and 8.10.0
  • node version: 10.20.1
  • TypeScript version: 3.9.3
  • tsconfig.json, if you're using one:
{}
  • Operating system and version:
  • If Windows, are you using WSL or WSL2?:
    Bug can be reproduced on Windows from a DOS box,
    cannot exhibit bug in WSL

Activity

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions