Skip to content

Дебаг и разработка

Для дебага или разработки модулей Steroids нужно собранный исходный код модулей доставить до папки node_modules проекта, в котором они будут тестироваться.

Существует два похожих способа это сделать.

1. Перенаправление сборки steroids модуля в node_modules проекта

  1. В проекте исходного модуля создайте файл tsconfig-debug.json.
  2. Скопируйте содержимое из основного tsconfig.json и измените значение поля "outDir" с "./dist" на путь: "<pathToTestProject>/node_modules/<packageName>", где <pathToTestProject> - путь до проекта для тестирования, <packageName> - название пакета с модулем.
  3. Затем запустите команду yarn watch. Это автоматически соберёт код модуля в указанную папку проекта для тестирования, имитируя подключение пакета.

Каждая новая сборка проекта исходного модуля (командой yarn watch) будет обновлять файлы в проекте для тестирования.

При таком подходе одновременно можно тестировать только один проект, так как сборка проекта с исходным модулем направляется в одну конкретную директорию. Если после этого обновить зависимости в проекте для тестирования (например, yarn install), то установится исходный модуль из npm.

  1. Выполните сборку проекта исходного модуля командой yarn tsc.
  2. Перейдите в папку dist.
  3. Создайте символическую ссылку на проект командой yarn link.
  4. Перейти в проект для тестирования.
  5. Выполните команду yarn link "<packageName>". Это добавит собранный код пакета с модулем в директорию node_modules/<packageName> (<packageName> - название пакета с модулем) текущего проекта.

Каждая новая сборка проекта исходного модуля (командой yarn tsc) будет обновлять файлы в проекте для тестирования.

При таком подходе можно ссылаться на код модуля сразу из нескольких проектов для тестирования. Если после этого обновить зависимости в проекте для тестирования (например, yarn install), то код тестируемого модуля останется неизменным. Чтобы установить сходный модуль из npm, необходимо сначала удалить ссылку на модуль (yarn unlink "<packageName>" в директории проекта для тестирования или yarn unlink в директории модуля для удаления ссылок во всех проектах), а затем снова обновить зависимости.