Skip to content

import Publish from "/pt/snippets/cli/publish.mdx";

bun publish empacotará automaticamente seu pacote em um tarball, removerá protocolos de catálogo e workspace do package.json (resolvendo versões se necessário), e publicará no registro especificado em seus arquivos de configuração. Ambos os arquivos bunfig.toml e .npmrc são suportados.

sh
## Publicar o pacote do diretório de trabalho atual
bun publish
txt
bun 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

Alternativamente, você pode empacotar e publicar seu pacote separadamente usando bun pm pack seguido por bun publish com o caminho para o tarball de saída.

sh
bun pm pack
...
bun publish ./package.tgz

NOTE

`bun publish` não executará scripts de ciclo de vida (`prepublishOnly/prepack/prepare/postpack/publish/postpublish`) se um caminho de tarball for fornecido. Scripts só serão executados se o pacote for empacotado pelo `bun publish`.

--access

A flag --access pode ser usada para definir o nível de acesso do pacote sendo publicado. O nível de acesso pode ser public ou restricted. Pacotes sem escopo são sempre públicos, e tentar publicar um pacote sem escopo com --access restricted resultará em um erro.

sh
bun publish --access public

--access também pode ser definido no campo publishConfig do seu package.json.

json
{
  "publishConfig": {
    "access": "restricted"
  }
}

--tag

Definir a tag da versão do pacote sendo publicado. Por padrão, a tag é latest. A versão inicial de um pacote sempre recebe a tag latest além da tag especificada.

sh
bun publish --tag alpha

--tag também pode ser definido no campo publishConfig do seu package.json.

json
{
  "publishConfig": {
    "tag": "next"
  }
}

--dry-run

A flag --dry-run pode ser usada para simular o processo de publicação sem realmente publicar o pacote. Isso é útil para verificar o conteúdo do pacote publicado sem realmente publicar o pacote.

sh
bun publish --dry-run

--tolerate-republish

Sair com código 0 em vez de 1 se a versão do pacote já existir. Útil em CI/CD onde jobs podem ser re-executados.

sh
bun publish --tolerate-republish

--gzip-level

Especificar o nível de compressão gzip a ser usado ao empacotar o pacote. Aplica-se apenas ao bun publish sem um argumento de caminho de tarball. Valores variam de 0 a 9 (padrão é 9).

--auth-type

Se você tem 2FA habilitado para sua conta npm, bun publish solicitará uma senha de uso único. Isso pode ser feito através de um navegador ou CLI. A flag --auth-type pode ser usada para dizer ao registro npm qual método você prefere. Os valores possíveis são web e legacy, sendo web o padrão.

sh
bun publish --auth-type legacy
...
This operation requires a one-time password.
Enter OTP: 123456
...

--otp

Fornecer uma senha de uso único diretamente para a CLI. Se a senha for válida, isso pulará o prompt extra para uma senha de uso único antes de publicar. Exemplo de uso:

sh
bun publish --otp 123456

NOTE

`bun publish` respeita a variável de ambiente `NPM_CONFIG_TOKEN` que pode ser usada ao publicar em github actions ou fluxos de trabalho automatizados.

Bun by www.bunjs.com.cn edit