Написать пост

Выпущен инструмент для сборки node-пакетов одной командой

Аватар Андрей Галадей

node-publisher позволяет автоматизировать сборку пакетов, не пропуская этапы, что исключает ошибки в виде отсутствия тестов или неверной версии Node.js.

Обложка поста Выпущен инструмент для сборки node-пакетов одной командой

В Zendesk разработали node-publisher — инструмент для сборки пакетов Node.js одной командой.

Зачем это нужно?

Нередко при сборке пакета разработчики забывают тот или иной шаг, проводят тестирование неверной версии или вовсе забывают запустить тесты. В результате в репозиторий Node.js попадают пакеты, содержащие ошибки. Отмечается, что node-publisher будет собирать пакеты в автоматическом режиме, не пропуская ни одного этапа. Это позволяет, в том числе, корректно управлять зависимостями.

Как это работает?

node-publisher объединяет в себе пять последовательных шагов:

  • Подготовка: проверка относительно рабочего дерева и текущей версии N.
  • Тестирование: запуск анализатора кода и тестов.
  • Сборка (опционально): проверка кода с помощью Babel.
  • Публикация.
  • Пост-публикация: создание журнала изменений.

node-publisher работает с несколькими элементами проекта. В частности, он использует определённый рабочий процесс git, проверяет наличие файла .nvmrc и указание имён скриптов в package.json. При запуске в корневой папке проекта создаётся файл .release.yml. При этом инструмент будет выполнять лишь те шаги и команды, которые присутствуют в файле конфигурации. Последний выглядит следующим образом:

			rollback: true

prepare:
  - git diff-index --quiet HEAD --
  - git checkout master
  - git pull --rebase
  - '[[ -f .nvmrc ]] && ./node_modules/.bin/check-node-version --node $(cat .nvmrc)'
  - yarn install

test:
  - yarn travis

build:
  - yarn build
  - git diff --staged --quiet || git commit -am "Update build file"

after_publish:
  - git push --follow-tags origin master:master

changelog:
  - ./node_modules/.bin/offline-github-changelog > CHANGELOG.md
  - git add CHANGELOG.md
  - git commit --allow-empty -m "Update changelog"
  - git push origin master:master
		
Следите за новыми постами
Следите за новыми постами по любимым темам
1К открытий1К показов