Дебаг и разработка
Для дебага или разработки модулей Steroids нужно собранный исходный код модулей доставить до папки node_modules проекта, в котором они будут тестироваться.
Существует два похожих способа это сделать.
1. Перенаправление сборки steroids модуля в node_modules проекта
- В проекте исходного модуля создайте файл
tsconfig-debug.json. - Скопируйте содержимое из основного
tsconfig.jsonи измените значение поля"outDir"с"./dist"на путь:"<pathToTestProject>/node_modules/<packageName>", где<pathToTestProject>- путь до проекта для тестирования,<packageName>- название пакета с модулем. - Затем запустите команду
yarn watch. Это автоматически соберёт код модуля в указанную папку проекта для тестирования, имитируя подключение пакета.
Каждая новая сборка проекта исходного модуля (командой yarn watch) будет обновлять файлы в проекте для тестирования.
При таком подходе одновременно можно тестировать только один проект, так как сборка проекта с исходным модулем направляется в одну конкретную директорию. Если после этого обновить зависимости в проекте для тестирования (например, yarn install), то установится исходный модуль из npm.
2. Создание ссылки на steroids модуль при помощи yarn link
- Выполните сборку проекта исходного модуля командой
yarn tsc. - Перейдите в папку
dist. - Создайте символическую ссылку на проект командой
yarn link. - Перейти в проект для тестирования.
- Выполните команду
yarn link "<packageName>". Это добавит собранный код пакета с модулем в директориюnode_modules/<packageName>(<packageName>- название пакета с модулем) текущего проекта.
Каждая новая сборка проекта исходного модуля (командой yarn tsc) будет обновлять файлы в проекте для тестирования.
При таком подходе можно ссылаться на код модуля сразу из нескольких проектов для тестирования. Если после этого обновить зависимости в проекте для тестирования (например, yarn install), то код тестируемого модуля останется неизменным. Чтобы установить сходный модуль из npm, необходимо сначала удалить ссылку на модуль (yarn unlink "<packageName>" в директории проекта для тестирования или yarn unlink в директории модуля для удаления ссылок во всех проектах), а затем снова обновить зависимости.