Rumah >hujung hadapan web >tutorial js >Mencipta TypeScript CLI untuk Monorepo Anda
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);
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
Keajaiban yang membolehkan anda menjalankan ini tanpa nod, npx atau sambungan .ts ada di baris pertama - shebang:
#!/usr/bin/env -S pnpm tsx
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!