Entorno de desarrollo básico Node-Typescript

Estructura de directorios

server/bin – Ejecutables (*.js), *.css, *.html, .jade, etc
server/bin/test/ – Ejecutables tests
server/bin/public/ – *.css, *.html
server/bin/views/ – *.jade, *.pug
server/bin/package.json – Iniciado con «npm init»
server/node_modules/
servver/src – Fuentes
server/src/test – Tests
server/src/index.ts – Ejecutable
server/tsconfig.json

Configuración tsconfig.json

{
    "compilerOptions": {
      "outDir": "./bin",
      "target": "es5",
      "module": "commonjs",
      "rootDir": "./src",
      "inlineSourceMap": true // Para mapeado ts,
    },
    //    "moduleResolution": "node",
    "include": [
      "src/**/*",
    ],
    "exclude": [
      "node_modules",
      "**/*.spec.ts"
    ]
}

Activar sourceMap para control de excepciones

Stackoverflow

cd server/bin
npm install --save-dev source-map-support

En el fichero de entrada (index.js) añadir:

require('source-map-support').install();
process.on('unhandledRejection', console.log);

Y en el tsconfig.json:

"compilerOptions" : { "inlineSourceMap": true }

Compilar el proyecto

cd server
tsc --watch

Ejecutar el proyecto

cd server/bin
node index.js