Я только что заметил одно приятное решение этой проблемы в приложении create-реагировать на Facebook.Они импортируют (все?) Внешние зависимости в пакет реаги-dev-utils и экспортируют их оттуда.Затем все остальные пакеты, такие как act-scripts , импортируют зависимости из реагирующих устройств разработчика.
Это хорошо, потому что вам нужно беспокоиться только об использовании последней версии одного пакета (например response-dev-utils), чтобы использовать последнюю версию всех вещей, которыми вы хотите управлять.Кроме того, он гибок, потому что вы можете переопределить одну из зависимостей, импортируя другую версию напрямую.
Так что это может выглядеть так:
my-repo/
packages/
my-deps/
pkg1.js // <--- module.exports = require("pkg1");
package.json
"pkg1": 1.2.0
foo/
index.js // <--- const pkg1 = require("my-deps/pkg1")
package.json
"my-deps": 1.1.0