Я видел, как люди задают тот же вопрос Всавкину (чувак Nrwl / Nx), и его ответ был довольно сложным Подмодульный подход .
Хотя этот рабочий процесс являетсянемного сложный, он позволяет разделяемым версиям разделяемых библиотек сохранять их в том же родительском git-repo.
Более простая альтернатива, как вы уже упоминали, хранить все библиотеки в одном хранилище.та же версия, что и для root package.json - аналогично тому, как Angular monorepo одновременно выпускает свои версии всех пакетов Angular.
Это можно легко сделать в узле или в bash / shell с помощьюнемного больше сценариев.
Вот пример с примерами узлов, bash & shell, как извлечь версию из корневого пакета. json .
Toна самом деле поднять версии пакетов вот простой подход: установите этот пакет npm (хороший CLI для редактирования файлов json) и прочитайте раздел Редактирование на месте .Теперь у вас должны быть все необходимые инструменты!
Вот пример сценария bash с использованием узла:
cd libs/my-library && json -I -f package.json this.version=$(node -pe \"JSON.stringify(require('../../package.json').version)\")