Code generator 개발기 (Part 2)
·2023.07.04 05:44
핵심 내용
OAS를 기반으로 React Query, Type Guard, Schema Validator를 자동 생성하는 도구의 구현 과정을 소개한다.
자세히 보기
인프랩 프런트엔드 개발팀은 **OpenAPI Specification(OAS)**을 파싱하여 개발 생산성을 높이는 Code Generator를 구현했다. 이 도구는 API 스키마 변화에 유연하게 대응하고, 백엔드와 프런트엔드 간의 데이터 정합성을 보장하는 것을 목표로 한다.
구현에는 inversify를 통한 의존성 주입, json-schema-to-typescript를 활용한 타입 생성, 그리고 Ajv 기반의 스키마 검증 로직이 사용되었다. 전체 프로세스는 전처리, 병렬 태스크 실행(ReactQuery, TypeGuard, SchemaValidator), 파일 생성의 3단계로 구성된다.
주요 특징은 다음과 같다:
- ReactQueryTask: Query, URL 파라미터, Response, Request Body 등을 추출하여 React Query 훅과 타입을 생성한다.
- Type Guard & Schema Validator: 생성된 인터페이스를 검증할 Type Guard 함수와 Ajv 인스턴스를 자동으로 생성한다.
- 자동화된 배포: Release Please와 commitlint를 도입하여 Conventional Commits 기반의 자동 배포 환경을 구축했다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.