Script de Bash compatible con POSIX para instalar y alternar entre varias versiones de Node.js por usuario y por shell.
google/zx
Herramienta basada en JavaScript para escribir scripts al estilo de shell, con una capa sobre child_process que escapa argumentos de forma segura e incluye utilidades multiplataforma.
- Estrellas
- 45,813
- Forks
- 1,320
- Issues abiertos
- 22
- Último commit
- hace 9 días
¿Qué es?
zx permite escribir scripts en JavaScript y ejecutar comandos de shell con una sintaxis concisa. Su etiqueta de plantilla `$` ejecuta comandos, escapa automáticamente los argumentos interpolados y devuelve la salida, de modo que tareas habituales de Bash, como encadenar comandos, ejecutarlos en paralelo y operar con archivos, se convierten en código normal.
El paquete ofrece una capa sobre child_process de Node.js con utilidades multiplataforma y valores predeterminados sensatos, lo que reduce gran parte del código repetitivo necesario para iniciar procesos directamente. Funciona en Linux, macOS y Windows, y se ejecuta en Node.js, Bun, Deno y GraalVM Node.js, con Bash o PowerShell como shell subyacente.
Es compatible con módulos CommonJS y ESM, así como con proyectos de JavaScript y TypeScript. También está disponible una variante más ligera, zx@lite.
Funciones clave
- 01Ejecuta comandos de shell mediante una etiqueta de plantilla `$` que escapa los argumentos automáticamente.
- 02Ofrece una capa multiplataforma sobre child_process de Node.js.
- 03Admite Bash y PowerShell como shell subyacente.
- 04Funciona con Node.js, Bun, Deno y GraalVM Node.js.
- 05Es compatible con CommonJS y ESM, tanto en JavaScript como en TypeScript.
Casos de uso
- Escribir scripts de despliegue o compilación que invoquen git, docker u otras herramientas CLI.
- Ejecutar varios comandos de shell en paralelo desde un único script de Node.js.
- Sustituir scripts complejos de Bash por código mantenible en JavaScript o TypeScript.
Inicio rápido
- 1
Instala zx con npm
npm install zx - 2
Escribe un script con la API de zx y ejecútalo con el comando zx, tal como se indica en la documentación
Antes de usarlo
- Los detalles de configuración y uso solo están en documentación externa, no en el README, así que para empezar hay que leer la documentación enlazada.
Temas
Preguntas frecuentes
- ¿Qué es zx?
- Herramienta basada en JavaScript para escribir scripts al estilo de shell, con una capa sobre child_process que escapa argumentos de forma segura e incluye utilidades multiplataforma. zx permite escribir scripts en JavaScript y ejecutar comandos de shell con una sintaxis concisa. Su etiqueta de plantilla `$` ejecuta comandos, escapa automáticamente los argumentos interpolados y devuelve la salida, de modo que tareas habituales de Bash, como encadenar comandos, ejecutarlos en paralelo y operar con archivos, se convierten en código normal.
- ¿zx es gratuito? ¿Qué licencia tiene?
- zx es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿zx sigue mantenido?
- Mantenimiento activo. El último commit de zx fue el 12 oct 2026.
- ¿Para qué puedo usar zx?
- Escribir scripts de despliegue o compilación que invoquen git, docker u otras herramientas CLI. Ejecutar varios comandos de shell en paralelo desde un único script de Node.js. Sustituir scripts complejos de Bash por código mantenible en JavaScript o TypeScript.
- ¿Cómo se instala zx?
- Instala zx con npm: npm install zx Escribe un script con la API de zx y ejecútalo con el comando zx, tal como se indica en la documentación
- ¿Dónde consigo zx?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/google/zx
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Buscador difuso de propósito general para la línea de comandos que filtra cualquier lista de entrada y convierte los scripts de shell en selectores interactivos para la terminal.
Un prompt minimalista y personalizable para distintos shells, escrito en Rust, que muestra información relevante del proyecto y del entorno.
Shell multiplataforma, lenguaje de scripting y framework de automatización para Windows, Linux y macOS, diseñado para trabajar con datos estructurados y objetos.
Un comando cd más inteligente que aprende cuáles son tus directorios más usados y te permite acceder a ellos con unas pocas teclas, en los principales shells.
Node.js es un entorno de ejecución de JavaScript de código abierto y multiplataforma para ejecutar JavaScript fuera del navegador.