Skip to content

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

bun publish impacchetterà automaticamente il tuo pacchetto in un tarball, rimuoverà i protocolli catalog e workspace dal package.json (risolvendo le versioni se necessario), e pubblicherà al registro specificato nei tuoi file di configurazione. Sono supportati sia i file bunfig.toml che .npmrc.

sh
## Pubblica il pacchetto dalla directory di lavoro corrente
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

Totale file: 4
Shasum: 79e2b4377b63f4de38dc7ea6e5e9dbee08311a69
Integrity: sha512-6QSNlDdSwyG/+[...]X6wXHriDWr6fA==
Dimensione non compressa: 1.1KB
Dimensione compressa: 0.76KB
Tag: latest
Accesso: default
Registro: http://localhost:4873/

 + publish-1@1.0.0

In alternativa, puoi impacchettare e pubblicare il tuo pacchetto separatamente usando bun pm pack seguito da bun publish con il percorso al tarball di output.

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

NOTE

`bun publish` non eseguirà script del ciclo di vita (`prepublishOnly/prepack/prepare/postpack/publish/postpublish`) se viene fornito un percorso tarball. Gli script verranno eseguiti solo se il pacchetto è impacchettato da `bun publish`.

--access

Il flag --access può essere usato per impostare il livello di accesso del pacchetto che viene pubblicato. Il livello di accesso può essere public o restricted. I pacchetti senza scope sono sempre pubblici, e tentare di pubblicare un pacchetto senza scope con --access restricted risulterà in un errore.

sh
bun publish --access public

--access può anche essere impostato nel campo publishConfig del tuo package.json.

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

--tag

Imposta il tag della versione del pacchetto che viene pubblicata. Di default, il tag è latest. La versione iniziale di un pacchetto riceve sempre il tag latest in aggiunta al tag specificato.

sh
bun publish --tag alpha

--tag può anche essere impostato nel campo publishConfig del tuo package.json.

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

--dry-run

Il flag --dry-run può essere usato per simulare il processo di pubblicazione senza effettivamente pubblicare il pacchetto. Questo è utile per verificare il contenuto del pacchetto pubblicato senza effettivamente pubblicarlo.

sh
bun publish --dry-run

--tolerate-republish

Esce con codice 0 invece di 1 se la versione del pacchetto esiste già. Utile in CI/CD dove i job possono essere rieseguiti.

sh
bun publish --tolerate-republish

--gzip-level

Specifica il livello di compressione gzip da usare quando si impacchetta il pacchetto. Si applica solo a bun publish senza un argomento di percorso tarball. I valori vanno da 0 a 9 (il predefinito è 9).

--auth-type

Se hai l'autenticazione a due fattori abilitata per il tuo account npm, bun publish ti chiederà una password one-time. Questo può essere fatto attraverso un browser o la CLI. Il flag --auth-type può essere usato per dire al registro npm quale metodo preferisci. I valori possibili sono web e legacy, con web come predefinito.

sh
bun publish --auth-type legacy
...
Questa operazione richiede una password one-time.
Inserisci OTP: 123456
...

--otp

Fornisci una password one-time direttamente alla CLI. Se la password è valida, questo salterà il prompt extra per la password one-time prima della pubblicazione. Esempio di utilizzo:

sh
bun publish --otp 123456

NOTE

`bun publish` rispetta la variabile d'ambiente `NPM_CONFIG_TOKEN` che può essere usata quando si pubblica in github actions o flussi di lavoro automatizzati.

Bun a cura di www.bunjs.com.cn