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 تحرير