Facebook telah membuka kod untuk projek DotSlash

Facebook mengumumkan sumber terbuka dotslash, utiliti baris arahan yang direka untuk memudahkan pengedaran set fail boleh laku untuk platform yang berbeza. Utiliti ini direka untuk menjalankan skrip yang mengautomasikan muat turun fail boleh laku yang sesuai untuk platform semasa, menyemak integriti dan pelaksanaannya. Kod utiliti ditulis dalam Rust dan diedarkan di bawah lesen MIT dan Apache 2.0.

Utiliti menyelesaikan masalah yang serupa dengan skrip shell untuk melancarkan fail boleh laku untuk platform semasa, tetapi pada masa yang sama menghapuskan keperluan untuk memasukkan fail boleh laku untuk semua platform yang disokong dalam pakej. DotSlash juga membolehkan anda menyimpan maklumat tentang fail boleh laku yang dikumpul dalam repositori bersama-sama dengan kod, sambil meletakkan fail itu sendiri pada pelayan but berasingan, yang mengelakkan pertumbuhan saiz repositori dan mengurangkan beban pada sistem input/output apabila melakukan operasi pengklonan.

Apabila menggunakan DotSlash, set fail boleh laku khusus platform digantikan dengan skrip tunggal yang merangkumi penerangan logik untuk memilih fail boleh laku berhubung dengan platform yang disokong. Selepas menjalankan skrip DotSlash, fail boleh laku yang diperlukan untuk platform semasa dimuat turun secara dinamik, dibongkar, disahkan terhadap cincang kriptografi dan disimpan dalam cache setempat untuk larian berikutnya. Fail dipindahkan dalam bentuk termampat. Skrip DotSlash boleh dijana secara automatik untuk keluaran yang diterbitkan di GitHub.

Contoh skrip DotSlash untuk mengedarkan binaan Node.js 18.19.0 untuk platform macOS ARM64, macOS x86_64 dan Linux x86_64: #!/usr/bin/env dotslash { “nama”: “node-v18.19.0”, “ platforms”: { "macos-aarch64": { "saiz": 40660307, ​​​​ "hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347"c"cf3c"cf98d347ff34c" : " 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": { "saiz": 42202872, "hash": "blake3", "digest": "37521058114e7f71e0de3fe8042c8fa7908305e9115488c6c29f514e9c2c24e18.19.0c64c18.19.0e18.19.0c64c86c64c44694523c3c72c81c3c30c7c1c09c3c4478c1c02c5c0c04c15c23c3c9c89212c18.19.0c64c18.19.0e18.19.0c64eXNUMXcXNUMXcXNUMXcXNUMXcXNUMXeXNUMXcXNUMXcXNUMXcXNUMXcXNUMX" .gz", "path" : "node-vXNUMX .XNUMX-darwin-xXNUMX/bin/node", "providers": [ { "url": "https://nodejs.org/dist/vXNUMX/node-vXNUMX-darwin- xXNUMX.tar.gz " } ] }, "linux-xXNUMX_XNUMX": { "saiz": XNUMX, "hash": "blakeXNUMX", "cernaan": "XNUMXbXNUMXfcXNUMXaXNUMXbXNUMXbedcXNUMXaXNUMXaXNUMXfafcXNUMXaXNUMXbXNUMXeXNUMXebfXNUMXad" .gz", " laluan ": "node -vXNUMX-linux-xXNUMX/bin/node", "providers": [ { "url": "https://nodejs.org/dist/vXNUMX/node-vXNUMX- linux-xXNUMX.tar .gz" } ] } } }

Sumber: opennet.ru

Tambah komen