@kyoofus/kyotool-userinfo
v0.0.1
Published
`kyotool-userinfo`는 TypeScript로 작성된 간단한 CLI 도구입니다. 사용자 ID를 입력하면 랜덤한 사용자 프로필을 생성해 JSON 형식으로 출력합니다.
Readme
kyotool-userinfo
kyotool-userinfo는 TypeScript로 작성된 간단한 CLI 도구입니다. 사용자 ID를 입력하면 랜덤한 사용자 프로필을 생성해 JSON 형식으로 출력합니다.
- 알아야 할 지식:
- bin script
- pnpm
- CLI
- 이 프로젝트에는 사용되지 않았지만 Daemon을 만들기 위해서는 spawn을 사용해야 합니다.
Post Build는 구현하지 않았습니다.
프로젝트 개요
- CLI 진입점은 src/cli/cli.ts입니다.
- 실제 사용자 프로필 생성 로직은 src/connector/server.ts에 있습니다.
- 빌드 후 산출물은
dist디렉터리에 생성됩니다. - 패키지 매니저는
pnpm을 사용합니다.
프로젝트 구조
.
├── package.json
├── pnpm-lock.yaml
├── README.md
├── tsconfig.json
├── tsup.config.ts
└── src/
├── postBuild.ts
├── cli/
│ └── cli.ts
└── connector/
└── server.ts빌드 후 생성 파일
pnpm build를 실행하면 tsconfig.json의 outDir 설정에 따라 dist 아래에 다음 파일들이 생성됩니다.
dist/postBuild.js,dist/postBuild.d.tsdist/cli/cli.js,dist/cli/cli.d.tsdist/connector/server.js,dist/connector/server.d.ts
패키지의 실행 파일은 package.json의 bin 설정에 따라 dist/cli/cli.js를 가리킵니다. 즉, 패키지를 전역 설치하거나 pnpm exec로 실행할 때 kyotool-userinfo 명령이 이 파일을 직접 호출합니다.
요구 사항
- Node.js 20 이상 권장
- pnpm
설치
의존성을 설치합니다.
pnpm install실행 방법
개발 중에는 빌드 후 생성된 실행 파일을 사용할 수 있습니다.
pnpm build
node dist/cli/cli.js --user 12345pnpm이 로컬 bin을 연결한 상태라면 아래처럼 실행할 수도 있습니다.
pnpm exec kyotool-userinfo --user 12345입력값이 없으면 도움말이 표시됩니다.
전역 설치 및 테스트
로컬 저장소를 전역으로 설치한 뒤 명령어가 정상 동작하는지 확인할 수 있습니다.
pnpm build
pnpm add -g "$(pwd)//home/kyoofus/src/kyotool-userinfo"
kyotool-userinfo --user 12345- 설치 시 절대경로를 사용합니다.
설치된 전역 패키지를 제거하려면 다음 명령을 사용합니다.
pnpm remove -g @kyoofus/kyotool-userinfo빌드
TypeScript 컴파일을 수행합니다.
pnpm build빌드가 끝나면 dist 아래에 JavaScript 출력물이 생성됩니다.
정리
빌드 산출물을 삭제합니다.
pnpm clean테스트
현재 저장소에는 별도의 자동 테스트 스크립트가 정의되어 있지 않습니다. 대신 다음 방법으로 동작을 확인할 수 있습니다.
pnpm build
node dist/cli/cli.js --user 12345출력 예시
{
"userId": "12345",
"name": "Min Kim",
"email": "[email protected]",
"age": 27,
"role": "member",
"location": "Seoul",
"createdAt": "2026-03-24T00:00:00.000Z"
}실제 name, email, age, role, location, createdAt 값은 실행할 때마다 달라집니다.
