Facebook huet de Code fir den DotSlash Projet opgemaach

Facebook huet d'Open Source vun Dotslash ugekënnegt, e Kommandozeilen Utility entwéckelt fir et méi einfach ze maachen eng Rei vun ausführbaren Dateien fir verschidde Plattformen ze verdeelen. D'Utility ass entwéckelt fir Skripte auszeféieren déi den Download vun enger ausführbarer Datei automatiséieren déi passend ass fir déi aktuell Plattform, seng Integritéit an Ausféierung ze kontrolléieren. Den Utilitycode ass a Rust geschriwwen a gëtt ënner de MIT an Apache 2.0 Lizenzen verdeelt.

D'Utility léist Probleemer ähnlech wéi Shell-Skripte fir ausführbar Dateien fir déi aktuell Plattform ze lancéieren, awer gläichzäiteg eliminéiert d'Notzung fir ausführbar Dateie fir all ënnerstëtzte Plattformen am Package ze enthalen. DotSlash erlaabt Iech och Informatioun iwwer déi gesammelten ausführbar Dateien an engem Repository zesumme mam Code ze späicheren, wärend d'Dateien selwer op getrennten Bootserver plazéiert, wat de Wuesstum vun der Repositorygréisst vermeit an d'Laascht op den Input / Output System reduzéiert beim Ausféieren. Klonen Operatiounen.

Wann Dir DotSlash benotzt, gëtt de Set vu plattformspezifeschen ausführbaren Dateien duerch en eenzegt Skript ersat, deen eng Beschreiwung vun der Logik enthält fir déi ausführbar Datei am Zesummenhang mat den ënnerstëtzten Plattformen ze wielen. Nodeems Dir en DotSlash Skript ausgefouert hutt, gëtt déi ausführbar Datei déi fir déi aktuell Plattform erfuerderlech ass dynamesch erofgelueden, ausgepackt, verifizéiert géint e kryptographesche Hash, an an engem lokalen Cache gespäichert fir spéider Runen. Dateien ginn a kompriméierter Form transferéiert. DotSlash Scripte kënnen automatesch generéiert ginn fir Verëffentlechungen op GitHub publizéiert.

E Beispill vun engem DotSlash Skript fir Node.js 18.19.0 Builds fir d'macOS ARM64, macOS x86_64 a Linux x86_64 Plattformen ze verdeelen: #!/usr/bin/env dotslash {"name": "node-v18.19.0", " platforms": { "macos-aarch64": { "Gréisst": 40660307, ​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347cd": "path": "cgformat":cgformat":cg" " 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": { "Gréisst": 18.19.0, "hash": "blake64", "digest": "86e64f42202872e3de37521058114fe7c71fa0e3c8042" "aformat", "a8" .gz", "Wee" : "node-v7908305 .9115488-darwin-x6/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v29/node-v514-darwin- x9.tar.gz " } ] }, "linux-x2_24": { "Gréisst": 18.19.0, "hash": "blake64", "digest": "18.19.0b18.19.0fc64a86b64bedc44694523a3a72fafc81a3b30e7ebaf1ed" : "tar.gz", " path ": "node -v09-linux-x3/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v4478/node-v1- linux-x02.tar .gz" } ] } } }

Source: opennet.ru

Setzt e Commentaire