首頁 > web前端 > js教程 > 為您的 Monorepo 建立 TypeScript CLI

為您的 Monorepo 建立 TypeScript CLI

DDD
發布: 2024-12-10 07:48:10
原創
734 人瀏覽過

Creating a TypeScript CLI for Your Monorepo

我喜歡為 Monorepo 建立本地 CLI,以自動執行建置和部署等任務。這些任務通常需要的不僅僅是在 npm 腳本中連結幾個命令(例如 rimraf dist && tsc)。

使用 Commander.js 和 tsx,我們可以建立用 TypeScript 編寫的可執行程序,這些程序像任何其他 CLI 工具一樣從命令列運行。

#!/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 擴展名的情況下運行它的魔力就在第一行 - shebang:

#!/usr/bin/env -S pnpm tsx
登入後複製

這個 shebang 告訴你的 shell 哪個程式應該要執行這個檔案。在幕後,它將您的 ./cli 命令轉換為 pnpm tsx cli。這也適用於其他套件管理器 - 您可以使用 npm 或yarn 來代替 pnpm。

以上是為您的 Monorepo 建立 TypeScript CLI的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板