Si tiene problemas para depurar en VS Code sus proyectos con Typescript que usan ts-node o ts-node-dev, como líneas incorrectas en debbuger o no selecciona ninguna línea, no se preocupe, la solución es simple.

Por alguna razón, el depurador de VS Code se confunde al intentar interpretar los archivos .map y termina seleccionando las líneas incorrectas, lo que puede hacer imposible usar debbuger en la aplicación. Esta solución también es para aquellos que están desarrollando con Docker.

Explicaré la configuración paso a paso para que pueda identificar cualquier problema potencial en su proyecto.

Configuración de package.json

Debe incluir ts-node o ts-node-dev en sus dependencias:

"devDependencies":
  "ts-node": "8.9.0",
  "ts-node-dev": "1.0.0-pre.44",
}

Cree un script para ejecutar el proyecto con ts-node-dev o ts-node:

"scripts":
  "dev": "ts-node-dev --inspect-0.0.0.0:7001 --exit-child --respawn src/index.ts",
}

Configuración de tsconfig.json

Siempre necesitamos habilitar la opción sourceMap en compilerOptions, esta opción hace que el compilador genere los archivos de asignación necesarios para que el debug funcione correctamente:

"compilerOptions":
  ...  
  "sourceMap": true
}

Configuración del depurador de VS Code

Cree o modifique su archivo .vscode/launch.json . No olvide configurar el puerto que configuramos nuestro script de ejecución nopackage.json.

{
  "version": "0.2.0",
  "configuraciones": [
    {
      "type": "nodo",
      "request": "adjuntar",
      "name": "Docker: Adjuntar al nodo",
      "port": 7001,
      "address": "localhost",
      "localRoot": "$-workspaceFolder",
      "sourceMapPathOverrides":
        "/app/*": "$-workspaceRoot-/*"
      },
      "remoteRoot": "/app/"
    }
  ]
}

El balcón está aquí en la propiedad sourceMapPathOverrides, necesitamos indicar explícitamente al depurador qué ruta de acceso debe seguir desde los archivos de mapa de origen hasta los archivos dentro del contenedor de Docker.

"sourceMapPathOverrides": "<W
ORKDIR>/*": "$-workspaceRoot-/*"</WORKDI
R>

Hay un problema abierto en el repositorio de Typescript sobre este problema, por ahora la solución es utilizar esta configuración.

Gracias por la solución original: https://medium.com/@mitsuhideohi/debugging-uncompiled-typescript-code-running-on-a-docker-container-213418ab2b1f

0 0 votos
Nota do Artigo
Subscribe
Notify of

0 Comentários
newest
oldest most voted
Inline Feedbacks
View all comments
wpDiscuz
0
0
Would love your thoughts, please comment.x