Что делает @firebase/[email protected] и когда мне следует его использовать?

На этапе, когда пряжа связывает свои зависимости, я получаю следующий блок предупреждений:

warning "firebase > @firebase/[email protected]" has unmet peer dependency "@firebase/[email protected]".  
warning "firebase > @firebase/[email protected]" has unmet peer dependency "@firebase/[email protected]".  
warning "firebase > @firebase/[email protected]" has unmet peer dependency "@firebase/[email protected]".
...

еще несколько unment peer dependency предупреждений о "@firebase/[email protected]" из разных пакетов firebase, которые я удалил здесь для лучшей читабельности.

...  
warning " > [email protected]" has unmet peer dependency "dom-tools@^0.1.1".  
warning " > [email protected]" has unmet peer dependency "wolfy87-eventemitter@^4.3.0".  

Несмотря на то, что я прочитал документацию о типах зависимостей, я все еще не понимаю :

1) Что такое одноранговые зависимости? [теперь я знаю... пожалуйста, прочитайте редактирование ниже]
2) Почему и как они используются? [теперь я знаю... пожалуйста, прочитайте редактирование ниже]

Это непонимание также приводит к тому, что я не уверен, что мне делать с предупреждениями, которые дает пряжа.

3) Должен ли я добавить @firebase/[email protected], dom-tools@^0.1.1 и wolfy87-eventemitter@^4.3.0 в качестве зависимостей?
4) если да, то должны ли они быть обычными или зависимыми от разработчиков?

Изменить:
Было высказано предположение, что это дубликат Зачем использовать одноранговые зависимости в npm для плагинов? поэтому я пошел и прочитал это. Теперь я лучше понимаю, что такое зависимости от одноранговых узлов в целом, и я рекомендую всем, кто достигает этого вопроса, но не понимает, что такое зависимости от одноранговых узлов, прочитать приведенный там вопрос и ответ.

Тем не менее, я до сих пор не знаю, как решить указанное предупреждение, а вопросы 3 и 4 по-прежнему остаются для меня без ответа.

Я понимаю, что @firebase/[email protected] ожидает, что я каким-то образом буду использовать этот код в @firebase/[email protected] при общении с ним... но я не знаю, где, когда я, как я ожидал сделать это.

Тот факт, что я его не использую, может означать, что это что-то необязательное, что мне на самом деле не нужно, и это делает его «деталью реализации» (используя язык из https://stackoverflow.com/a/34645112/25412 ) или что я что-то упустил в том, как я использую @firebase/[email protected].

Я не спрашиваю о одноранговых зависимостях plotjs, потому что plotjs - это не то, что я использую напрямую для начала, поэтому я предполагаю, что здесь применяется первый вариант необязательной «детали реализации» (по крайней мере, на данный момент).

Так что, может быть, кто-то может дать больше информации о том, что делает @firebase/[email protected] и как и когда его можно/должно использовать?


person epeleg    schedule 01.05.2018    source источник
comment
Для 3) нет, не добавляйте их   -  person Rajendran Nadar    schedule 01.05.2018
comment
Возможный дубликат Зачем использовать одноранговые зависимости в npm для плагинов?   -  person Andrea Carraro    schedule 12.05.2018


Ответы (1)


По словам одного из сотрудников, поддерживающих firebase javascript sdk, это предупреждение генерируется известной ошибкой в ​​пряже. См. эту связанную проблему в firebase-js-sdk:

После быстрого поиска в Google оказалось, что это известная проблема с пряжей. Если одноранговая зависимость установлена ​​зависимостью зависимости (я знаю, что это много), пряжа будет жаловаться на это. Ваш продукт полностью безопасен, вам не о чем беспокоиться. Вместо этого вы также можете использовать npm install, и предупреждения не будет.

В заключение: игнорируйте "@firebase/..." has unmet peer dependency "@firebase/[email protected]". предупреждения.

person John    schedule 10.12.2018
comment
У вас есть ссылка на эту известную ошибку? - person Mackelito; 16.01.2019
comment
@Mackelito см. связанную проблему firebase-js-sdk для получения дополнительной информации. - person John; 16.01.2019