Skip to content

توفر مجموعة أوامر bun pm مجموعة من الأدوات للعمل مع مدير حزم Bun.

pack

لإنشاء tarball لمساحة العمل الحالية:

bash
bun pm pack

ينشئ هذا الأمر ملف .tgz يحتوي على جميع الملفات التي سيتم نشرها على npm، متبعًا نفس القواعد مثل npm pack.

أمثلة

الاستخدام الأساسي:

bash
bun pm pack
# ينشئ my-package-1.0.0.tgz في الدليل الحالي

الوضع الهادئ للبرمجة النصية:

bash
TARBALL=$(bun pm pack --quiet)
echo "تم الإنشاء: $TARBALL"
txt
تم الإنشاء: my-package-1.0.0.tgz

وجهة مخصصة:

bash
bun pm pack --destination ./dist
# يحفظ tarball في دليل ./dist/

الخيارات

  • --dry-run: تنفيذ جميع المهام باستثناء كتابة tarball على القرص. يعرض ما سيتم تضمينه.
  • --destination <dir>: تحديد الدليل الذي سيتم حفظ tarball فيه.
  • --filename <name>: تحديد اسم ملف دقيق لـ tarball لحفظه.
  • --ignore-scripts: تخطي تشغيل نصوص pre/postpack و prepare.
  • --gzip-level <0-9>: تعيين مستوى ضغط مخصص لـ gzip، يتراوح من 0 إلى 9 (الافتراضي هو 9).
  • --quiet: إخراج اسم ملف tarball فقط، وكتم الإخراج المفصل. مثالي للبرمجة النصية والأتمتة.

ملاحظة: لا يمكن استخدام --filename و --destination في نفس الوقت.

أوضاع الإخراج

الإخراج الافتراضي:

bash
bun pm pack
txt
bun pack v1.2.19

packed 131B package.json
packed 40B index.js

my-package-1.0.0.tgz

Total files: 2
Shasum: f2451d6eb1e818f500a791d9aace80b394258a90
Unpacked size: 171B
Packed size: 249B

الإخراج الهادئ:

bash
bun pm pack --quiet
txt
my-package-1.0.0.tgz

علامة --quiet مفيدة بشكل خاص لسير عمل الأتمتة حيث تحتاج إلى التقاط اسم ملف tarball المولد لمزيد من المعالجة.

bin

لطباعة المسار إلى دليل bin للمشروع المحلي:

bash
bun pm bin
txt
/path/to/current/project/node_modules/.bin

لطباعة المسار إلى دليل bin العام:

bash
bun pm bin -g
txt
<$HOME>/.bun/bin

ls

لطباعة قائمة بالتبعيات المثبتة في المشروع الحالي وإصداراتها المحلولة، باستثناء تبعياتها.

bash
bun pm ls
# أو
bun list
txt
/path/to/project node_modules (135)
├── eslint@8.38.0
├── react@18.2.0
├── react-dom@18.2.0
├── typescript@5.0.4
└── zod@3.21.4

لطباعة جميع التبعيات المثبتة، بما في ذلك تبعيات الرتبة n.

bash
bun pm ls --all
# أو
bun list --all
txt
/path/to/project node_modules (135)
├── @eslint-community/eslint-utils@4.4.0
├── @eslint-community/regexpp@4.5.0
├── @eslint/eslintrc@2.0.2
├── @eslint/js@8.38.0
├── @nodelib/fs.scandir@2.1.5
├── @nodelib/fs.stat@2.0.5
├── @nodelib/fs.walk@1.2.8
├── acorn@8.8.2
├── acorn-jsx@5.3.2
├── ajv@6.12.6
├── ansi-regex@5.0.1
├── ...

whoami

يطبع اسم مستخدم npm الخاص بك. يتطلب أن تكون مسجل الدخول (bunx npm login) مع بيانات الاعتماد في bunfig.toml أو .npmrc:

bash
bun pm whoami

hash

لتوليد وطباعة تجزئة ملف القفل الحالي:

bash
bun pm hash

