Heim > Web-Frontend > js-Tutorial > Erstellen einer TypeScript-CLI für Ihr Monorepo

Erstellen einer TypeScript-CLI für Ihr Monorepo

DDD
Freigeben: 2024-12-10 07:48:10
Original
780 Leute haben es durchsucht

Creating a TypeScript CLI for Your Monorepo

Ich erstelle gerne lokale CLIs für mein Monorepo, um Aufgaben wie Build und Deployment zu automatisieren. Diese Aufgaben erfordern oft mehr als nur die Verkettung einiger Befehle in einem NPM-Skript (wie rimraf dist && tsc).

Mit commander.js und tsx können wir in TypeScript geschriebene ausführbare Programme erstellen, die wie jedes andere CLI-Tool über die Befehlszeile ausgeführt werden.

#!/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);
Nach dem Login kopieren

Speichern Sie dieses Skript als cli (oder einen beliebigen Namen Ihrer Wahl) in Ihrem Projektstamm und machen Sie es mit chmod x cli ausführbar. Sie können es dann direkt mit ./cli:
ausführen

$ ./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
Nach dem Login kopieren

Die Magie, die es Ihnen ermöglicht, dies ohne Node, Npx oder sogar eine .ts-Erweiterung auszuführen, liegt in der ersten Zeile – dem Knaller:

#!/usr/bin/env -S pnpm tsx
Nach dem Login kopieren

Dieser Kram teilt Ihrer Shell mit, welches Programm diese Datei ausführen soll. Hinter den Kulissen übersetzt es Ihren ./cli-Befehl in pnpm tsx cli. Dies funktioniert auch mit anderen Paketmanagern – Sie können npm oder Yarn anstelle von pnpm verwenden.

Das obige ist der detaillierte Inhalt vonErstellen einer TypeScript-CLI für Ihr Monorepo. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage