Могу ли я иметь запасной вариант для peerDependencies? - PullRequest
0 голосов
/ 06 марта 2020

В моем пакете. json Я хочу объявить peerDependency и предоставить запасной вариант, если у пользователя моего пакета не установлена ​​эта peerDependency.

Я неоднократно сталкивался с этим и не могу показаться найти хорошее решение. Предположим, я являюсь автором библиотеки, состоящей из двух npm пакетов, в которых один пакет зависит от другого:

  • package1
  • package2 => имеет зависимость от package1

Чтобы добиться откатного поведения, я попытался добавить package1 в качестве зависимости, а также peerDependency к package2. К сожалению, кажется, что это полностью игнорирует peerDependency, потому что peerDependencies не применяют никакого поведения, они просто выдают предупреждение.

Я рассматриваю удаление зависимости, просто оставив peerDependency, что заставит пользователя устанавливать оба пакета, когда они хотят использовать package1, чего я бы хотел избежать.

Есть ли какой-нибудь чистый способ достижения упомянутого поведения?

1 Ответ

0 голосов
/ 09 апреля 2020

Прочитав довольно много об этом, не существует чистого способа достичь этого (как и ожидалось, откровенно говоря).

Один пост в блоге, который я нашел полезным, был этот . В моем случае для повышения совместимости я, скорее всего, прибегну к использованию одноранговых зависимостей и пожертвую немного юзабилити.

...