У меня есть следующая структура monorepo
root
--AppOne
----package.json
----node_modules
------styled-components
--AppTwo
----package.json
----node_modules
------styled-components
--Shared
----componentA
----package.json
----node_modules
------styled-components
Моя проблема в том, что и AppOne, и AppTwo используют componentA
из каталога shared
, и это зависит от пакета NPM, дляпример на styled-components
Это означает, что мне нужно установить styled-components
во всех трех каталогах, и это увеличивает размер пакета, и если версии не совпадают, это может вызвать проблемы с пакетом, который делает то, чтоэто должно быть сделано.
Это также означает, что я получаю следующую ошибку от styled-components
:
It looks like there are several instances of 'styled-components' initialized in this application.
This may cause dynamic styles not rendering properly, errors happening during rehydration process and makes your application bigger without a good reason.
Мой вопрос - каков наилучший способрешить эту ситуацию?В идеале я хочу, чтобы этот пакет устанавливался только в одном месте.Должен ли я установить его в Shared
и использовать псевдоним в AppOne
и AppTwo
для использования пакета?
Любой совет, который высоко ценится!