أعلن فيسبوك عن المصدر المفتوح لـ 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", "platforms": { "macos-aarch64": { "size": 40660307, "hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c3d98c347c34", "format": "tar.gz", "path": "node-v18.19.0-darwin-arm64/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64.tar.gz" } ] }, "macos-x86_64": { "size": 42202872, "hash": "blake3", "digest": "37521058114e7f71e0de3fe8042c8fa7908305e9115488c6c29b514f9cd2a24c", "format": "tar.gz", "path": "node-v18.19.0-darwin-x64/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-x64.tar.gz" } ] }, "linux-x86_64": { "size": 44694523, "hash": "blake3", "digest": "72b81fc3a30b7bedc1a09a3fafc4478a1b02e5ebf0ad04ea15d23b3e9dc89212", "format": "tar.gz", "path": "node-v18.19.0-linux-x64/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-linux-x64.tar.gz" } ] } } }
المصدر: opennet.ru
