Darragh O'Riordan
Posted on November 1, 2020
I find it useful to be able to debug my node application in vscode. It saves you having to write console.log
statements to figure out why something isnβt working.
I sometimes use the debugger to check my tests too.
Nothing new here for many people but this is the configuration I use to setup debugging for the main application and the tests.
Launch.json
For vscode you need to set the various launch configurations for your project. These go in a file .vscode/launch.json
. You might have to create this file.
Debugging a node application using VSCode
In your package.json startup you need to add the inspector port
npx ts-node-dev --inspect=0.0.0.0:29033
Then in the startup script you can ask vscode to attach to that port when debugging
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Application",
"port": 29033,
"type": "node",
"request": "attach",
"skipFiles": ["<node_internals>/**"],
"protocol": "inspector"
}
]
}
Debugging Jest tests using VSCode
You need to add the launch scripts and tell them
- Where your jest is located (usually in the node_modules folder
- Where your jest config is located (usually in the main application root folder)
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Jest All",
"program": "${workspaceFolder}/node_modules/.bin/jest",
"args": ["--runInBand"],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"disableOptimisticBPs": true,
"windows": {
"program": "${workspaceFolder}/node_modules/jest/bin/jest"
}
},
{
"type": "node",
"request": "launch",
"name": "Jest Current File",
"program": "${workspaceFolder}/node_modules/.bin/jest",
"args": [
"${fileBasenameNoExtension}",
"--config",
"jest.config.js"
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"disableOptimisticBPs": true,
"windows": {
"program": "${workspaceFolder}/node_modules/jest/bin/jest"
}
}
]}
To use the debugger you open the debugging menu
SHIFT - COMMAND - D
and select the launch configuration. Then click the green play button.
If you want to debug a jest test, you should have that file open in the editor when you click play.
Posted on November 1, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.