pnpm scaffold 명령어는 Entity 정의를 기반으로 보일러플레이트 코드를 자동 생성합니다. Model 클래스와 테스트 파일을 몇 초 만에 생성하여 개발 시간을 크게 단축합니다.
기본 개념
Scaffold는 Entity를 코드로 변환하는 자동화 도구입니다:- Entity 기반: Entity 정의에서 타입과 구조 파악
- 타입 안전: TypeScript 타입이 자동으로 생성됨
- 일관성: 모든 코드가 같은 패턴을 따름
- 수정 가능: 생성 후 자유롭게 커스터마이징
명령어
model - Model 클래스 생성
Entity를 위한 Model 클래스를 생성합니다.src/models/TS
User.model.ts - User Model 클래스src/models/User.model.ts
model_test - 테스트 파일 생성
Model을 위한 테스트 파일을 생성합니다.src/models/TS
User.model.test.ts - User Model 테스트src/models/User.model.test.ts
View 스캐폴딩 (개발 중)
View 컴포넌트 자동 생성 기능은 현재 개발 중입니다.
Sonamu UI를 통해 React 컴포넌트를 생성할 수 있습니다.
생성된 코드 구조
Model 클래스
생성된 Model 클래스는 다음 구조를 가집니다:- ✅ TypeScript 타입
- ✅ Entity 연결
- ✅ BaseModel 상속
- ✅ 기본 CRUD 메서드
- 비즈니스 로직 메서드
- 복잡한 쿼리
- 데이터 검증
- 관계 로딩
테스트 파일
생성된 테스트 파일은 기본 테스트를 포함합니다:- 비즈니스 로직 테스트 추가
- Edge case 테스트
- 성능 테스트
- 통합 테스트
개발 워크플로우
1. Entity 정의
src/entities/Product.entity.ts
2. 마이그레이션
3. Model 생성
4. 비즈니스 로직 추가
src/models/Product.model.ts
5. 테스트 생성
6. 테스트 작성
src/models/Product.model.test.ts
7. API 추가
src/models/Product.model.ts
