web-dev-qa-db-fra.com

Jest + Babel dans le débogueur du code VS provoque le déplacement des points d'arrêt

J'essaye de déboguer un projet simple en utilisant babel, jest, et vs code. Lorsque je définis un point d'arrêt, puis que je lance le débogage, mes points d'arrêt se déplacent et ne sont plus là où ils étaient lorsque j'ai commencé. Un exemple de dépôt peut être vu ici - https://github.com/RyanHirsch/starter-node

J'ai mis à jour mon launch.json pour qu'il contienne

{
  "name": "Jest",
  "type": "node",
  "request": "launch",
  "program": "${workspaceRoot}/node_modules/jest/bin/jest.js",
  "stopOnEntry": false,
  "args": ["-i", "${file}"],
  "cwd": "${workspaceRoot}",
  "runtimeExecutable": null,
  "sourceMaps": true,
  "protocol": "inspector"
}

Et mon .babelrc ressemble à:

{
  "plugins": ["@babel/plugin-proposal-object-rest-spread"],
  "sourceMaps": "inline",
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "node": "6.10"
        }
      }
    ]
  ]
}

Je pensais que les options de la carte source étaient suffisantes pour que cela fonctionne, mais je me suis trompé. Que doit-on changer pour conserver mes points d'arrêt à leur emplacement d'origine? Spécifiquement lorsque j'essaie de déboguer mes tests.

==== Modifier ====

Avant que mes points d'arrêt ne soient sur la ligne de test 10 et la ligne de mise en œuvre 4:

 Before Debugging

Lorsque je lance le débogage en sélectionnant mon fichier de test, puis que j'exécute Jest dans le volet de débogage du code VS, mes points d'arrêt passent à la ligne de test 9 et à la ligne d'implémentation 6:  During Debugging

Exécution sur le nœud 9.6.1 avec les extensions suivantes:

DavidAnson.vscode-markdownlint
EditorConfig.EditorConfig
Orta.vscode-jest
PKief.material-icon-theme
PeterJausovec.vscode-docker
Shan.code-settings-sync
bungcip.better-toml
dbaeumer.vscode-eslint
dracula-theme.theme-dracula
dzannotti.vscode-babel-coloring
eamodio.gitlens
esbenp.prettier-vscode
gerane.Theme-FlatlandMonokai
humao.rest-client
mauve.terraform
mikestead.dotenv
mjmcloug.vscode-elixir
mohsen1.prettify-json
ms-vscode.Theme-MaterialKit
ms-vscode.Azure-account
ms-vscode.cpptools
ritwickdey.LiveServer
sbrink.Elm
shanoor.vscode-nginx
vscodevim.vim
28
RyanHirsch

Vous avez eu ce problème (avec jest 23.6.0), vérifié qu'il s'agissait d'un problème connu sur l'application de création de réaction, résolu sur cette demande d'extraction:

https://github.com/facebook/create-react-app/pull/3605/files

Appliqué la configuration suivante à mon launch.json

{ "type": "node", "request": "launch", "name": "Jest All", "program": "${workspaceFolder}/node_modules/jest/bin/jest", "args": [ "test", "--runInBand", "--no-cache"
], "sourceMaps": false, "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" },

Géré pour le briser sur les bons points d'arrêt.

4
Braulio

@RyanHirsch; utilisez simplement retainLines": true à côté de sourceMap: "inline" dans votre babelrc et cela fonctionnera.

0
Jefe_Spain