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", "дайджест": "6e2ca33951e586e7670016dd9e503d028454bf9249d5bf556347d3ff98", "347c"34" "жол": " node- v18.19.0 -darwin-arm64/bin/node", "провайдерлер": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64. tar.gz" } ] }, "macos-x86_64": { "өлчөмү": 42202872, "хэш": "blake3", "дайджест": "37521058114e7f71e0de3fe8042c8fa7908305ac" ": "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.0b64fc86a64b44694523bedc3a72a81fafc3a30b7e1ea09" ": "tar.gz", " жол ": "node -v3-linux-x4478/bin/node", "провайдерлер": [ { "url": "https://nodejs.org/dist/v1/node-v02- linux-x5.tar .gz" } ] } }

Source: opennet.ru

Комментарий кошуу