Как отладить сам npm (не мой код), используя VS Code? - PullRequest
0 голосов
/ 06 апреля 2019

npm сбой в коде npm, а не моем. Я хотел бы отладить процесс npm с помощью отладчика VSCode IDE, чтобы я мог проверять переменные в стеке вызовов, чтобы попытаться выяснить, что происходит не так.

Какой правильный launch.json конфиг для отладки npm сам?

1 Ответ

0 голосов
/ 06 апреля 2019

Я потратил полчаса, пытаясь выяснить это, поэтому поделился здесь ответом, чтобы помочь другим.

Хитрость (по крайней мере, на моем Mac) состояла в том, чтобы запустить npm-cli.js вместо запуска npm исполняемого файла.

Вот конфигурация launch.json, которую я использовал для отладки npm outdated -g. Для отладки других команд npm просто измените args ниже.

{
  "type": "node",
  "request": "launch",
  "name": "Debug NPM Outdated",
  "cwd": "/usr/local/lib/node_modules/npm/bin/",
  "args": [
    "npm-cli.js",
    "outdated",
    "-g",
  ],
  "protocol": "inspector",
  "console": "integratedTerminal",
  "internalConsoleOptions": "neverOpen",
  "disableOptimisticBPs": true
},

Я не проверял, работает ли он для отладки другого кода, работающего на npm, но если это работает для отладки плагинов веб-пакетов, это было бы круто!

Кстати, конкретная ошибка npm, которую я пытался поймать, исправлена ​​в npm@6.9.1, которая должна быть скоро выпущена. Смотри https://github.com/npm/cli/pull/173.

...