I was previously using gulp and running gulp to start my application and listeners from the Visual Studio Code debugger but have recently needed to switch to running scripts
NPM scripts and gulp is not really meant for launching your application, but rather for running tasks like compilation. If it is a node application, I would recommend you to configure your launch.json that way without npm. If you have complicated listeners or process managers like PM2, instead start your application manually from the process manager and then use an Attach configuration.
For npm tasks, you can specify a tasks.json with "command": "npm"
and "args": ["run"]
.