import Publish from "/ru/snippets/cli/publish.mdx";
bun publish автоматически упакует ваш пакет в tarball, удалит протоколы каталогов и рабочих областей из package.json (при необходимости разрешив версии) и опубликует в реестр, указанный в ваших файлах конфигурации. Поддерживаются как файлы bunfig.toml, так и .npmrc.
## Публикация пакета из текущего рабочего каталога
bun publishbun publish v1.3.3 (ca7428e9)
packed 203B package.json
packed 224B README.md
packed 30B index.ts
packed 0.64KB tsconfig.json
Total files: 4
Shasum: 79e2b4377b63f4de38dc7ea6e5e9dbee08311a69
Integrity: sha512-6QSNlDdSwyG/+[...]X6wXHriDWr6fA==
Unpacked size: 1.1KB
Packed size: 0.76KB
Tag: latest
Access: default
Registry: http://localhost:4873/
+ publish-1@1.0.0В качестве альтернативы вы можете отдельно упаковать и опубликовать ваш пакет, используя bun pm pack, а затем bun publish с путем к выходному tarball.
bun pm pack
...
bun publish ./package.tgzNOTE
`bun publish` не будет запускать скрипты жизненного цикла (`prepublishOnly/prepack/prepare/postpack/publish/postpublish`), если предоставлен путь к tarball. Скрипты будут выполнены только если пакет упакован `bun publish`.--access
Флаг --access может использоваться для установки уровня доступа публикуемого пакета. Уровень доступа может быть public или restricted. Пакеты без области действия всегда являются публичными, и попытка опубликовать пакет без области действия с --access restricted приведет к ошибке.
bun publish --access public--access также можно установить в поле publishConfig вашего package.json.
{
"publishConfig": {
"access": "restricted"
}
}--tag
Установить тег версии пакета, который публикуется. По умолчанию тег — latest. Начальная версия пакета всегда получает тег latest в дополнение к указанному тегу.
bun publish --tag alpha--tag также можно установить в поле publishConfig вашего package.json.
{
"publishConfig": {
"tag": "next"
}
}--dry-run
Флаг --dry-run может использоваться для имитации процесса публикации без фактической публикации пакета. Это полезно для проверки содержимого публикуемого пакета без фактической публикации.
bun publish --dry-run--tolerate-republish
Завершить с кодом 0 вместо 1, если версия пакета уже существует. Полезно в CI/CD, где задания могут быть перезапущены.
bun publish --tolerate-republish--gzip-level
Указать уровень сжатия gzip, используемый при упаковке пакета. Применяется только к bun publish без аргумента пути к tarball. Значения от 0 до 9 (по умолчанию 9).
--auth-type
Если у вас включена 2FA для вашей учетной записи npm, bun publish запросит у вас одноразовый пароль. Это можно сделать через браузер или CLI. Флаг --auth-type может использоваться для указания реестру npm, какой метод вы предпочитаете. Возможные значения — web и legacy, где web по умолчанию.
bun publish --auth-type legacy
...
This operation requires a one-time password.
Enter OTP: 123456
...--otp
Предоставить одноразовый пароль напрямую в CLI. Если пароль действителен, это пропустит дополнительный запрос одноразового пароля перед публикацией. Пример использования:
bun publish --otp 123456NOTE
`bun publish` уважает переменную окружения `NPM_CONFIG_TOKEN`, которая может использоваться при публикации в github actions или автоматизированных рабочих процессах.