Google выпустила инструмент для написания скриптов на JavaScript вместо Bash

Внезапно, Google сделала что-то очень крутое для разработчиков.

Компания 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

Как запустить скрипт?

Запуск скрипта происходит одним из двух способов.

Первый:

chmod +x ./script.mjs
./script.mjs

Второй:

zx ./script.mjs

При использовании zx через bin или шебанг, все $, cd, fetch и прочие можно использовать без импорта.

Примеры команд и более подробную информацию можно найти в репозитории проекта на GitHub, перейдя по ссылке.

Источник: GitHub/Google

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации