Facebook DotSlash жобасының кодын ашты

Facebook әртүрлі платформалар үшін орындалатын файлдар жинағын таратуды жеңілдетуге арналған пәрмен жолы утилитасы dotslash ашық көзін жариялады. Утилита ағымдағы платформаға жарамды орындалатын файлды жүктеуді автоматтандыратын, оның тұтастығы мен орындалуын тексеретін сценарийлерді іске қосуға арналған. Қызметтік код Rust тілінде жазылған және MIT және Apache 2.0 лицензиялары бойынша таратылады.

Утилита ағымдағы платформа үшін орындалатын файлдарды іске қосу үшін қабық сценарийлеріне ұқсас мәселелерді шешеді, бірақ сонымен бірге пакетке барлық қолдау көрсетілетін платформалар үшін орындалатын файлдарды қосу қажеттілігін жояды. DotSlash сонымен қатар жинақталған орындалатын файлдар туралы ақпаратты кодпен бірге репозиторийде сақтауға мүмкіндік береді, сонымен бірге файлдардың өзін бөлек жүктеу серверлеріне орналастырады, бұл репозитарий көлемінің өсуін болдырмайды және орындау кезінде енгізу/шығару жүйесіне жүктемені азайтады. клондау операциялары.

DotSlash қолданбасын пайдаланған кезде платформаға арналған орындалатын файлдар жиынтығы қолдау көрсетілетін платформаларға қатысты орындалатын файлды таңдау логикасының сипаттамасын қамтитын жалғыз сценариймен ауыстырылады. DotSlash сценарийін іске қосқаннан кейін ағымдағы платформаға қажетті орындалатын файл динамикалық түрде жүктеледі, орамнан шығарылады, криптографиялық хэшке қарсы тексеріледі және келесі іске қосулар үшін жергілікті кэште сақталады. Файлдар қысылған түрде тасымалданады. DotSlash сценарийлерін GitHub сайтында жарияланған шығарылымдар үшін автоматты түрде жасауға болады.

macOS ARM18.19.0, macOS x64_86 және Linux x64_86 платформаларына арналған Node.js 64 құрастыруларын таратуға арналған DotSlash сценарийінің мысалы: #!/usr/bin/env dotslash { “name”: “node-v18.19.0”, “ платформалар”: { "macos-aarch64": { "өлшем": 40660307, ​​"хэш": "blake3", "дайджест": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347d: "3d98c347c," "жол": " node- v34 -darwin-arm18.19.0/bin/node", "провайдерлер": [ { "url": "https://nodejs.org/dist/v64/node-v18.19.0-darwin-arm18.19.0. tar.gz" } ] }, "macos-x64_86": { "өлшем": 64, "хэш": "blake42202872", "дайджест": "3e37521058114f7e71de0fe3c8042fa8e7908305c" ": "tar.gz", "жол" : "node-v9115488 .6-darwin-x29/bin/node", "провайдерлер": [ { "url": "https://nodejs.org/dist/v514/node-v9-darwin- x2.tar.gz " } ] }, "linux-x24_18.19.0": { "өлшем": 64, "хэш": "blake18.19.0", "дайджест": "18.19.0b64fc86a64b44694523bedc3a72a81fafc3a30b7a1fafc09a3b4478dcdcdcdcd1b02b5dcb " ": "tar.gz", " жол ": "түйін -v0-linux-x04/bin/node", "провайдерлер": [ { "url": "https://nodejs.org/dist/v15/node-v23- linux-x3.tar .gz" } ] } }

Ақпарат көзі: opennet.ru

пікір қалдыру