lavezzi1
@lavezzi1

Фронтенд и бекенд на TS в одном репозитории?

Здравствуйте, есть бекенд на nestjs, фронтенд на vue, в обоих случаях все на typescript, хотелось бы, переиспользовать типы и на фронтенде и бекенде, то есть какой то локальный пакет types. Гуглив на эту тему, нашел решение в виде npm workspaces. Но как, например, быть в ситуации когда локальный пакет types обновился, разом обновлять версию в фронтенд и бекенд? Или может, я не туда смотрю?
  • Вопрос задан
  • 275 просмотров
Пригласить эксперта
Ответы на вопрос 1
mbelskiy
@mbelskiy
Software Developer
Да, есть workspaces у npm и yarn. npm workspaces работают с 15 версии ноды, но сейчас стабильной версии ноды считается 14 версия. То есть формально тащить npm 7 в прод пока не самое надёжное решение. Ярн в этом случае будет стабильнее.

Когда пакет обновился — да, разом обновлять и бекенд, и фронтенд.

Альтернативный подход: можно в отдельной репе разрабатывать бекенд, в отдельной фронтенд. Типы публиковать как пакет зависимостей и устанавливать в фронтенд репу.

С другой стороны, любые изменения в бекенд не должны ломать обратную совместимость. Иначе выкатываешь релиз бека с необновленным фронтом — приложение перестаёт работать. А если изменения в бэкенд обратносовместимые, то от изменения типов не придётся сразу адаптировать фронтенд-код, даже если всё живёт в одном репозитории и управляется через workspaces.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы