Я рекомендую погуглить разницу между зависимостями и одноранговыми зависимостями для более подробной информации, но суть в том, что одноранговые зависимости - это те, которые, как вы ожидаете, пользователь вашей библиотеки должен будет установить отдельно от вашего пакета, но которые необходимы для вашегопакет для запуска.
В общем, рекомендуется по возможности определять зависимости как равноправные зависимости, и для вас это имеет смысл.Почему, спросите вы?Что ж, если вы определите версию cdk углового материала как зависимость, и у потребителя уже есть cdk углового материала, установленного в его проекте, у вас теперь будет две версии одной и той же библиотеки, которые потенциально конфликтуют друг с другом.
Напротив, когда вы определяете зависимость от равноправного узла, вы говорите: «Эй, эта библиотека не будет работать, если у вас не установлен материал cdk, и я буду использовать любую версию».Это гораздо лучше, потому что им не нужно устанавливать его дважды или беспокоиться о конфликте разных версий.
Все, что вы перечислили, должно быть в peerDependencies
, единственное, что я бы добавил в зависимости, это вещи, которыеявляются ядром вашей библиотеки, и вы не ожидаете, что разработчики-потребители уже установили их в свой проект.Поскольку они используют то, что выглядит как плагин для материального проекта, то имеет смысл сделать это.Хотя сейчас, когда я посетил ваш репо, я не вижу упоминаний о пользовательском интерфейсе материала.Вы хотите быть очень явными в зависимости от пира, необходимой вашей библиотеке.