Это будет зависеть от используемых версий react-transition-group
. npm сделает все возможное, чтобы установить только одну версию модуля. Современные упаковщики (Webpack / Rollup) также попытаются использовать одну версию внутри пакета.
Так когда же он будет использовать один экземпляр и когда вы получите 2 копии?
Версии диапазонов перекрываются:
material-ui
требуется версия ~1.1.0
Ваш package.json
требует версию ^1.0.0
Поскольку эти диапазоны перекрываются, npm можно установить любую версию, соответствующую 1.1.*
, и она будет работать для обоих модулей, и вы получите только 1 копию.
Диапазоны версий не перекрываются:
material-ui
требуется версия ~1.1.0
Ваш package.json
требует версию ^2.0.0
Поскольку эти диапазоны требуют разных основных версий SemVer, npm установит две копии, одну для выполнения каждое требование Бандлеру также нужно будет принести обе версии.
Может быть трудно точно сказать, какая версия существует в под-зависимости, но вы можете увидеть их все, запустив npm ls
после запуска npm install
it. покажет вам все пакеты и версии, которые установлены в проекте.