저는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!