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.
## Publicar o pacote do diretório de trabalho atual
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.0Alternativamente, 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.
bun pm pack
...
bun publish ./package.tgzNOTE
`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.
bun publish --access public--access também pode ser definido no campo publishConfig do seu package.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.
bun publish --tag alpha--tag também pode ser definido no campo publishConfig do seu package.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.
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.
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.
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:
bun publish --otp 123456NOTE
`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.