
Цели этого руководства
После изучения этого руководства вы сможете:
- Создать пакет npm
- Опубликуйте пакет в реестре
- Автоматизируйте тестирование и публикацию пакета npm с Buddy
Требования
Перед тем, как начать, вам необходимо установить следующее:
Создание пакета npm
Начните с создания папки и инициализации репозитория Git, чтобы ваш пакет был в целости и сохранности под контролем версий:
$ mkdir my_first_npm_module
$ cd my_first_npm_module
$ git init
Следующим шагом будет добавление package.json, который будет содержать данные вашего модуля. Самый простой способ сделать это - запустить эту команду:
$ npm init
Вам будет предложено ввести информацию о вашем пакете:
nameversionmain value(обычно устанавливается вindex.js)
Когда будете готовы, проверьте содержимое package.json. Должно получиться так:
{ "name": "buddy-demo-package", "version": "1.0.3","description": "","main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
В index.js функции должны быть предоставлены как свойство объекта exports. Вот пример:
exports.printMsg = function() {
console.log("My first package message");
}
После того, как все настроено, вы должны зафиксировать свои файлы в репо:
$ git add *
$ git commit -m 'init my package'
Публикация пакета
Чтобы опубликовать пакет, вам необходимо зарегистрироваться в реестре npm. Сделать это можно двумя способами:
- Зарегистрируйтесь на npmjs.com
- Выполнить
npm adduserв терминале
После регистрации войдите в клиент и опубликуйте пакет:
$ npm login
$ npm publish
Вы можете проверить, все ли работает правильно, посмотрев свой пакет на npmjs.com по имени, указанному в package.json.
Команда
npm publishпубликует все файлы из каталога, кроме добавленных в.gitgnoreи.npmignore.
Внесение изменений в пакет
Каждый раз, когда вы вносите изменения в свой пакет (добавляете новую функцию и т. Д.), Вам необходимо обновить версию в package.json. Наиболее удобный способ - использовать метод npm version с типом патча minor или major. Затем снова запустите npm publish once:
$ npm version patch
$ npm publish
Автоматизация тестов и публикаций npm
Перед отправкой пакета в реестр рекомендуется проверить его, чтобы убедиться, что он не содержит ошибок. Вы можете сделать это, установив конвейер в Buddy, который будет одновременно тестировать и развертывать ваш пакет.
В этом примере мы будем использовать демонстрационный проект, который вы можете форкнуть из нашей учетной записи GitHub.
Когда вы закончите, войдите в свою рабочую область Buddy и сделайте следующее:
- Создайте новый проект, выберите GitHub в качестве поставщика и выберите разветвленный репозиторий.
- Добавьте новый конвейер, установите режим триггера на При каждом нажатии и выберите Главный в качестве целевой ветви.
- Добавьте действие Node.js. Будут выполняться команды по умолчанию:

- Добавьте еще одно действие Node.js, которое отправит пакет в реестр:

Обязательно установите cli-login на вкладке Среда, чтобы вы могли пройти аутентификацию:
npm install -g npm-cli-login publish

После того, как конвейер установлен, Buddy будет автоматически тестировать ваш пакет при каждом нажатии на ветку Master и, если ошибок нет, доставит его в реестр.
Использование переменных среды для хранения учетных данных npm
Buddy позволяет хранить учетные данные для аутентификации в виде переменных среды, которые впоследствии можно использовать в действиях во всей рабочей области, проекте или конвейере.
- Перейдите в Параметры проекта и откройте вкладку Переменные среды.
- Введите
NPM_PASSWORD,NPM_EMAILиNPM_LOGINи их соответствующие значения:

Вы можете установить флажок Зашифровать, чтобы скрыть конфиденциальные данные от других пользователей.
Не стесняйтесь поделиться этим руководством, и если вам нужна помощь в настройке и автоматизации вашего процесса, просто напишите на [email protected] или оставьте сообщение на нашем форуме сообщества.