Facebook har åbnet koden til DotSlash-projektet

Facebook annoncerede open source af dotslash, et kommandolinjeværktøj designet til at gøre det lettere at distribuere et sæt eksekverbare filer til forskellige platforme. Hjælpeprogrammet er designet til at køre scripts, der automatiserer download af en eksekverbar fil, der passer til den aktuelle platform, og kontrollerer dens integritet og eksekvering. Hjælpekoden er skrevet i Rust og distribueres under MIT- og Apache 2.0-licenserne.

Hjælpeprogrammet løser problemer svarende til shell-scripts til at starte eksekverbare filer til den aktuelle platform, men eliminerer samtidig behovet for at inkludere eksekverbare filer for alle understøttede platforme i pakken. DotSlash giver dig også mulighed for at gemme information om de indsamlede eksekverbare filer i et lager sammen med koden, mens du placerer selve filerne på separate boot-servere, hvilket undgår væksten i lagerstørrelsen og reducerer belastningen på input/output-systemet, når du udfører kloningsoperationer.

Når du bruger DotSlash, erstattes sættet af platformsspecifikke eksekverbare filer med et enkelt script, der indeholder en beskrivelse af logikken for at vælge den eksekverbare fil i forhold til de understøttede platforme. Efter at have kørt et DotSlash-script, downloades den eksekverbare fil, der kræves til den aktuelle platform, dynamisk, pakkes ud, verificeres mod en kryptografisk hash og gemmes i en lokal cache til efterfølgende kørsler. Filer overføres i komprimeret form. DotSlash-scripts kan genereres automatisk for udgivelser offentliggjort på GitHub.

Et eksempel på et DotSlash script til distribution af Node.js 18.19.0 builds til macOS ARM64, macOS x86_64 og Linux x86_64 platforme: #!/usr/bin/env dotslash { "name": "node-v18.19.0", " platforme”: { "macos-aarch64": { "størrelse": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c.format "3c98cdtar":path "347c34cdtar":path "18.19.0c64cdtar":c. " node- v18.19.0 -darwin-arm18.19.0/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v64/node-v86-darwin-arm64. tar.gz" } ] }, "macos-x42202872_3": { "size": 37521058114, "hash": "blake7", "digest": "71e0f3e8042de8fe7908305c9115488fa6e29:cformat" " .gz", "sti" : "node-v514 .9-darwin-x2/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v24/node-v18.19.0-darwin- x64.tar.gz " } ] }, "linux-x18.19.0_18.19.0": { "size": 64, "hash": "blake86", "digest": "64b44694523fc3a72b81bedc3a30a7fafc1a09b3e4478ebafformat"1b02e5ebfformat"0ebfformat", : "tar.gz", " sti ": "node -v04-linux-x15/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v23/node-v3- linux-x9.tar .gz" } ] } } }

Kilde: opennet.ru

Tilføj en kommentar