نواة Discourse تتجه لاستخدام pnpm لإدارة حزم JS

التحسينات في السرعة ملحوظة بشكل أكبر عند البدء من الصفر. على سبيل المثال، في بيئة CI الخاصة بنا باستخدام GitHub actions، يستغرق yarn حوالي 90 ثانية أو أكثر، بينما يكمل pnpm في حوالي 15 ثانية.

قد يكون ذلك بسبب أننا لم نقم بتحديث الصورة الأساسية منذ إجراء هذا التغيير. لذلك، في النسخة المستقرة، تكون تبعيات yarn مثبتة بالفعل. بينما في النسخة التي اجتازت الاختبارات، يجب التخلص من تبعيات yarn قبل إجراء تثبيت pnpm من البداية.

لذلك، سيتحسن الوضع بالنسبة للنسخة التي اجتازت الاختبارات بعد التحديث التالي للصورة الأساسية.

6 إعجابات

\u003csmall\u003eنحن لا نستخدم دوكر… :grimacing:\u003c/small\u003e

لذا هذه مشكلة في بيئتنا المخصصة.
سأتعمق في هذا وأرى ما الخطأ الذي يحدث.

4 إعجابات

أتلقى أخطاءً بشأن إصدارات pnpm. تم توجيهي لتشغيل pnpm self-update لتشغيل أحدث إصدار من pnpm، لذا أقوم بتشغيل الإصدار 10.3.0 الآن. ولكن يبدو بعد ذلك أن الهيكل الأساسي للقالب أو المكونات الأخرى تتوقع إصدار pnpm محددًا؟ على سبيل المثال:

إعجاب واحد (1)

نعم، لقد تغير تنسيق ملف القفل في الإصدار 10.0، ولم يدعمه GitHub’s dependabot بعد، لذلك قمنا بتثبيت core وجميع السمات/الإضافات على الإصدار 9.x.

من الناحية النظرية، من المفترض أن يعود تلقائيًا إلى الإصدار 9.x… ولكن يبدو أنه لا يعمل لدى الجميع :cry:

إذا قمت بتشغيل pnpm self-update 9، هل يؤدي ذلك إلى إصلاح الأمور مرة أخرى؟

4 إعجابات

نعم، هذا يعمل! :sunglasses:

3 إعجابات