AI Briefing

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 Pleasecommitlint를 도입하여 Conventional Commits 기반의 자동 배포 환경을 구축했다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.