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 ツールを作成できます。