Skip to content

يمكن للحزم على npm تعريف نصوص برمجة دورة الحياة في package.json الخاص بها. بعض الأكثر شيوعًا مذكورة أدناه، ولكن هناك العديد من الآخرين.

  • preinstall: يعمل قبل تثبيت الحزمة
  • postinstall: يعمل بعد تثبيت الحزمة
  • preuninstall: يعمل قبل إلغاء تثبيت الحزمة
  • prepublishOnly: يعمل قبل نشر الحزمة

هذه النصوص البرمجية هي أوامر صدفة عشوائية يتوقع من مدير الحزم قراءتها وتنفيذها في الوقت المناسب. لكن تنفيذ نصوص برمجية عشوائية يمثل خطر أمان محتمل، لذا - على عكس عملاء npm الآخرين - لا ينفذ Bun نصوص برمجة دورة حياة عشوائية افتراضيًا.


postinstall

نص البرمجة postinstall مهم بشكل خاص. يُستخدم على نطاق واسع لبناء أو تثبيت الثنائيات الخاصة بالمنصة للحزم التي تم تنفيذها كـ إضافات Node.js أصلية. على سبيل المثال، node-sass هي حزمة شائعة تستخدم postinstall لبناء ملف ثنائي أصلي لـ Sass.

json
{
  "name": "my-app",
  "version": "1.0.0",
  "dependencies": {
    "node-sass": "^6.0.1"
  }
}

trustedDependencies

بدلاً من تنفيذ نصوص برمجية عشوائية، يستخدم Bun نهجًا "افتراضيًا آمنًا". يمكنك إضافة حزم معينة إلى قائمة السماح، وسيقوم Bun بتنفيذ نصوص برمجة دورة الحياة لتلك الحزم. لإخبار Bun بالسماح بنصوص برمجة دورة الحياة لحزمة معينة، أضف اسم الحزمة إلى مصفوفة trustedDependencies في package.json الخاص بك.

json
{
  "name": "my-app",
  "version": "1.0.0",
  "trustedDependencies": ["node-sass"] 
}

بمجرد الإضافة إلى trustedDependencies، قم بتثبيت/إعادة تثبيت الحزمة. سيقرأ Bun هذا الحقل ويشغل نصوص برمجة دورة الحياة لـ my-trusted-package.

يتم السماح بأفضل 500 حزمة npm تحتوي على نصوص برمجة دورة الحياة افتراضيًا. يمكنك رؤية القائمة الكاملة هنا.


--ignore-scripts

لتعطيل نصوص برمجة دورة الحياة لجميع الحزم، استخدم العلامة --ignore-scripts.

bash
bun install --ignore-scripts

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