Facebook har åpnet koden for DotSlash-prosjektet

Facebook annonserte åpen kildekode til dotslash, et kommandolinjeverktøy designet for å gjøre det enklere å distribuere et sett med kjørbare filer for forskjellige plattformer. Verktøyet er designet for å kjøre skript som automatiserer nedlastingen av en kjørbar fil som passer for den gjeldende plattformen, og kontrollerer dens integritet og utførelse. Verktøykoden er skrevet i Rust og distribueres under MIT- og Apache 2.0-lisensene.

Verktøyet løser problemer som ligner på shell-skript for å lansere kjørbare filer for gjeldende plattform, men eliminerer samtidig behovet for å inkludere kjørbare filer for alle støttede plattformer i pakken. DotSlash lar deg også lagre informasjon om de innsamlede kjørbare filene i et depot sammen med koden, mens du plasserer selve filene på separate oppstartsservere, noe som unngår vekst av depotstørrelsen og reduserer belastningen på input/output-systemet når du utfører kloningsoperasjoner.

Når du bruker DotSlash, erstattes settet med plattformspesifikke kjørbare filer med et enkelt skript som inkluderer en beskrivelse av logikken for å velge den kjørbare filen i forhold til de støttede plattformene. Etter å ha kjørt et DotSlash-skript, blir den kjørbare filen som kreves for gjeldende plattform dynamisk lastet ned, pakket ut, verifisert mot en kryptografisk hash og lagret i en lokal hurtigbuffer for påfølgende kjøringer. Filer overføres i komprimert form. DotSlash-skript kan genereres automatisk for utgivelser publisert på GitHub.

Et eksempel på et DotSlash-skript for distribusjon av Node.js 18.19.0-bygg for macOS ARM64, macOS x86_64 og Linux x86_64-plattformene: #!/usr/bin/env dotslash { "name": "node-v18.19.0", " platforms”: { "macos-aarch64": { "size": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347cdtar" "path "3c98cdtar":path "c347cdtar":cformat "34cdtar" " 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": { "size": 42202872, "hash": "blake3", "digest": "37521058114e7f71e0de3fe8042c8fa7908305e9115488c6" "format" " .gz", "bane" : "node-v29 .514-darwin-x9/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v2/node-v24-darwin- x18.19.0.tar.gz " } ] }, "linux-x64_18.19.0": { "size": 18.19.0, "hash": "blake64", "digest": "86b64fc44694523a3b72bedc81a3a30fafc7a1b09e3ebformat" : "tar.gz", " bane ": "node -v4478-linux-x1/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v02/node-v5- linux-x0.tar .gz" } ] } } }

Kilde: opennet.ru

Legg til en kommentar