TypeScript を使用した CLI ツールの構築

TypeScript を使用してコマンドライン インターフェイス (CLI) ツールを作成すると、型の安全性と最新の JavaScript 機能が提供されます。TypeScript は、静的型付けとより優れたツール サポートを提供することで、開発エクスペリエンスを強化します。このガイドでは、TypeScript を使用して CLI ツールを構築する手順について説明します。

ステップ1: TypeScriptプロジェクトをセットアップする

まず、新しい TypeScript プロジェクトを設定します。新しい npm プロジェクトを初期化し、TypeScript とその他の依存関係をインストールします。

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

ts-node パッケージを使用すると TypeScript ファイルを直接実行できますが、@types/node は Node.js の型定義を提供します。

ステップ2: 基本的なCLIスクリプトを作成する

CLI ツールのエントリ ポイントとして機能する TypeScript ファイルを作成します。このファイルは、コマンド ライン引数を処理し、コア機能を実装します。

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

ここでは、commander パッケージを使用してコマンドライン引数を処理し、コマンドとオプションを定義するための簡単なインターフェイスを提供します。

ステップ3: CLI依存関係を追加する

CLI ツールの構築に必要な追加の依存関係をインストールします。この例では、引数の解析に commander が使用されます。

npm install commander

ステップ4: TypeScriptコードをコンパイルする

TypeScript コードを JavaScript にコンパイルします。この手順は、CLI ツールを配布するために必要です。

npx tsc

ステップ5: 実行可能なスクリプトを作成する

package.json ファイルを更新して、bin セクションを含めます。このセクションは、CLI コマンドをコンパイルされた JavaScript ファイルにマッピングします。

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

ステップ6: CLIツールをテストする

公開する前に CLI ツールをローカルにリンクしてテストします。npm link を使用して、グローバル node_modules ディレクトリにシンボリック リンクを作成します。

npm link
my-cli-tool --name TypeScript

結論

TypeScript を使用して CLI ツールを構築するには、TypeScript プロジェクトの設定、基本的な CLI スクリプトの作成、依存関係の追加、コードのコンパイルが必要です。TypeScript の静的型付けと最新機能を活用することで、堅牢で保守しやすい CLI ツールを作成できます。