Utilidades CLI en JavaScript: creando desde cero en 30 minutos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Para qué necesitas utilidades CLI en JavaScript?



Imagina: todos los días renombras manualmente carpetas de informes, conviertes JSON a CSV o buscas archivos duplicados. ¿Y si escribieras un pequeño programa que haga esto en un segundo con un comando en la terminal? Para eso sirven las utilidades CLI en JavaScript.



A diferencia de las aplicaciones web completas, la CLI (Interfaz de Línea de Comandos) es una herramienta ligera, rápida y muy conveniente. No requiere navegador, funciona en cualquier plataforma y se integra fácilmente en scripts de CI/CD. En PythonLib a menudo hablamos de automatización, y hoy te mostraré cómo crear tu primera utilidad CLI en Node.js desde cero. ¡Te sorprenderá lo sencillo que es!



En este artículo recorreremos el camino completo: desde la configuración del proyecto hasta la publicación del paquete terminado en npm. No solo obtendrás teoría, sino código funcional que puedes adaptar inmediatamente a tus propias tareas.



¿Qué es una utilidad CLI y por qué JavaScript?



Una utilidad CLI es un programa que se ejecuta desde la línea de comandos. Escribes my-tool --input file.txt y realiza la acción deseada. JavaScript es ideal para esto porque:



  • Node.js está instalado en cada servidor y en casi todos los PC de desarrolladores.
  • Una enorme cantidad de módulos listos (npm) para trabajar con archivos, redes y formatos de datos.
  • Simplicidad de escritura: no necesita compilación, basta con un solo archivo.
  • Multiplataforma: tu herramienta funcionará en Windows, macOS y Linux.


Incluso si eres principiante en Node.js, podrás hacerlo. Empezaremos con lo más simple: un script que muestra un saludo.



Paso 1: Configuración del proyecto para la utilidad CLI



Crea una carpeta para tu proyecto e inicializa npm:



mkdir my-first-clicd my-first-clinpm init -y


Ahora abre package.json. Este es el archivo de configuración principal de tu futura utilidad CLI en JavaScript. Agrega el campo "bin":



{  "name": "my-first-cli",  "version": "1.0.0",  "description": "Mi primera utilidad CLI",  "bin": {    "greet": "./index.js"  },  "license": "MIT"}


El campo "bin" es la magia. Le dice a Node.js: «Cuando el usuario escriba el comando greet, ejecuta el archivo index.js». Nota: el nombre del comando (greet) puede ser cualquiera.



Ahora crea index.js con la primera línea: un shebang. Esto es obligatorio para CLI:



#!/usr/bin/env node

console.log('¡Hola, mundo! ¡Soy tu primera utilidad CLI!');


El shebang #!/usr/bin/env node le indica al sistema que el script debe ejecutarse con Node.js. Sin él, el comando no funcionará.



Paso 2: Hacer ejecutable la utilidad y probarla



Para ejecutar tu utilidad CLI en JavaScript localmente, ejecuta el comando:



npm link


Este comando crea un enlace global a tu paquete. Ahora, en cualquier terminal puedes escribir:



greet


Y verás: ¡Hola, mundo! ¡Soy tu primera utilidad CLI! ¡Felicidades, acabas de crear tu primera utilidad!



Paso 3: Análisis de argumentos de línea de comandos



Simplemente mostrar texto es aburrido. Las utilidades CLI reales aceptan argumentos. Aprendamos a procesarlos. Node.js tiene el array incorporado process.argv, pero para proyectos serios es mejor usar el módulo commander o yargs.



Instalemos commander:



npm install commander


Ahora reescribamos index.js:



#!/usr/bin/env node

const { Command } = require('commander');const program = new Command();

program .name

Blogs

Book Recommendations