Facebook te louvri kòd la pou pwojè a DotSlash

Facebook te anonse sous louvri nan dotslash, yon sèvis piblik liy kòmand ki fèt pou fè li pi fasil yo distribye yon seri dosye ègzèkutabl pou diferan tribin. Se sèvis piblik la fèt pou kouri scripts ki otomatize download yon dosye ègzèkutabl apwopriye pou platfòm aktyèl la, tcheke entegrite li yo ak ekzekisyon. Kòd sèvis piblik la ekri nan Rust epi li distribye anba lisans MIT ak Apache 2.0.

Sèvis piblik la rezoud pwoblèm ki sanble ak scripts koki pou lanse dosye ègzèkutabl pou platfòm aktyèl la, men an menm tan an elimine nesesite pou enkli dosye ègzèkutabl pou tout platfòm sipòte nan pake a. DotSlash pèmèt ou tou estoke enfòmasyon sou dosye yo ègzèkutabl kolekte nan yon depo ansanm ak kòd la, pandan y ap mete dosye yo tèt yo sou sèvè bòt separe, ki evite kwasans lan nan gwosè a depo epi redwi chaj la sou sistèm nan opinyon / pwodiksyon lè w ap fè travay. operasyon klonaj.

Lè w ap itilize DotSlash, yo ranplase dosye ègzèkutabl espesifik pou platfòm la ak yon sèl script ki gen ladan l yon deskripsyon lojik pou chwazi fichye ègzèkutabl la an relasyon ak platfòm sipòte yo. Apre yo fin kouri yon script DotSlash, yo telechaje dosye ègzèkutabl ki nesesè pou platfòm aktyèl la dinamik, depake, verifye kont yon hash kriptografik, epi estoke nan yon kachèt lokal pou kouri ki vin apre yo. Fichye yo transfere nan fòm konprese. Scripts DotSlash yo ka pwodwi otomatikman pou degaje ki pibliye sou GitHub.

Yon egzanp yon script DotSlash pou distribye Node.js 18.19.0 bati pou macOS ARM64, macOS x86_64 ak Linux x86_64 platfòm: #!/usr/bin/env dotslash { "non": "node-v18.19.0", " platfòm": { "macos-aarch64": { "gwosè": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ffc556347": "3c98": "347c34": "18.19.0c64" chemen": " 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": { "gwosè": 37521058114, "hash": "blake7", "digest": "71e0f3e8042de8fe7908305c9115488fa6e29f514c9fa2e24c18.19.0fa64e18.19.0c18.19.0e64f86e64de44694523fe3c72fa81 "tar.gz", "chemen" : "node-v3 .30-darwin-x7/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v1/node-v09-darwin- x3.tar.gz " } ] }, "linux-x4478_1": { "gwosè": 02, "hash": "blake5", "digest": "0b04fc15a23b3bedc9a89212a18.19.0fafc64a18.19.0b18.19.0d64eXNUMXeebXNUMXdXNUMXeXNUMXaXNUMXbXNUMXdXNUMXeXNUMXaXNUMXbXNUMXdXNUMXeXNUMXaXNUMXbXNUMXdXNUMXeXNUMX ": "tar.gz", " chemen ": "node -vXNUMX-linux-xXNUMX/bin/node", "providers": [ { "url": "https://nodejs.org/dist/vXNUMX/node-vXNUMX- linux-xXNUMX.tar .gz" } ] } } }

Sous: opennet.ru

Add nouvo kòmantè