pnpm publish

Публікує пакунок в реєстрі.

pnpm [-r] publish [<tarball|folder>] [--tag <tag>]
     [--access <public|restricted>] [options]

Під час публікації пакунка у робочій області, файл LICENSE з кореня робочої області пакується разом з пакунком (якщо тільки пакунок не має власної ліцензії).

Ви можете перевизначити деякі поля перед публікацією, використовуючи поле publishConfig у package.json. Ви також можете використовувати publishConfig.directory для налаштування вкладеної теки, що публікується (зазвичай за допомогою сторонніх інструментів збірки).

При рекурсивному виконанні цієї команди (pnpm -r publish) pnpm опублікує усі пакунки, версії яких ще не було опубліковано у реєстрі.

Параметри#

--recursive, -r#

Публікує всі пакунки з робочого простору.

--json#

Показати інформацію у форматі JSON.

--tag <tag>#

Публікує. всі пакунки з вказаним теґом. Стандартно, pnpm publish оновлює теґ latest.

Наприклад:

# всередині теки пакунків foo
pnpm publish --tag next
# у проєкті, де ви хочете використовувати наступну версію foo
pnpm add foo@next

--access <public|restricted>#

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

--no-git-checks#

Не перевіряти, чи поточна гілка є вашою гілкою для публікації, вона є чистою та актуальною з віддаленою версією.

--publish-branch <branch>#

  • Стандартно: master and main
  • Типи: String

Основна гілка репозиторію, яка використовується для публікації останніх змін.

--force#

Намагатись публікувати пакунки, навіть якщо їх поточну версію вже знайдено у реєстрі.

--report-summary#

Зберегти список опублікованих пакунків у файлі pnpm-publish-summary.json. Корисно, коли для звіту про список опублікованих пакунків використовується інший інструментарій.

Приклад файлу pnpm-publish-summary.json:

{
  "publishedPackages": [
    {
      "name": "foo",
      "version": "1.0.0"
    },
    {
      "name": "bar",
      "version": "2.0.0"
    }
  ]
}

--dry-run#

Робити все, що робить публікація, за винятком власне публікації в реєстрі.

--otp#

При публікації пакунків, які вимагають двофакторної автентифікації, у цьому параметрі можна вказати одноразовий пароль.

--provenance#

При публікації з підтримуваної хмарної системи CI/CD пакунок буде публічно повʼязаний з місцем, де він був створений і опублікований.

--filter <package_selector>#

Читайте більше про фільтрування.

Налаштування#

Ви також можете встановити параметри gitChecks, publishBranch у файлі pnpm-workspace.yaml.

Наприклад:

pnpm-workspace.yaml
gitChecks: false
publishBranch: production

Сценарії#

  • prepublishOnly
  • prepublish
  • prepack
  • prepare
  • postpack
  • publish
  • postpublish