Bygga ett CLI-verktyg med TypeScript

Att skapa ett kommandoradsgränssnitt (CLI) med TypeScript ger typsäkerhet och moderna JavaScript-funktioner. TypeScript förbättrar utvecklingsupplevelsen genom att erbjuda statisk typning och bättre verktygsstöd. Den här guiden täcker stegen för att bygga ett CLI-verktyg med TypeScript.

Steg 1: Konfigurera ditt TypeScript-projekt

Börja med att skapa ett nytt TypeScript-projekt. Initiera ett nytt npm-projekt och installera TypeScript och andra beroenden.

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

Paketet ts-node gör det möjligt att köra TypeScript-filer direkt, medan @types/node tillhandahåller typdefinitioner för Node.js.

Steg 2: Skapa ett grundläggande CLI-skript

Skapa en TypeScript-fil som kommer att fungera som ingångspunkt för CLI-verktyget. Den här filen kommer att hantera kommandoradsargumenten och implementera kärnfunktionaliteten.

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

Här används paketet commander för att hantera kommandoradsargument och tillhandahålla ett enkelt gränssnitt för att definiera kommandon och alternativ.

Steg 3: Lägg till CLI-beroenden

Installera ytterligare beroenden som krävs för att bygga CLI-verktyget. I det här exemplet används commander för argumentanalys.

npm install commander

Steg 4: Kompilera TypeScript-kod

Kompilera TypeScript-koden till JavaScript. Detta steg är nödvändigt för att distribuera CLI-verktyget.

npx tsc

Steg 5: Skapa ett körbart skript

Uppdatera filen package.json så att den inkluderar en bin-sektion. Det här avsnittet mappar CLI-kommandot till den kompilerade JavaScript-filen.

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

Steg 6: Testa ditt CLI-verktyg

Länka CLI-verktyget lokalt för att testa det innan du publicerar det. Använd npm länk för att skapa en symbollänk i den globala katalogen node_modules.

npm link
my-cli-tool --name TypeScript

Slutsats

Att bygga ett CLI-verktyg med TypeScript innebär att man ställer in ett TypeScript-projekt, skapar ett grundläggande CLI-skript, lägger till beroenden och kompilerar koden. Genom att utnyttja TypeScripts statiska typning och moderna funktioner är det möjligt att skapa robusta och underhållbara CLI-verktyg.