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

Kate

Administrator
Команда форума
Компания 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

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

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

https://tproger.ru/events/olimpiada-proggy-buggy-towel-contest-2021/?utm_source=in_text
Первый:

chmod +x ./script.mjs
./script.mjs
Второй:

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

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


Источник статьи: https://tproger.ru/news/google-vypu...-skripty-na-bolee-udobnye-javascript-analogi/
 
Сверху