Что такое "экзотическое" именование в версии пакетов npm?

Что означает "экзотическое" наименование, которое иногда появляется в списке пакетов npm в версии, например, в команде npm outdated я получаю:

Package       Current       Wanted Latest URL
gulp          4.0.0-alpha.2 exotic exotic github:gulpjs/gulp#4.0

Спасибо

Ответ 1

Я думаю, что он был помечен как "экзотический", потому что он был установлен с URL-адреса GitHub, а не из реестра npm. Так что это "экзотический" пакет, то есть иностранный или неродный.

Моя интерпретация заключается в том, что это безопасное для разработчиков предупреждение о том, что вы делаете что-то "экзотическое" и что npm/пряжа не может обнаружить для вас, стал ли этот пакет устаревшим.

Я просмотрел npm/npm (и некоторые другие npm -related repos), но я не мог найти текст exotic, поэтому он должен происходить из своего (частного) реестра API? Я нашел некоторую обработку exotic в yarnpkg/yarn хотя для справки: https://github.com/yarnpkg/yarn/blob/a3ce7c702f644efde783bebe0b99dc08100f0df/src/package-request.js#L408