OpenAPI 기반 Code Generator 개발기: 프론트엔드 개발 생산성 UP!
by DD
2년 전
조회수 8
OpenAPI specification 기반 Code generator를 구현하여 API schema 변경에 유연하게 대응
json-schema-to-typescript를 활용, Type guard 자동 생성 및 API 검증 기능 제공
Inversify, tsup, Release Please 등 다양한 도구들을 활용하여 개발 생산성 향상
Code Generator 아키텍처 심층 분석
Code generator는 전처리, Task 실행, 결과 출력 3단계로 구성된다. ConfigProvider를 통해 옵션을 유연하게 관리하고, PreprocessPipe를 사용하여 OAS JSON을 가공한다. 따라서, 각 단계별로 책임 분리를 통해 유지보수성을 높였다.
Type Guard 자동 생성의 원리
JSON schema를 기반으로 Type guard를 자동 생성하여 API response의 유효성을 검증한다. jsonschema 라이브러리를 활용하여, OAS schema를 검증 가능한 형태로 변환한다. 반면, GraphQL과 같은 강력한 타입 시스템에 비해, 수동 관리의 위험성이 존재한다.
개발 생산성 향상을 위한 도구 활용
Inversify를 사용하여 의존성 주입(IoC)을 구현하고, tsup과 Release Please를 통해 빌드 및 배포 자동화를 구축했다. Commitlint를 도입하여 커밋 메시지 일관성을 유지하고, 코드 중복을 최소화하기 위해 노력했다.
댓글 0
첫 번째 댓글을 남겨보세요!