Facebook kompaniyasi DotSlash loyihasi uchun kodni ochdi

Facebook turli platformalar uchun bajariladigan fayllar to'plamini tarqatishni osonlashtirish uchun mo'ljallangan buyruq qatori yordam dasturi dotslashning ochiq manbasini e'lon qildi. Yordamchi dastur joriy platformaga mos keladigan bajariladigan faylni yuklab olishni avtomatlashtiradigan, uning yaxlitligi va bajarilishini tekshiradigan skriptlarni ishga tushirish uchun mo'ljallangan. Foydali dastur kodi Rust-da yozilgan va MIT va Apache 2.0 litsenziyalari ostida tarqatiladi.

Yordamchi dastur joriy platforma uchun bajariladigan fayllarni ishga tushirish uchun qobiq skriptlariga o'xshash muammolarni hal qiladi, lekin shu bilan birga paketga barcha qo'llab-quvvatlanadigan platformalar uchun bajariladigan fayllarni kiritish zaruratini yo'q qiladi. DotSlash shuningdek, to'plangan bajariladigan fayllar haqidagi ma'lumotlarni kod bilan birga omborda saqlashga imkon beradi, shu bilan birga fayllarning o'zini alohida yuklash serverlariga joylashtiradi, bu esa ombor hajmining o'sishiga yo'l qo'ymaydi va bajarishda kiritish/chiqarish tizimiga yukni kamaytiradi. klonlash operatsiyalari.

DotSlash-dan foydalanilganda, platformaga xos bajariladigan fayllar to'plami qo'llab-quvvatlanadigan platformalarga nisbatan bajariladigan faylni tanlash mantiqining tavsifini o'z ichiga olgan bitta skript bilan almashtiriladi. DotSlash skriptini ishga tushirgandan so'ng, joriy platforma uchun zarur bo'lgan bajariladigan fayl dinamik ravishda yuklab olinadi, paketdan chiqariladi, kriptografik xesh bilan tekshiriladi va keyingi ishga tushirish uchun mahalliy keshda saqlanadi. Fayllar siqilgan shaklda uzatiladi. DotSlash skriptlari GitHub-da chop etilgan relizlar uchun avtomatik ravishda yaratilishi mumkin.

macOS ARM18.19.0, macOS x64_86 va Linux x64_86 platformalari uchun Node.js 64 tuzilmalarini tarqatish uchun DotSlash skriptiga misol: #!/usr/bin/env dotslash { “name”: “node-v18.19.0”, “ platformalar”: { "macos-aarch64": { "hajmi": 40660307, ​​"xesh": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5bf556347d3ff98d347", "34", "18.19.0". "yo'l": " tugun- v64 -darwin-arm18.19.0/bin/node", "provayderlar": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin-arm86. tar.gz" } ] }, "macos-x64_42202872": { "o'lcham": 3, "xesh": "blake37521058114", "digest": "7e71f0e3de8042fe8c7908305fa9115488c6c" ": "tar.gz", "yo'l" : "tugun-v29 .514-darwin-x9/bin/node", "provayderlar": [ { "url": "https://nodejs.org/dist/v2/node-v24-darwin- x18.19.0.tar.gz " } ] }, "linux-x64_18.19.0": { "hajmi": 18.19.0, "xesh": "blake64", "digest": "86b64fc44694523a3b72bedc81a3a30fafc7a1b09e3ea4478b1ecd02ea5" ": "tar.gz", " yo'l ": "tugun -v0-linux-x04/bin/node", "provayderlar": [ { "url": "https://nodejs.org/dist/v15/node-v23- linux-x3.tar .gz" } ] } }

Manba: opennet.ru

a Izoh qo'shish