ホームページ >ウェブフロントエンド >jsチュートリアル >Monorepo 用の TypeScript CLI の作成
私は Monorepo 用のローカル CLI を作成して、ビルドやデプロイなどのタスクを自動化するのが好きです。これらのタスクでは、npm スクリプト (rimraf dist && tsc など) でいくつかのコマンドを連鎖させるだけでは不十分なことがよくあります。
command.js と tsx を使用すると、他の CLI ツールと同様にコマンド ラインから実行できる、TypeScript で記述された実行可能プログラムを作成できます。
#!/usr/bin/env -S pnpm tsx import { Command } from 'commander'; const program = new Command() .name('monorepo') .description('CLI for Monorepo') .version('1.0.0'); program .command('build') .description('Build the monorepo') .action(async () => { console.log('Building...'); // run your build steps ... }); program .command('deploy') .description('Deploy the monorepo') .action(async () => { console.log('Deploying...'); // run your deploy steps ... }); await program.parseAsync(process.argv);
このスクリプトを cli (または任意の名前) としてプロジェクト ルートに保存し、chmod x cli で実行可能にします。その後、 ./cli:
を使用して直接実行できます。
$ ./cli Usage: monorepo [options] [command] CLI for Monorepo Options: -V, --version output the version number -h, --help display help for command Commands: build Build the monorepo deploy Deploy the monorepo help [command] display help for command
ノード、npx、さらには .ts 拡張子なしでこれを実行できるようにする魔法は、最初の行のシバンにあります:
#!/usr/bin/env -S pnpm tsx
このシバンは、どのプログラムがこのファイルを実行すべきかをシェルに指示します。バックグラウンドで、./cli コマンドを pnpm tsx cli に変換します。これは他のパッケージ マネージャーでも機能します。pnpm の代わりに npm または Yarn を使用できます。
以上がMonorepo 用の TypeScript CLI の作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。