Skip to content

title: "bun publish" keywords: ["bun publish"] description: "استخدم bun publish لنشر حزمة إلى سجل npm"

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

سيقوم bun publish تلقائيًا بتعبئة الحزمة في tarball، وإزالة بروتوكولات الكتالوج ومساحة العمل من package.json (وحل الإصدارات إذا لزم الأمر)، والنشر إلى السجل المحدد في ملفات التكوين الخاصة بك. يتم دعم كل من ملفات bunfig.toml و .npmrc.

sh
## نشر الحزمة من دليل العمل الحالي
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

بدلاً من ذلك، يمكنك تعبئة ونشر الحزمة بشكل منفصل باستخدام bun pm pack متبوعًا بـ bun publish مع المسار إلى tarball الناتج.

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

NOTE

لن يقوم `bun publish` بتشغيل نصوص دورة الحياة (`prepublishOnly/prepack/prepare/postpack/publish/postpublish`) إذا تم توفير مسار tarball. سيتم تشغيل النصوص فقط إذا تم تعبئة الحزمة بواسطة `bun publish`.

--access

يمكن استخدام علامة --access لتعيين مستوى وصول الحزمة التي يتم نشرها. يمكن أن يكون مستوى الوصول public أو restricted. الحزم غير ذات النطاق دائمًا عامة، ومحاولة نشر حزمة غير ذات نطاق مع --access restricted ستؤدي إلى خطأ.

sh
bun publish --access public

يمكن أيضًا تعيين --access في حقل publishConfig في package.json الخاص بك.

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

--tag

تعيين علامة إصدار الحزمة التي يتم نشرها. افتراضيًا، العلامة هي latest. الإصدار الأولي للحزمة دائمًا يُعطى علامة latest بالإضافة إلى العلامة المحددة.

sh
bun publish --tag alpha

يمكن أيضًا تعيين --tag في حقل publishConfig في package.json الخاص بك.

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

--dry-run

يمكن استخدام علامة --dry-run لمحاكاة عملية النشر دون نشر الحزمة فعليًا. هذا مفيد للتحقق من محتوى الحزمة المنشورة دون نشر الحزمة فعليًا.

sh
bun publish --dry-run

--tolerate-republish

الخروج بالرمز 0 بدلاً من 1 إذا كان إصدار الحزمة موجودًا بالفعل. مفيد في CI/CD حيث قد يتم إعادة تشغيل المهام.

sh
bun publish --tolerate-republish

--gzip-level

تحديد مستوى ضغط gzip المستخدم عند تعبئة الحزمة. ينطبق فقط على bun publish بدون وسيط مسار tarball. تتراوح القيم من 0 إلى 9 (الافتراضي هو 9).

--auth-type

إذا كان لديك 2FA ممكّنًا لحساب npm الخاص بك، سيطلب منك bun publish كلمة مرور لمرة واحدة. يمكن القيام بذلك من خلال المتصفح أو CLI. يمكن استخدام علامة --auth-type لإخبار سجل npm بالطريقة التي تفضلها. القيم الممكنة هي web و legacy، مع web كافتراضي.

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

--otp

توفير كلمة مرور لمرة واحدة مباشرة إلى CLI. إذا كانت كلمة المرور صالحة، سيتخطى هذا المطالبة الإضافية لكلمة المرور لمرة واحدة قبل النشر. مثال على الاستخدام:

sh
bun publish --otp 123456

NOTE

يحترم `bun publish` متغير البيئة `NPM_CONFIG_TOKEN` الذي يمكن استخدامه عند النشر في GitHub Actions أو سير العمل المؤتمت.

Bun بواسطة www.bunjs.com.cn تحرير