10.8.1 regression - sourcemaps are invalid resulting in an unusable debugger
LiamAttClarke opened this issue · 4 comments
Search Terms
- source maps
- debugger
- 10.8.1
Expected Behavior
Debugger should be able to set breakpoints in source .ts
files that map correctly to the transpiled code generated by ts-node
.
Actual Behavior
Breakpoints set in source files are not being registered on correct lines in the transpiled js.
NOTE: This issue is a regression in 10.8.1
, tested 10.8.0
with no issues.
Steps to reproduce the problem
- Install ts-node@10.8.1
npm install ts-node@10.8.1
- Launch node with the debugger port open:
node --inspect=0.0.0.0:9229 -r ts-node/register ./src/main.ts
- Set breakpoint in source file (I set mine via VSCode)
- Attempt to hit breakpoint
Minimal reproduction
Posting without reproduction for now. Will update with minimal example later in the day.
Specifications
- ts-node version: 10.8.1
- node version: v16.14.0
- TypeScript version: 4.7.2
- tsconfig.json, if you're using one:
{
"compilerOptions": {
"target": "esnext",
"module": "commonjs",
"moduleResolution": "node",
"strict": true,
"useDefineForClassFields": true,
"esModuleInterop": true,
"resolveJsonModule": true,
"noImplicitAny": true,
"sourceMap": true,
"typeRoots": [
"./node_modules/@types",
"./typings"
],
"strictNullChecks": false
},
"include": [
"./src/**/*",
"./tests/**/*"
],
"ts-node": {
"swc": true,
}
}
- package.json:
{
"name": "dontworryaboutit",
"version": "0.0.1",
"description": "",
"license": "UNLICENSED",
"main": "dist/main.js",
"scripts": {
"build": "tsc -p tsconfig.build.json",
"start": "node ./dist/src/main.js",
"start:dev": "node --inspect=0.0.0.0:9229 -r ts-node/register ./src/main.ts",
"start:watch": "nodemon",
"test": "ts-mocha -p tsconfig.json tests/**/*.spec.ts"
},
"dependencies": {
"@googleapis/drive": "^2.3.0",
"@graphql-tools/load-files": "^6.5.3",
"@graphql-tools/merge": "^8.2.1",
"@graphql-tools/schema": "^8.3.1",
"@protobuf-ts/runtime": "^2.1.0",
"@types/jsdom": "^16.2.14",
"amqplib": "^0.9.0",
"axios": "^0.26.1",
"cypher-query-builder": "^6.0.4",
"dropbox": "^10.29.0",
"exponential-backoff": "^3.1.0",
"express": "^4.17.2",
"express-graphql": "^0.12.0",
"gm": "^1.23.1",
"graphql": "^16.2.0",
"inkscape": "^3.1.1",
"jsdom": "^19.0.0",
"mime-types": "^2.1.35",
"mkdirp": "^1.0.4",
"sharp": "^0.30.4",
"ssh2-sftp-client": "^8.1.0",
"svgson": "^5.2.1",
"ts-node": "10.8.0",
"uuid": "^8.3.2"
},
"devDependencies": {
"@swc/core": "^1.2.194",
"@swc/helpers": "^0.3.16",
"@types/amqplib": "^0",
"@types/chai": "^4",
"@types/express": "^4",
"@types/gm": "^1",
"@types/mime-types": "^2",
"@types/mkdirp": "^1.0.2",
"@types/mocha": "^9",
"@types/node": "^17.0.8",
"@types/sharp": "^0",
"@types/ssh2-sftp-client": "^7.0.1",
"@types/uuid": "^8",
"chai": "^4.3.4",
"mocha": "^9.1.3",
"nodemon": "^2.0.15",
"regenerator-runtime": "^0.13.9",
"ts-mocha": "^9.0.2",
"tslib": "^2.3.1",
"typescript": "^4.5.4"
}
}
- Operating system and version: Windows 11 Pro (21H2)
- If Windows, are you using WSL or WSL2?: WSL2
Same here. I can confirm this. With 10.8.1 debugging isnt possible anymore. Everthing fine with 10.8.0.
looks like it's still happening for 10.9.1
actually even with 10.8.2 🤦
my setup is a bit complex but mainly running cucumber tests with wdio driver for react-native testing. using TS for config and tests and wdio internally uses ts-node if present to compile on the fly.
seems the debugger and also the error stacks numbers are off by 5 lines or so
I can provide more details if needed and I appreciate any help to debug it myself even