Giablihan sa Facebook ang code alang sa proyekto sa DotSlash

Gipahibalo sa Facebook ang bukas nga tinubdan sa dotslash, usa ka command-line utility nga gidisenyo aron mas sayon ​​​​ang pag-apod-apod sa usa ka set sa executable files alang sa lain-laing mga plataporma. Ang utility gidisenyo sa pagpadagan sa mga script nga automate ang pag-download sa usa ka executable file nga angay alang sa kasamtangan nga plataporma, pagsusi sa integridad ug pagpatuman niini. Ang utility code gisulat sa Rust ug giapod-apod ubos sa MIT ug Apache 2.0 nga mga lisensya.

Gisulbad sa utility ang mga problema nga susama sa mga script sa shell alang sa paglansad sa mga executable file alang sa karon nga plataporma, apan sa samang higayon giwagtang ang panginahanglan nga ilakip ang mga executable file alang sa tanan nga gisuportahan nga mga platform sa package. Gitugotan ka usab sa DotSlash nga magtipig kasayuran bahin sa nakolekta nga mga executable nga mga file sa usa ka repository kauban ang code, samtang gibutang ang mga file sa ilang kaugalingon sa lainlain nga mga boot server, nga naglikay sa pagtubo sa gidak-on sa repositoryo ug gipakunhod ang load sa sistema sa input / output kung nagpahigayon. cloning nga mga operasyon.

Kung gigamit ang DotSlash, ang set sa mga executable file nga espesipiko sa platform gipulihan sa usa ka script nga naglakip sa usa ka paghulagway sa lohika alang sa pagpili sa executable file nga may kalabotan sa gisuportahan nga mga platform. Human sa pagpadagan sa usa ka DotSlash script, ang executable nga file nga gikinahanglan alang sa kasamtangan nga plataporma dinamikong gi-download, gi-unpack, gipamatud-an batok sa usa ka cryptographic hash, ug gitipigan sa usa ka lokal nga cache alang sa sunod nga mga dagan. Ang mga file gibalhin sa compressed nga porma. Ang mga script sa DotSlash mahimong awtomatiko nga mamugna alang sa mga pagpagawas nga gipatik sa GitHub.

Usa ka pananglitan sa usa ka DotSlash nga script alang sa pag-apod-apod sa Node.js 18.19.0 nga gitukod alang sa macOS ARM64, macOS x86_64 ug Linux x86_64 nga mga plataporma: #!/usr/bin/env dotslash {"ngalan": "node-v18.19.0", " platforms”: { "macos-aarch64": { "size": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c" : " node- v3 -darwin-arm98/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v347/node-v34-darwin-arm18.19.0. tar.gz" } ] }, "macos-x64_18.19.0": { "gidak-on": 18.19.0, "hash": "blake64", "digest": "86e64f42202872e3de37521058114fe7c71fa0e3c8042fa8e7908305cd" .gz", "dalan" : "node-v9115488 .6-darwin-x29/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v514/node-v9-darwin- x2.tar.gz " } ] }, "linux-x24_18.19.0": { "gidak-on": 64, "hash": "blake18.19.0", "digest": "18.19.0b64fc86a64b44694523bedc3a72a81fafc3a30b7e1ebf09d"; .gz", " dalan ": "node -v3-linux-x4478/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v1/node-v02- linux-x5.tar .gz" } ] } } }

Source: opennet.ru

Idugang sa usa ka comment