
프론트엔드
디자인 컴포넌트 라이브러리를 ‘실제 사용 방식’에 맞게 다시 설계한 이야기
두줄요약
Kitchen의 빌드·패키지 구조를 실제 사용 방식에 맞게 다시 설계했습니다. ESM 전환과 단일 패키지화로 트리셰이킹과 DX를 개선했습니다.
핵심 내용
- 디자인 컴포넌트 라이브러리 Kitchen의 실제 사용 방식과 빌드 구조가 어긋나며 트리셰이킹 불가, DX 저하, 확장 제약이 누적된 상황
- ESM 전환과 exports 명시, 단일 패키지 전환, foundation 분리로 구조를 단순화하고 실제 사용 단위와 배포 구조를 일치시킨 개선 과정
- 결과적으로 빌드 시간과 개발 확인 루프, 사용 서비스 번들 내 포함 코드량이 크게 감소
선택 이유
- 초기에는 레거시 환경 지원과 독립 배포를 위해 UMD·멀티 패키지 구조가 합리적이었으나 현재 사용 환경에는 과도한 제약으로 전환
- 번들러가 정적으로 분석할 수 있는 구조를 우선하고, 단기 성능보다 중장기 유지 보수성을 더 중요한 기준으로 채택
성능/운영 포인트
- 빌드 산출물 기준 참조를 소스 기준 참조로 되돌려 Storybook, 테스트, 로컬 개발의 복잡도 완화
- 공통 자산을 foundation 패키지로 분리해 디자인 토큰 관리 기준을 정리
- 트리셰이킹 적용으로 필요한 컴포넌트만 번들에 포함되는 구조 확보
