피드로 돌아가기
I built a tool that generates TypeScript fixtures from interfaces and Zod schemas
Dev.toDev.to
Frontend

TS Compiler API와 Custom Parser 기반의 Deterministic Fixture 생성 도구 구현

I built a tool that generates TypeScript fixtures from interfaces and Zod schemas

Wasef Hussain2026년 6월 4일2intermediate

Context

TypeScript 인터페이스 및 Zod 스키마 기반의 Mock 데이터 수동 작성으로 인한 Boilerplate 중복 발생. 테스트 데이터의 일관성 결여 및 타입 불일치 해결을 위한 자동화 도구 필요성 대두.

Technical Solution

  • TypeScript Compiler API를 브라우저 환경에 통합하여 정적 타입 분석 및 Fixture 생성 구조 설계
  • Zod 스키마 처리를 위한 Recursive-descent Parser 구현으로 Backend 의존성 없는 Client-side 파싱 실현
  • Field Name 기반의 Semantic Inference 로직을 적용하여 데이터 성격에 맞는 현실적인 Value Pool 매핑
  • Field Name과 Index의 Hash 함수를 활용한 Deterministic Output 구조로 Randomness 제거 및 Commit 가능성 확보
  • Optional, Union, Literal 등 복잡한 TS 타입 시스템을 지원하는 재귀적 데이터 생성 알고리즘 적용

1. Mock 데이터 생성 시 Random 함수 대신 Hash 기반의 Deterministic 접근 방식으로 테스트 재현성 확보 검토

2. 외부 라이브러리 의존성을 줄이기 위해 도메인 특화 Recursive-descent Parser 도입 고려

3. Semantic Inference를 통한 필드명 기반 값 매핑으로 Mock 데이터의 가독성과 테스트 품질 향상

원문 읽기