Цели этого руководства

После изучения этого руководства вы сможете:

  • Создать пакет npm
  • Опубликуйте пакет в реестре
  • Автоматизируйте тестирование и публикацию пакета npm с Buddy

Требования

Перед тем, как начать, вам необходимо установить следующее:

Создание пакета npm

Начните с создания папки и инициализации репозитория Git, чтобы ваш пакет был в целости и сохранности под контролем версий:

$ mkdir my_first_npm_module
$ cd my_first_npm_module
$ git init

Следующим шагом будет добавление package.json, который будет содержать данные вашего модуля. Самый простой способ сделать это - запустить эту команду:

$ npm init

Вам будет предложено ввести информацию о вашем пакете:

  • name
  • version
  • main 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. Сделать это можно двумя способами:

  1. Зарегистрируйтесь на npmjs.com
  2. Выполнить 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] или оставьте сообщение на нашем форуме сообщества.