import Publish from "/es/snippets/cli/publish.mdx";
bun publish empaquetará automáticamente tu paquete en un tarball, eliminará los protocolos de catálogo y espacio de trabajo del package.json (resolviendo versiones si es necesario), y publicará en el registro especificado en tus archivos de configuración. Se soportan tanto archivos bunfig.toml como .npmrc.
## Publicar el paquete desde el directorio de trabajo actual
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, puedes empaquetar y publicar tu paquete por separado usando bun pm pack seguido de bun publish con la ruta al tarball de salida.
bun pm pack
...
bun publish ./package.tgzNOTE
`bun publish` no ejecutará scripts de ciclo de vida (`prepublishOnly/prepack/prepare/postpack/publish/postpublish`) si se proporciona una ruta de tarball. Los scripts solo se ejecutarán si el paquete es empaquetado por `bun publish`.--access
La bandera --access puede usarse para establecer el nivel de acceso del paquete que se publica. El nivel de acceso puede ser public o restricted. Los paquetes sin scope siempre son públicos, e intentar publicar un paquete sin scope con --access restricted resultará en un error.
bun publish --access public--access también puede establecerse en el campo publishConfig de tu package.json.
{
"publishConfig": {
"access": "restricted"
}
}--tag
Establece la etiqueta de la versión del paquete que se publica. Por defecto, la etiqueta es latest. La versión inicial de un paquete siempre recibe la etiqueta latest además de la etiqueta especificada.
bun publish --tag alpha--tag también puede establecerse en el campo publishConfig de tu package.json.
{
"publishConfig": {
"tag": "next"
}
}--dry-run
La bandera --dry-run puede usarse para simular el proceso de publicación sin publicar realmente el paquete. Esto es útil para verificar el contenido del paquete publicado sin publicarlo realmente.
bun publish --dry-run--tolerate-republish
Salir con código 0 en lugar de 1 si la versión del paquete ya existe. Útil en CI/CD donde los trabajos pueden volver a ejecutarse.
bun publish --tolerate-republish--gzip-level
Especificar el nivel de compresión gzip a usar al empaquetar el paquete. Solo se aplica a bun publish sin un argumento de ruta de tarball. Los valores van de 0 a 9 (el predeterminado es 9).
--auth-type
Si tienes 2FA habilitado para tu cuenta de npm, bun publish te pedirá una contraseña de un solo uso. Esto puede hacerse a través de un navegador o la CLI. La bandera --auth-type puede usarse para decirle al registro de npm qué método prefieres. Los valores posibles son web y legacy, siendo web el predeterminado.
bun publish --auth-type legacy
...
This operation requires a one-time password.
Enter OTP: 123456
...--otp
Proporcionar una contraseña de un solo uso directamente a la CLI. Si la contraseña es válida, esto omitirá el prompt adicional de contraseña de un solo uso antes de publicar. Ejemplo de uso:
bun publish --otp 123456NOTE
`bun publish` respeta la variable de entorno `NPM_CONFIG_TOKEN` que puede usarse al publicar en github actions o flujos de trabajo automatizados.