Skip to content

import Patch from "/snippets/cli/patch.mdx";

يتيح لك bun patch تصحيح node_modules بشكل دائم بطريقة قابلة للصيانة ومتوافقة مع git.

في بعض الأحيان، تحتاج إلى إجراء تغيير صغير على حزمة في node_modules/ لإصلاح خطأ أو إضافة ميزة. يجعل bun patch من السهل القيام بذلك دون بيع الحزمة بأكملها وإعادة استخدام التصحيح عبر تثبيتات متعددة ومشاريع متعددة وأجهزة متعددة.

الميزات:

  • ينشئ ملفات .patch يتم تطبيقها على التبعيات في node_modules عند التثبيت
  • يمكن الالتزام بملفات .patch في مستودعك وإعادة استخدامها عبر تثبيتات ومشاريع وأجهزة متعددة
  • "patchedDependencies" في package.json يتتبع الحزم المصححة
  • يتيح لك bun patch تصحيح الحزم في node_modules/ مع الحفاظ على سلامة الذاكرة المؤقتة العامة لـ Bun
  • اختبر تغييراتك محليًا قبل الالتزام بها باستخدام bun patch --commit <pkg>
  • للحفاظ على مساحة القرص وجعل bun install سريعًا، يتم الالتزام بالحزم المصححة في الذاكرة المؤقتة العامة ومشاركتها عبر المشاريع حيثما أمكن

الخطوة 1. تحضير الحزمة للتصحيح

للبدء، استخدم bun patch <pkg> لتحضير الحزمة للتصحيح:

bash
# يمكنك تزويد اسم الحزمة
bun patch react
# ...وإصدار دقيق في حالة تثبيت إصدارات متعددة
bun patch react@17.0.2
# أو المسار إلى الحزمة
bun patch node_modules/react

ملاحظة

لا تنسَ استدعاء bun patch <pkg>! يضمن هذا أن مجلد الحزمة في node_modules/ يحتوي على نسخة جديدة من الحزمة بدون روابط رمزية/صلبة إلى ذاكرة التخزين المؤقت لـ Bun. إذا نسيت القيام بذلك، فقد ينتهي بك الأمر إلى تحرير الحزمة عالميًا في ذاكرة التخزين المؤقت!

الخطوة 2. اختبار تغييراتك محليًا

يجعل bun patch <pkg> من الآمن تحرير <pkg> في node_modules/ مباشرة، مع الحفاظ على سلامة الذاكرة المؤقتة العامة لـ Bun. يعمل هذا عن طريق إعادة إنشاء نسخة غير مرتبطة من الحزمة في node_modules/ ومقارنتها بالحزمة الأصلية في الذاكرة المؤقتة العامة.

الخطوة 3. الالتزام بتغييراتك

بمجرد رضاك عن تغييراتك، قم بتشغيل bun patch --commit <path or pkg>.

سيقوم Bun بإنشاء ملف تصحيح في patches/، وتحديث package.json وملف القفل الخاص بك، وسيبدأ Bun في استخدام الحزمة المصححة:

bash
# يمكنك تزويد المسار إلى الحزمة المصححة
bun patch --commit node_modules/react

# ... أو اسم الحزمة والإصدار اختياريًا
bun patch --commit react@17.0.2

# اختر الدليل لتخزين ملفات التصحيح
bun patch --commit react --patches-dir=mypatches

# `patch-commit` متاح للتوافق مع pnpm
bun patch-commit react

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