>웹 프론트엔드 >JS 튜토리얼 >Monorepo용 TypeScript CLI 생성

Monorepo용 TypeScript CLI 생성

DDD
DDD원래의
2024-12-10 07:48:10703검색

Creating a TypeScript CLI for Your Monorepo

저는 Monorepo용 로컬 CLI를 생성하여 빌드 및 배포와 같은 작업을 자동화하는 것을 좋아합니다. 이러한 작업에는 npm 스크립트(예: rimraf dist && tsc)에서 몇 가지 명령을 연결하는 것 이상이 필요한 경우가 많습니다.

commander.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 확장자 없이 이것을 실행할 수 있게 해주는 마법은 첫 번째 줄에 있습니다 - shebang:

#!/usr/bin/env -S pnpm tsx

이 shebang은 어떤 프로그램이 이 파일을 실행해야 하는지 쉘에 알려줍니다. 뒤에서는 ./cli 명령을 pnpm tsx cli로 변환합니다. 이는 다른 패키지 관리자에서도 작동합니다. pnpm 대신 npm이나 Yarn을 사용할 수 있습니다.

위 내용은 Monorepo용 TypeScript CLI 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.