import Publish from "/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
合計ファイル数:4
Shasum: 79e2b4377b63f4de38dc7ea6e5e9dbee08311a69
Integrity: sha512-6QSNlDdSwyG/+[...]X6wXHriDWr6fA==
展開サイズ:1.1KB
パックサイズ:0.76KB
タグ:latest
アクセス:default
レジストリ:http://localhost:4873/
+ publish-1@1.0.0または、bun pm pack を使用してパッケージを個別にパックし、出力された tarball へのパスを指定して bun publish を実行することで、個別にパックして公開できます。
bun pm pack
...
bun publish ./package.tgzNOTE
tarball パスが提供された場合、`bun publish` はライフサイクルスクリプト(`prepublishOnly/prepack/prepare/postpack/publish/postpublish`)を実行しません。スクリプトは `bun publish` によってパッケージがパックされた場合にのみ実行されます。--access
--access フラグを使用して、公開されるパッケージのアクセスレベルを設定できます。アクセスレベルは public または restricted のいずれかになります。スコープなしパッケージは常に public であり、--access restricted でスコープなしパッケージを公開しようとするとエラーになります。
bun publish --access public--access は package.json の publishConfig フィールドでも設定できます。
{
"publishConfig": {
"access": "restricted"
}
}--tag
公開されるパッケージバージョンのタグを設定します。デフォルトでは、タグは latest です。パッケージの初期バージョンは、指定されたタグに加えて、常に latest タグが付けられます。
bun publish --tag alpha--tag は package.json の publishConfig フィールドでも設定できます。
{
"publishConfig": {
"tag": "next"
}
}--dry-run
--dry-run フラグを使用して、実際にパッケージを公開せずに公開プロセスをシミュレートできます。これは、実際に公開せずに公開パッケージの内容を確認するのに役立ちます。
bun publish --dry-run--tolerate-republish
パッケージバージョンが既に存在する場合に、コード 1 ではなくコード 0 で終了します。ジョブが再実行される可能性がある CI/CD で役立ちます。
bun publish --tolerate-republish--gzip-level
パッケージをパックするときに使用する gzip 圧縮レベルを指定します。tarball パス引数なしの bun publish にのみ適用されます。値の範囲は 0 から 9 です(デフォルトは 9)。
--auth-type
npm アカウントで 2FA を有効にしている場合、bun publish はワンタイムパスワードの入力を促します。これはブラウザまたは CLI を通じて行えます。--auth-type フラグを使用して、npm レジストリに希望する方法を指示できます。可能な値は web と legacy で、デフォルトは web です。
bun publish --auth-type legacy
...
この操作にはワンタイムパスワードが必要です。
OTP を入力:123456
...--otp
ワンタイムパスワードを CLI に直接提供します。パスワードが有効な場合、公開前にワンタイムパスワードの追加プロンプトをスキップします。使用例:
bun publish --otp 123456NOTE
`bun publish` は `NPM_CONFIG_TOKEN` 環境変数を尊重します。これは github actions や自動化されたワークフローで公開するときに使用できます。