Facebook DotSlash projesinin kodunu açtı

Facebook, farklı platformlar için bir dizi yürütülebilir dosyanın dağıtımını kolaylaştırmak üzere tasarlanmış bir komut satırı yardımcı programı olan dotslash'ın açık kaynağını duyurdu. Yardımcı program, mevcut platforma uygun yürütülebilir bir dosyanın indirilmesini otomatikleştiren, bütünlüğünü ve yürütülmesini kontrol eden komut dosyalarını çalıştırmak üzere tasarlanmıştır. Yardımcı program kodu Rust'ta yazılmıştır ve MIT ve Apache 2.0 lisansları altında dağıtılmaktadır.

Yardımcı program, geçerli platform için yürütülebilir dosyaların başlatılmasına ilişkin kabuk komut dosyalarına benzer sorunları çözer, ancak aynı zamanda desteklenen tüm platformlar için yürütülebilir dosyaların pakete dahil edilmesi ihtiyacını da ortadan kaldırır. DotSlash ayrıca, toplanan yürütülebilir dosyalar hakkındaki bilgileri kodla birlikte bir depoda saklamanıza olanak tanırken dosyaları ayrı önyükleme sunucularına yerleştirir; bu, depo boyutunun büyümesini önler ve performans sırasında giriş/çıkış sistemindeki yükü azaltır. klonlama işlemleri.

DotSlash kullanıldığında, platforma özgü yürütülebilir dosyalar kümesi, desteklenen platformlara göre yürütülebilir dosyayı seçme mantığının açıklamasını içeren tek bir komut dosyasıyla değiştirilir. Bir DotSlash betiği çalıştırıldıktan sonra, mevcut platform için gerekli olan yürütülebilir dosya dinamik olarak indirilir, paketten çıkarılır, bir şifreleme karması ile doğrulanır ve sonraki çalıştırmalar için yerel bir önbellekte saklanır. Dosyalar sıkıştırılmış biçimde aktarılır. GitHub'da yayınlanan sürümler için DotSlash komut dosyaları otomatik olarak oluşturulabilir.

MacOS ARM18.19.0, macOS x64_86 ve Linux x64_86 platformları için Node.js 64 yapılarını dağıtmaya yönelik bir DotSlash komut dosyası örneği: #!/usr/bin/env dotslash { “name”: “node-v18.19.0”, “ platformlar”: { "macos-aarch64": { "size": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c3d98c347c34", "format": "tar.gz", " yol": " node-v18.19.0 -darwin-arm64/bin/node", "sağlayıcılar": [ { "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", "yol" : "node-v18.19.0 .64-darwin-x18.19.0/bin/node", "sağlayıcılar": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin- x86.tar.gz " } ] }, "linux-x64_44694523": { "size": 3, "hash": "blake72", "digest": "81b3fc30a7b1bedc09a3a4478fafc1a02b5e0ebf04ad15ea23d3b9e89212dc18.19.0", "format ": "tar.gz", " yol ": "düğüm -v64-linux-x18.19.0/bin/node", "sağlayıcılar": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64- linux-xXNUMX.tar .gz" } ] } } }

Kaynak: opennet.ru

Yorum ekle