Рубрики
Без рубрики

Прекратите использование “NPM Publish”

Публикация вашего пакета в NPM не ограничивается одной командной строкой “NPM Publish”, есть и другие … Tagged с NPM, узлом, JavaScript.

Публикация вашего пакета в NPM не ограничивается одной командной строкой “NPM Publish”, есть и другие шаги, которые вы должны сделать, прежде чем выпустить свой продукт другим разработчикам. Но есть ли способ оптимизировать это в одной командной строке? Да!

Aux4 это генератор CLI с открытым исходным кодом (интерфейс командной строки), дружественный для использования в вашем проекте. Он генерирует CLI из простого файла JSON.

Структура JSON проста, это объект со списком профилей. Каждый профиль имеет имя и список команд. Основной профиль – это то, где AUX4 начнет перечислять ваши команды.

Установите AUX4

Aux4 – это пакет NPM, вы можете легко установить:

npm install -g aux4

Создать файл .aux4

Вы можете создать .aux4 файл в корне вашего проекта.

{
  "profiles": [
    {
      "name": "main",
      "commands": [
        {
          "value": "release",
          "execute": [
            "echo 'npm publishing'"
          ]
        }
      ]
    }
  ]
}

Выполнять

Выполнить просто использовать aux4 Команда из корневой папки вашего проекта или любого подразделения. Вывод будет NPM Publishing Анкет

aux4 release

npm publishing

Добавить реальные шаги

Допустим, первый шаг, который вы хотите сделать, – это выполнить ваши тесты, измените версию в Package.json Файл, после этого, создайте свой пакет, создайте тег на GIT и, наконец, опубликуйте в NPM, и. выдвигая ваши изменения в репозиторий. Вот шаги:

  1. тест
  2. Определите версию NPM
  3. строить
  4. git Tag
  5. NPM Publish
  6. git push

В этом посте я просто демонстрирую, что вы можете сделать, но должен адаптироваться к реальности вашего проекта и выполнить необходимые шаги.

{
  "profiles": [
    {
      "name": "main",
      "commands": [
        {
          "value": "release",
          "execute": [
            "npm test",
            "npm version patch",
            "npm run build",
            "json:cat package.json",
            "set:versionNumber=${response.version}",
            "git tag -a ${versionNumber} -m '${versionNumber}'",
            "git push --follow-tags",
            "npm publish ./build",
            "rm -rf build",
            "git push",
            "echo ${versionNumber} released successfully"
          ]
        }
      ]
    }
  ]
}

Что это за строки?

Я собираюсь описать каждую строку, чтобы прояснить ее.

NPM Тест

выполнить тесты.

NPM версия патч

Увеличьте патч текущей версии, определенной в вашем Package.json файл. например: если ваша текущая версия 1.0.1 Это увеличит к 1.0.2 Анкет

NPM Run Build

Он построит ваш проект, если у вас будет определено его в сценариях. Вы можете сделать это по -разному, это просто демонстрация.

json: cat package.json

Cat Package.json печатать содержимое файла на вывод консоли. Префикс json: Преобразуйте строку JSON в объект JSON.

SET: versionnumber = $ {response.version}

В aux4 $ {ответ} является выводом предыдущей строки, в данном случае, как в предыдущей строке мы преобразовали JSON в объект, мы можем получить доступ к его свойствам. Здесь он настраивает переменную версия Number с версией пакета. Структура Установить: variable = значение .

Git Tag -a $ {versionnumber} -m ‘$ {versionnumber}’

Создать тег в репозитории с той же версией.

git push–follow-tags

Только прожмите только теги в ваш репозиторий GIT.

NPM Publish ./build

Публикуйте пакет в NPM.

RM -RF Build (необязательно)

Удаляет сборка папка. Это не нужно, но это может быть полезно.

git push

Толкает ваши изменения в репозиторий GIT.

Echo $ {versionnumber} выпущен успешно

Отображения 1.0.2 выпущено успешно к выводу.

Добавьте документацию в свою команду

AUX4 позволяет документировать ваши команды, поэтому другие люди, использующие это, могут легко понять, какова цель ваших команд. Для этого вам просто нужно добавить раздел справки в вашу команду.

{
  "profiles": [
    {
      "name": "main",
      "commands": [
        {
          "value": "release",
          "execute": [
            "npm test",
            "npm version patch",
            "npm run build",
            "json:cat package.json",
            "set:versionNumber=${response.version}",
            "git tag -a ${versionNumber} -m '${versionNumber}'",
            "git push --follow-tags",
            "npm publish ./build",
            "rm -rf build",
            "git push",
            "echo ${versionNumber} released successfully"
          ],
          "help": {
            "description": "publish a new version of my package to npm"
          }
        }
      ]
    }
  ]
}

Документация отображается при выполнении команды aux4 Анкет

aux4

     aux4   aux4 utilities
  release   publish a new version of my package to npm

Добавьте параметр

Вы можете добавить параметр на случай, если вы не хотите выпустить патч каждый раз. Таким образом, в параметре вы можете указать, какой тип версии вы выпускаете.

{
  "profiles": [
    {
      "name": "main",
      "commands": [
        {
          "value": "release",
          "execute": [
            "npm test",
            "npm version ${version}",
            "npm run build",
            "json:cat package.json",
            "set:versionNumber=${response.version}",
            "git tag -a ${versionNumber} -m '${versionNumber}'",
            "git push --follow-tags",
            "npm publish ./build",
            "rm -rf build",
            "git push",
            "echo ${versionNumber} released successfully"
          ],
          "help": {
            "description": "publish a new version of my package to npm"
            "variables": [
              {
                "name": "version",
                "text": "type of version release. e.g.: major, minor, patch",
                "default": "patch"
              }
            ]
          }
        }
      ]
    }
  ]
}

Переменные имеют три атрибута:

  • имя : Имя переменной
  • Текст : Документация переменной
  • по умолчанию : Значение по умолчанию в случае, если переменная не определена.

NPM версия $ {версия}

Использование переменной для указания типа версии.

Документация

aux4

     aux4   aux4 utilities
  release   publish a new version of my package to npm
              - version [patch] type of version release. e.g.: major, minor, patch

Исполнение

aux4 release --version minor

1.1.0 released successfully

Вывод

Aux4 – отличный инструмент для оптимизации вашего времени, упрощения и документирования ваших сценариев и облегчить обмен вашей командой. Основное преимущество использования AUX4 – это позволяет всей вашей команде не забыть о каком -либо важном шаге, выполняя какую -то задачу, поделившись своим инструментом Project с вашей командой.

Комментарий

Ваше мнение имеет значение, что вы думаете о AUX4? Собираетесь ли вы использовать его в своем проекте? Пожалуйста, поделитесь своими мыслями в разделе комментариев.

Оригинал: “https://dev.to/aux4/stop-using-npm-publish-2ibc”