peerDependencies
При разработке библиотеки очень важно знать про поле peerDependecies в
Это поле позволяет установить требования для пользователя библиотеки.
Например, при разработке библиотеки React-компонентов в
Это позволяет избежать дубликатов.
#npm #peerDependencies
При разработке библиотеки очень важно знать про поле peerDependecies в
package.json
.Это поле позволяет установить требования для пользователя библиотеки.
Например, при разработке библиотеки React-компонентов в
peerDependencies
нужно указать React
(при этом подобрав максимально широкий диапазон версий), что будет означать, что пользователь библиотеки должен установить React
в свой проект самостоятельно (NPM >= 7 сделает это автоматически).Это позволяет избежать дубликатов.
#npm #peerDependencies
В продолжение темы домашней инфраструктуры: я поставил на свой домашний сервер Verdaccio — фактически это опенсорсный селф-хостед NPM репозиторий. Его я указал в домашнем
В целом можно запустить его в Docker-контейнере на своей машине, чтобы ускорить установку зависимостей за счёт проксирования с кешем, хотя вполне вероятно в данном случае более эффективным решением будет использовать кеш пакетного менеджера, чтобы не тратить ресурсы на сервер.
В условиях отсутствия интернета эта штука сработала только в ситуациях, когда не нужно резолвить зависимости (установка конкретной версии или из локфайла), так что для полного оффлайна, видимо, придётся немного поплясать с бубном...
#npm #selfHosted
.npmrc
, чтобы использовать как репозиторий по умолчанию.В целом можно запустить его в Docker-контейнере на своей машине, чтобы ускорить установку зависимостей за счёт проксирования с кешем, хотя вполне вероятно в данном случае более эффективным решением будет использовать кеш пакетного менеджера, чтобы не тратить ресурсы на сервер.
В условиях отсутствия интернета эта штука сработала только в ситуациях, когда не нужно резолвить зависимости (установка конкретной версии или из локфайла), так что для полного оффлайна, видимо, придётся немного поплясать с бубном...
#npm #selfHosted
Менеджмент зависимостей в Javascript
Для многих разработчиков процесс установки зависимостей представляет собой магию, которая происходит при выполнении
(Кнопка "посмотреть", видимо, только у ссылок на Telegraph появляется...)
#npm #tools
Для многих разработчиков процесс установки зависимостей представляет собой магию, которая происходит при выполнении
npm install
. Разработчикам, имеющим у себя в проекте большое количество зависимостей и тем, кто разрабатывает эти самые зависимости, публикуя в виде NPM-пакетов, будет полезно разобраться в принципах работы этой магии, чтобы сделать установку более эффективной и не создавать проблемы коллегам....(Кнопка "посмотреть", видимо, только у ссылок на Telegraph появляется...)
#npm #tools
Tproger
Как реализован менеджмент зависимостей в JavaScript
В статье подробно поговорим про принципы управления зависимостями в Javascript и обсудим существующие пакетные менеджеры.