Работал в проекте, команда разрабатывала 3 параллельно. И было очень много схожего кода, в плане ui компонентов. Был создан репозиторий, в который выносили общие. И подключали как зависимость через yarn | npm.
Весьма удобно, у вас есть репозиторий, в котором общая логика для множества проектов, и которую вы устанавливаете в свои проекты. Отдельный проект
Когда у меня такое наступает. Это новый репозиторий, и выгрузка в npm. И я подтягиваю от туда все что нужно. В случае обновления этого shared репозитория, я просто обновляю package.json. На практике очень удобно. У меня 3 проекта используют одно и то-же, и я переодически что-то улучшаю. И проблем с синхронизацией нет, как и подключении в любой новый проект
P.S: При работе в команде у вас так-же нет привязки к папке, есть репозиторий в котором все есть, и тянется как зависимость