Поделиться
Компания Google представила новый пакет-надстройку для child_process. С его помощью разработчики смогут создавать новые скрипты, используя для этого более привычный JavaScript вместо «традиционного» Bash.
Пример скрипта
#!/usr/bin/env zx
await $`cat package.json | grep name`
let branch = await $`git branch —show-current`
await $`dep deploy —branch=${branch}`
await Promise.all([
$`sleep 1; echo 1`,
$`sleep 2; echo 2`,
$`sleep 3; echo 3`,
])
let name = ‘foo bar’
await $`mkdir /tmp/${name}`
На примере этого скрипта можно понять как синтаксис, так и саму суть Google ZX.
Как установить?
Выполнить в Терминале команду npm i -g zx
Что дальше?
Сами скрипты можно писать в файле формата .mjs. В таком случае их можно будет использовать на верхнем уровне.
Если же вы предпочитаете .js-расширение, то скрипт стоит обернуть во что-то наподобие void async function () {…}().
Также нужно добавить в начало скрипта следующий шебанг: #!/usr/bin/env zx
Как запустить скрипт?
Запуск скрипта происходит одним из двух способов.
Олимпиада Proggy-Buggy Towel Contest 2021
25 мая в 18:00, Онлайн, Беcплатно
tproger.ru
События и курсы на tproger.ru
Первый:
chmod +x ./script.mjs
./script.mjs
Второй:
zx ./script.mjs
При использовании zx через bin или шебанг, все $, cd, fetch и прочие можно использовать без импорта.
Примеры команд и более подробную информацию можно найти в репозитории проекта на GitHub, перейдя по ссылке.
Источник: GitHub/Google
Источник: