Facebook telah membuka kode untuk proyek DotSlash

Facebook mengumumkan open source dotslash, sebuah utilitas baris perintah yang dirancang untuk memudahkan pendistribusian sekumpulan file yang dapat dieksekusi untuk berbagai platform. Utilitas ini dirancang untuk menjalankan skrip yang mengotomatiskan pengunduhan file yang dapat dieksekusi yang sesuai untuk platform saat ini, memeriksa integritas dan eksekusinya. Kode utilitas ditulis dalam Rust dan didistribusikan di bawah lisensi MIT dan Apache 2.0.

Utilitas ini memecahkan masalah yang mirip dengan skrip shell untuk meluncurkan file yang dapat dieksekusi untuk platform saat ini, tetapi pada saat yang sama menghilangkan kebutuhan untuk menyertakan file yang dapat dieksekusi untuk semua platform yang didukung dalam paket. DotSlash juga memungkinkan Anda untuk menyimpan informasi tentang file eksekusi yang dikumpulkan dalam repositori bersama dengan kodenya, sambil menempatkan file itu sendiri di server boot terpisah, yang menghindari pertumbuhan ukuran repositori dan mengurangi beban pada sistem input/output saat melakukan operasi kloning.

Saat menggunakan DotSlash, kumpulan file yang dapat dieksekusi khusus platform diganti dengan skrip tunggal yang menyertakan deskripsi logika untuk memilih file yang dapat dieksekusi sehubungan dengan platform yang didukung. Setelah menjalankan skrip DotSlash, file yang dapat dieksekusi yang diperlukan untuk platform saat ini diunduh secara dinamis, dibongkar, diverifikasi terhadap hash kriptografi, dan disimpan dalam cache lokal untuk dijalankan selanjutnya. File ditransfer dalam bentuk terkompresi. Skrip DotSlash dapat dibuat secara otomatis untuk rilis yang dipublikasikan di GitHub.

Contoh skrip DotSlash untuk mendistribusikan build Node.js 18.19.0 untuk platform macOS ARM64, macOS x86_64, dan Linux x86_64: #!/usr/bin/env dotlash { “name”: “node-v18.19.0”, “ platform”: { "macos-aarch64": { "size": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c3d98c347c34", "format": "tar.gz", "path": " node- v18.19.0 -darwin-arm64/bin/node", "penyedia": [ { "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 .64-darwin-x18.19.0/bin/node", "penyedia": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64-darwin- PERLUASAN X86_64 ": {" size ": 44694523," hash ":" blake3 "," Digest ":" 72b81b3e30b7b1edc09a3a4478fafc1a02b5e0b04dc15a23a3fafc tar.gz "," jalur ": "node -v9-linux-x89212/bin/node", "penyedia": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v64- linux-x18.19.0.tar .gz" } ] } } }

Sumber: opennet.ru

Tambah komentar