Rumah > hujung hadapan web > tutorial js > Mencipta TypeScript CLI untuk Monorepo Anda

Mencipta TypeScript CLI untuk Monorepo Anda

DDD
Lepaskan: 2024-12-10 07:48:10
asal
708 orang telah melayarinya

Creating a TypeScript CLI for Your Monorepo

Saya suka mencipta CLI tempatan untuk Monorepo saya untuk mengautomasikan tugas seperti membina dan menggunakan. Tugasan ini selalunya memerlukan lebih daripada sekadar merantai beberapa arahan dalam skrip npm (seperti rimraf dist && tsc).

Menggunakan commander.js dan tsx, kami boleh mencipta atur cara boleh laku yang ditulis dalam TypeScript yang dijalankan dari baris arahan seperti mana-mana alat CLI yang lain.

#!/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);
Salin selepas log masuk

Simpan skrip ini sebagai cli (atau mana-mana nama yang anda suka) dalam akar projek anda dan jadikan ia boleh laku dengan chmod x cli. Anda kemudian boleh menjalankannya terus menggunakan ./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
Salin selepas log masuk

Keajaiban yang membolehkan anda menjalankan ini tanpa nod, npx atau sambungan .ts ada di baris pertama - shebang:

#!/usr/bin/env -S pnpm tsx
Salin selepas log masuk

Shebang ini memberitahu shell anda program mana yang harus melaksanakan fail ini. Di sebalik tabir, ia menterjemah arahan ./cli anda ke dalam pnpm tsx cli. Ini juga berfungsi dengan pengurus pakej lain - anda boleh menggunakan npm atau benang dan bukannya pnpm.

Atas ialah kandungan terperinci Mencipta TypeScript CLI untuk Monorepo Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan