Как создать частные модули npm и настроить Travis для их использования
Мы любим npm для управления нашими зависимостями JavaScript. И нам нравится, что Трэвис постоянно создает и тестирует наше приложение. В этом посте объясняется, как создавать частные модули npm и как настроить Travis для их использования.
Создание частного модуля NPM
Создать частный модуль npm просто. Просто добавьте область видимости к своему имени. Например, добавьте следующее в свой package.json, чтобы сделать модуль fancy-formatter закрытым для вашей компании:
{ "name": "@my-company/fancy-formatter", "version": "1.0.0", ...
Затем вы должны сообщить npm, кто вы:
$ npm login Username: your_username Password: your_password Email: (this IS public) [email protected]
Теперь вы можете опубликовать свой модуль в репозитории npm, что сделает его автоматически закрытым:
$ npm publish
PS: для частных репозиториев требуется платная учетная запись npmjs. Эта страница — хорошая отправная точка, если вы хотите узнать больше о приватных модулях npm.
Локальное использование частных модулей NPM
Добавление частного модуля в ваше приложение работает так же, как добавление любого другого модуля:
npm install @my-company/fancy-formatter --save
Кто хочет создать проект: npm должен будет знать, что этому человеку разрешен доступ к частному репозиторию. Следовательно, вам нужно проинструктировать всех своих коллег войти в систему через npm login
, прежде чем они построят в следующий раз.
Настройте Travis для работы с частным модулем NPM
Итак, теперь у нас есть проект, который зависит от частного модуля. Давай заставим Трэвиса его построить!
Во-первых, нам нужно получить токен npm из .npmrc (здесь — отличное объяснение деталей). Затем мы сохраняем токен npm в нашем файле конфигурации Travis с помощью следующего инструмента командной строки:
$ travis encrypt NPM_TOKEN=00000–1111–2222–3333–3278234543 --add
Наконец, мы настраиваем наш .travis.yml так, чтобы он всегда добавлял токен перед установкой зависимостей npm:
before_install: - npm config set //registry.npmjs.org/:_authToken=$NPM_TOKEN
Удачного кодирования!
Хотите узнать больше о кодировании? Посмотрите другие наши статьи.
Фото: Джеймс Кридленд