Как запустить jscodeshift в режиме проверки? - PullRequest
1 голос
/ 09 июня 2019

Раньше это работало, но недавно я столкнулся со следующей проблемой.

Запустив следующую команду:

node --inspect-brk ./node_modules/.Файл bin / jscodeshift mod.js.

Я столкнулся с этой проблемой

Debugger listening on ws://127.0.0.1:9229/7e57a2d3-0885-44b3-b51e-b47dc8417d87
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
Processing 1 files... 
Spawning 1 workers...
Sending 1 files to free worker...
Starting inspector on 127.0.0.1:9229 failed: address already in use
All done. 
Results: 
0 errors
0 unmodified
0 skipped
0 ok
Time elapsed: 0.035seconds 

Ответы [ 3 ]

0 голосов
/ 08 июля 2019

Что сработало для меня:

  1. Старт нод-инспектор
  2. Установите jscodeshift в моем локальном репо как dev зависимость.
  3. положить оператор отладчика в моем сценарии
  4. запустить jscodeshift через узел с --debug-brk arg и добавить --run-in-band параметр jscodeshift. Например :- Я вошел в узел

    --debug-brk ./node_modules/jscodeshift/bin/jscodeshift.sh -t my-refactor-script.js --run-in-band

Если вы добавляете шаблон файла в конце, он работает нормально, что в случае отладки полезно, когда вы хотите протестировать только один файл с ошибками.

Я не тестировал отладку jscodeshift, установленную через npm -g

0 голосов
/ 09 июля 2019

Ответ, который работал для меня, был установкой ndb, https://github.com/GoogleChromeLabs/ndb, и добавлением к ней префикса команды.

ndb node --inspect-brk ./node_modules/.bin/jscodeshift mod.js

0 голосов
/ 03 июля 2019

Причина, по которой режим проверки не работает, заключается в том, что другой процесс (например, другой экземпляр инспектора) уже использует порт по умолчанию (9229), поэтому они конфликтуют. Либо используйте другой порт для инспектора, либо завершите процесс, который в данный момент использует этот порт.

Если вы используете другой порт, вы сможете запустить инспектор. Просто передайте желаемый номер порта (например, 39479) на --inspect-brk.

Ваш пример: node --inspect-brk ./node_modules/.bin/jscodeshift mod.js file.

Может быть, например: node --inspect-brk=39479 ./node_modules/.bin/jscodeshift mod.js file.

ОПАСНОСТЬ: Если вам нужен порт 9229, вы можете убить процесс / инспектора, который в данный момент использует этот порт, но если вы не знаете, что делает этот процесс, вы можете повредить вещи: lsof -i TCP:9229 | grep LISTEN | awk '{print $2}' | xargs kill -9

...