Creación de una herramienta CLI con TypeScript

La creación de una herramienta de interfaz de línea de comandos (CLI) con TypeScript proporciona seguridad de tipos y funciones modernas de JavaScript. TypeScript mejora la experiencia de desarrollo al ofrecer tipado estático y mejor compatibilidad con herramientas. Esta guía cubre los pasos para crear una herramienta CLI con TypeScript.

Paso 1: Configura tu proyecto TypeScript

Comience por configurar un nuevo proyecto TypeScript. Inicialice un nuevo proyecto npm e instale TypeScript y otras dependencias.

npm init -y
npm install typescript ts-node @types/node --save-dev
npx tsc --init

El paquete ts-node permite ejecutar archivos TypeScript directamente, mientras que @types/node proporciona definiciones de tipos para Node.js.

Paso 2: Crear un script CLI básico

Cree un archivo TypeScript que sirva como punto de entrada para la herramienta CLI. Este archivo manejará los argumentos de la línea de comandos e implementará la funcionalidad principal.

import { Command } from 'commander';

const program = new Command();

program
  .version('1.0.0')
  .description('A simple CLI tool')
  .option('-n, --name <name>', 'Specify the name')
  .action((options) => {
    console.log(`Hello, ${options.name || 'World'}!`);
  });

program.parse(process.argv);

Aquí, el paquete commander se utiliza para manejar argumentos de la línea de comandos y proporcionar una interfaz simple para definir comandos y opciones.

Paso 3: Agregar dependencias de CLI

Instalar dependencias adicionales necesarias para crear la herramienta CLI. En este ejemplo, se utiliza commander para el análisis de argumentos.

npm install commander

Paso 4: Compilar código TypeScript

Compilar el código TypeScript en JavaScript. Este paso es necesario para distribuir la herramienta CLI.

npx tsc

Paso 5: Crear un script ejecutable

Actualice el archivo package.json para incluir una sección bin. Esta sección asigna el comando CLI al archivo JavaScript compilado.

{
  "name": "my-cli-tool",
  "version": "1.0.0",
  "bin": {
    "my-cli-tool": "./dist/index.js"
  },
  "scripts": {
    "build": "tsc",
    "start": "ts-node src/index.ts"
  },
  "dependencies": {
    "commander": "^8.3.0"
  },
  "devDependencies": {
    "@types/node": "^14.14.31",
    "typescript": "^4.3.5",
    "ts-node": "^10.2.1"
  }
}

Paso 6: Pruebe su herramienta CLI

Vincule la herramienta CLI localmente para probarla antes de publicarla. Use npm link para crear un enlace simbólico en el directorio global node_modules.

npm link
my-cli-tool --name TypeScript

Conclusión

Para crear una herramienta CLI con TypeScript es necesario configurar un proyecto TypeScript, crear un script CLI básico, agregar dependencias y compilar el código. Al aprovechar las características modernas y la tipificación estática de TypeScript, es posible crear herramientas CLI sólidas y fáciles de mantener.