لطباعة السلسلة المستخدمة لتجزئة ملف القفل:

bash
bun pm hash-string

لطباعة التجزئة المخزنة في ملف القفل الحالي:

bash
bun pm hash-print

cache

لطباعة المسار إلى ذاكرة التخزين المؤقتة العامة للوحدات النمطية في Bun:

bash
bun pm cache

لمسح ذاكرة التخزين المؤقتة العامة للوحدات النمطية في Bun:

bash
bun pm cache rm

migrate

لترحيل ملف قفل مدير حزم آخر دون تثبيت أي شيء:

bash
bun pm migrate

untrusted

لطباعة التبعيات غير الموثوقة الحالية مع النصوص البرمجية:

bash
bun pm untrusted
txt
./node_modules/@biomejs/biome @1.8.3
 » [postinstall]: node scripts/postinstall.js

These dependencies had their lifecycle scripts blocked during install.

trust

لتشغيل النصوص البرمجية للتبعيات غير الموثوقة والإضافة إلى trustedDependencies:

bash
bun pm trust <names>

خيارات لأمر trust:

  • --all: الوثوق بجميع التبعيات غير الموثوقة.

default-trusted

لطباعة قائمة التبعيات الموثوقة الافتراضية:

bash
bun pm default-trusted

راجع القائمة الحالية على GitHub هنا

version

لعرض إصدار الحزمة الحالية والمساعدة:

bash
bun pm version
txt
bun pm version v1.3.3 (ca7428e9)
Current package version: v1.0.0

Increment:
  patch      1.0.0 → 1.0.1
  minor      1.0.0 → 1.1.0
  major      1.0.0 → 2.0.0
  prerelease 1.0.0 → 1.0.1-0
  prepatch   1.0.0 → 1.0.1-0
  preminor   1.0.0 → 1.1.0-0
  premajor   1.0.0 → 2.0.0-0
  from-git   استخدام الإصدار من أحدث علامة git
  1.2.3      تعيين إصدار محدد

Options:
  --no-git-tag-version تخطي عمليات git
  --allow-same-version منع طرح خطأ إذا كان الإصدار نفسه
  --message=<val>, -m  رسالة التزام مخصصة، استخدم %s لاستبدال الإصدار
  --preid=<val>        معرف الإصدار الأولي (مثل beta → 1.0.1-beta.0)
  --force, -f          تجاوز فحص سجل git غير النظيف

Examples:
  bun pm version patch
  bun pm version 1.2.3 --no-git-tag-version
  bun pm version prerelease --preid beta --message "Release beta: %s"

لرفع الإصدار في package.json:

bash
bun pm version patch
txt
v1.0.1

يدعم patch و minor و major و premajor و preminor و prepatch و prerelease و from-git أو إصدارات محددة مثل 1.2.3. ينشئ التزام git وعلامة افتراضيًا ما لم يتم استخدام --no-git-tag-version للتخطي.

pkg

إدارة بيانات package.json مع عمليات get و set و delete و fix.

جميع الأوامر تدعم تدوين النقطة والأقواس:

bash
scripts.build              # تدوين النقطة
contributors[0]            # الوصول إلى المصفوفة
workspaces.0               # النقطة مع الفهرس الرقمي
scripts[test:watch]        # الأقواس للأحرف الخاصة

أمثلة:

bash
# get
bun pm pkg get name                               # خاصية واحدة
bun pm pkg get name version                       # خصائص متعددة
bun pm pkg get                                    # package.json بالكامل
bun pm pkg get scripts.build                      # خاصية متداخلة

# set
bun pm pkg set name="my-package"                  # خاصية بسيطة
bun pm pkg set scripts.test="jest" version=2.0.0  # خصائص متعددة
bun pm pkg set {"private":"true"} --json          # قيم JSON مع علامة --json

# delete
bun pm pkg delete description                     # خاصية واحدة
bun pm pkg delete scripts.test contributors[0]    # متعددة/متداخلة

# fix
bun pm pkg fix                                    # إصلاح المشاكل الشائعة تلقائيًا

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