لقد فتح Facebook الكود الخاص بمشروع DotSlash

أعلن فيسبوك عن المصدر المفتوح لـ dotslash، وهي أداة مساعدة لسطر الأوامر مصممة لتسهيل توزيع مجموعة من الملفات القابلة للتنفيذ لمنصات مختلفة. تم تصميم الأداة المساعدة لتشغيل البرامج النصية التي تعمل على أتمتة تنزيل الملف القابل للتنفيذ المناسب للنظام الأساسي الحالي، والتحقق من سلامته وتنفيذه. كود الأداة المساعدة مكتوب بلغة Rust ويتم توزيعه بموجب تراخيص MIT وApache 2.0.

تعمل الأداة المساعدة على حل المشكلات المشابهة للبرامج النصية لـ Shell لتشغيل الملفات القابلة للتنفيذ للنظام الأساسي الحالي، ولكنها في الوقت نفسه تلغي الحاجة إلى تضمين الملفات القابلة للتنفيذ لجميع الأنظمة الأساسية المدعومة في الحزمة. يسمح لك DotSlash أيضًا بتخزين معلومات حول الملفات القابلة للتنفيذ التي تم جمعها في مستودع مع التعليمات البرمجية، مع وضع الملفات نفسها على خوادم تمهيد منفصلة، ​​مما يتجنب نمو حجم المستودع ويقلل الحمل على نظام الإدخال/الإخراج عند الأداء عمليات الاستنساخ.

عند استخدام DotSlash، يتم استبدال مجموعة الملفات القابلة للتنفيذ الخاصة بالنظام الأساسي ببرنامج نصي واحد يتضمن وصفًا لمنطق تحديد الملف القابل للتنفيذ فيما يتعلق بالأنظمة الأساسية المدعومة. بعد تشغيل البرنامج النصي DotSlash، يتم تنزيل الملف القابل للتنفيذ المطلوب للنظام الأساسي الحالي ديناميكيًا، وتفكيكه، والتحقق منه مقابل تجزئة تشفير، وتخزينه في ذاكرة تخزين مؤقت محلية لعمليات التشغيل اللاحقة. يتم نقل الملفات في شكل مضغوط. يمكن إنشاء البرامج النصية لـ DotSlash تلقائيًا للإصدارات المنشورة على GitHub.

مثال على برنامج DotSlash النصي لتوزيع إصدارات Node.js 18.19.0 لمنصات macOS ARM64 وmacOS x86_64 وLinux x86_64: #!/usr/bin/env dotslash { "name": "node-v18.19.0"، " "" العقدة- v64 -darwin-arm40660307/bin/node"، "providers": [ { "url": "https://nodejs.org/dist/v3/node-v6-darwin-arm2. tar.gz" } ] }, "macos-x33951_586": { "size": 7670016, "hash": "blake9", "digest": "503e028454f9249e5de556347fe3c98fa347e34c18.19.0c64b18.19.0f18.19.0cd64a86c", "format": "tar.gz", "المسار" : "node-v64 .42202872-darwin-x3/bin/node"، "providers": [ { "url": "https://nodejs.org/dist/v37521058114/node-v7-darwin- x71.tar.gz " } ] }, "linux-x0_3": { "size": 8042, "hash": "blake8"، "digest": "7908305b9115488fc6a29b514bedc9a2a24fafc18.19.0a64b18.19.0e18.19.0ebf64ad86ea64d44694523b3e72dc81"، "format": "tar.gz"، " المسار ": "العقدة -v3-linux-x30/bin/node"، "الموفرون": [ { "url": "https://nodejs.org/dist/v7/node-v1- linux-x09.tar .gz" } ] } } }

المصدر: opennet.ru

إضافة تعليق