package.json start script
"scripts":{
"start": "node --nolazy -r ts-node/register src/index.ts"
}
tsconfig.json
{
"compilerOptions": {
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"target": "es2015",
"module": "commonjs",
"esModuleInterop": true,
"noImplicitAny": false,
"moduleResolution": "node",
"inlineSourceMap": true,
"inlineSources": true,
"outDir": "dist",
"baseUrl": ".",
"declaration": true,
"declarationDir": "dist/@types",
"paths": {
"*": [
"node_modules/*",
"dist/@types/*"
]
},
"types": [
"node",
"express"
]
},
"include": [
"src/**/*"
],
"exclude": [
"**/*.js"
]
}
.vscode tasks.json
ctrl+shift+b
-> tsc: watch - tsconfig.json
.vscode launch.json
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/src/index.ts",
"outFiles": [
"${workspaceFolder}/dist/*"
],
"restart": true,
"runtimeExecutable": "nodemon",
"runtimeArgs": [
"--nolazy",
"-r",
"ts-node/register"
],
"sourceMaps": true,
"cwd": "${workspaceRoot}",
"protocol": "inspector",
}