GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - google/zx: A tool for writing better scripts

BranchesTags
Open more actions menu

Latest commit

 

History

1,034 Commits
1,034 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
build
build
 
 
dcr
dcr
 
 
docs
docs
 
 
examples
examples
 
 
man
man
 
 
scripts
scripts
 
 
src
src
 
 
test-d
test-d
 
 
test
test
 
 
.commitlintrc
.commitlintrc
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.node_version
.node_version
 
 
.nycrc
.nycrc
 
 
.prettierignore
.prettierignore
 
 
.size-limit.json
.size-limit.json
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
lefthook.yml
lefthook.yml
 
 
package-lock.json
package-lock.json
 
 
package.json
package.json
 
 
tsconfig.json
tsconfig.json
 
 
zizmor.yml
zizmor.yml
 
 

Repository files navigation

Zx logo zx

#!/usr/bin/env zx

await $`cat package.json | grep name`

const 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`,
])

const name = 'foo bar'
await $`mkdir /tmp/${name}`

Bash is great, but when it comes to writing more complex scripts, many people prefer a more convenient programming language. JavaScript is a perfect choice, but the Node.js standard library requires additional hassle before using. No compromise, take the best of both. The zx package provides useful cross-platform wrappers around child_process, escapes arguments and gives sensible defaults.

Install

npm install zx

All setup options: zx/setup. See also zx@lite.

Usage

  • Documentation at google.github.io/zx/
  • Code examples

Compatibility

  • Linux, macOS, or Windows
  • JavaScript Runtime:
    • Node.js >= 12.20.0
    • Bun >= 1.0.0
    • Deno 1.x, 2.x
    • GraalVM Node.js
    • Electron >= 11
  • Bash or PowerShell
  • Both CJS or ESM modules in JS or TS

See also

  • Ant - A small language with TypeScript-like syntax, and goroutine-style concurrency.

License

Apache-2.0

Disclaimer: This is not an officially supported Google product.

About

A tool for writing better scripts

google.github.io/zx/

Topics

bashchild-processcliexecjavascriptnodejspipeshellspawn

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

45.8k stars

Watchers

162 watching

Forks

1.3k forks
Report repository

Releases

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.