vue-app/
react-app/
react-app2/
...
packages/**
...
вопрос в том что, вот я так понял одно из прииемуществ монорепо что не возникает коныликтуещих зависимостей, тк все пакеты зависят от 1 версии сторонних библиотек
еще одно это например то что есть единый способ тесторования и там линтинга, тк он описаный в корне монорепо.
вопрос именно о конфликтующих зависимостях
мне получается что абсолютно все стороннии библиотеки ставить в корень? а что если как указано выше приложения прям разные, это мне что ставить в корень всю нужную экоситсему vue, react + линтинги, тесты, код стайл инструменты? не много ли получается, или это нормально?
или же мне условно оставить в корне только линтинг, код стайл инструменты и подоьное
а уже зависимости конкретного app указать в нудном app, типа нужные для react-app зависимости в нем, нужные для vue тоде в соответственном
но тогда не возникает ли та же проблема с рассинхроном версий сторонних библиотек, в примере как указано выше что react-app и react-app2 по сути должны иметь те же условно версии реакта и много чего еще, но разрабатываются разными командами
Почему не возникает? Каждый пакет все ещё может иметь свою версию зависимости. Это не свойство монореп, ты просто можешь это так организовать. Хочешь ли ты этого - отдельный вопрос ибо тогда апдейт пакетов может стать болью. Единый способ тестирования - тоже можно и без монореп сделать. Просто мета пакет общий. Ну и опять же хочешь ли ты все это обновлять одновременно Основной Профит монореп когда сильно связанные пакеты, шаринг типов и не надо париться и координировать версии пакетов внутри монорепы. Это может быть удобным или нет.
Обсуждают сегодня