Creazione di uno strumento CLI con TypeScript

La creazione di uno strumento Command-Line Interface (CLI) con TypeScript fornisce sicurezza dei tipi e funzionalità JavaScript moderne. TypeScript migliora l'esperienza di sviluppo offrendo tipizzazione statica e un migliore supporto per gli strumenti. Questa guida illustra i passaggi per creare uno strumento CLI utilizzando TypeScript.

Passaggio 1: imposta il tuo progetto TypeScript

Inizia impostando un nuovo progetto TypeScript. Inizializza un nuovo progetto npm e installa TypeScript e altre dipendenze.

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

Il pacchetto ts-node consente di eseguire direttamente i file TypeScript, mentre @types/node fornisce definizioni di tipo per Node.js.

Passaggio 2: creare uno script CLI di base

Crea un file TypeScript che fungerà da punto di ingresso per lo strumento CLI. Questo file gestirà gli argomenti della riga di comando e implementerà la funzionalità principale.

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);

Qui, il pacchetto commander viene utilizzato per gestire gli argomenti della riga di comando e fornire un'interfaccia semplice per definire comandi e opzioni.

Passaggio 3: aggiungere dipendenze CLI

Installa le dipendenze aggiuntive richieste per la creazione dello strumento CLI. Per questo esempio, commander viene utilizzato per l'analisi degli argomenti.

npm install commander

Passaggio 4: compilare il codice TypeScript

Compila il codice TypeScript in JavaScript. Questo passaggio è necessario per distribuire lo strumento CLI.

npx tsc

Passaggio 5: creare uno script eseguibile

Aggiorna il file package.json per includere una sezione bin. Questa sezione mappa il comando CLI al file JavaScript compilato.

{
  "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"
  }
}

Passaggio 6: testare lo strumento CLI

Collega lo strumento CLI localmente per testarlo prima di pubblicarlo. Usa npm link per creare un collegamento simbolico nella directory globale node_modules.

npm link
my-cli-tool --name TypeScript

Conclusione

Creare uno strumento CLI con TypeScript implica l'impostazione di un progetto TypeScript, la creazione di uno script CLI di base, l'aggiunta di dipendenze e la compilazione del codice. Sfruttando la tipizzazione statica e le funzionalità moderne di TypeScript, è possibile creare strumenti CLI robusti e gestibili.