Script Bash compatível com POSIX para instalar e alternar entre várias versões do Node.js por usuário e por shell.
google/zx
Ferramenta baseada em JavaScript para escrever scripts no estilo shell, com uma camada sobre child_process que escapa argumentos com segurança e oferece recursos multiplataforma.
- Estrelas
- 45,813
- Forks
- 1,320
- Issues abertas
- 22
- Último commit
- há 9 dias
O que é?
Com zx, você escreve scripts em JavaScript e executa comandos de shell com uma sintaxe concisa. A tag de template `$` executa comandos, escapa automaticamente os argumentos interpolados e retorna a saída, transformando tarefas comuns de Bash, como pipelines, execução paralela e operações com arquivos, em código comum.
O pacote oferece uma camada sobre child_process do Node.js, com recursos multiplataforma e padrões sensatos, reduzindo boa parte do código repetitivo necessário para iniciar processos diretamente. Funciona no Linux, macOS e Windows, e roda em Node.js, Bun, Deno e GraalVM Node.js, usando Bash ou PowerShell como shell subjacente.
É compatível com módulos CommonJS e ESM, além de projetos JavaScript e TypeScript. Também está disponível uma variante mais leve, zx@lite.
Recursos principais
- 01Executa comandos de shell por meio da tag de template `$`, com escape automático de argumentos.
- 02Oferece wrappers multiplataforma para child_process do Node.js.
- 03É compatível com Bash e PowerShell como shell subjacente.
- 04Funciona com Node.js, Bun, Deno e GraalVM Node.js.
- 05É compatível com CommonJS e ESM, em JavaScript ou TypeScript.
Casos de uso
- Escrever scripts de deploy ou build que chamam git, docker ou outras ferramentas CLI.
- Executar vários comandos de shell em paralelo a partir de um único script Node.js.
- Substituir scripts Bash complexos por código JavaScript ou TypeScript mais fácil de manter.
Início rápido
- 1
Instale o zx com npm
npm install zx - 2
Escreva um script usando a API do zx e execute-o com o comando zx, conforme indicado na documentação
Antes de usar
- Os detalhes de configuração e uso estão apenas na documentação externa, não no README; por isso, é preciso ler a documentação vinculada para começar.
Tópicos
Perguntas frequentes
- O que é zx?
- Ferramenta baseada em JavaScript para escrever scripts no estilo shell, com uma camada sobre child_process que escapa argumentos com segurança e oferece recursos multiplataforma. Com zx, você escreve scripts em JavaScript e executa comandos de shell com uma sintaxe concisa. A tag de template `$` executa comandos, escapa automaticamente os argumentos interpolados e retorna a saída, transformando tarefas comuns de Bash, como pipelines, execução paralela e operações com arquivos, em código comum.
- zx é gratuito? Qual é a licença?
- zx é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- zx ainda é mantido?
- Manutenção ativa. O último commit de zx foi em 12 de out. de 2026.
- Para que posso usar zx?
- Escrever scripts de deploy ou build que chamam git, docker ou outras ferramentas CLI. Executar vários comandos de shell em paralelo a partir de um único script Node.js. Substituir scripts Bash complexos por código JavaScript ou TypeScript mais fácil de manter.
- Como instalar zx?
- Instale o zx com npm: npm install zx Escreva um script usando a API do zx e execute-o com o comando zx, conforme indicado na documentação
- Onde consigo zx?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/google/zx
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um fuzzy finder de linha de comando versátil que filtra qualquer lista de entrada e transforma scripts de shell em seletores interativos no terminal.
Um prompt minimalista e personalizável para vários shells, escrito em Rust, que exibe informações relevantes do projeto e do ambiente.
Shell multiplataforma, linguagem de script e framework de automação para Windows, Linux e macOS, criado para trabalhar com dados estruturados e objetos.
Um comando cd mais inteligente, que aprende quais diretórios você mais usa e permite acessá-los com poucas teclas em todos os principais shells.
Node.js é um runtime JavaScript multiplataforma e de código aberto para executar JavaScript fora do navegador.