Lukomponent

Lukomponent

Luko 사내 디자인 시스템 기반 Vue 3 컴포넌트 라이브러리 리뉴얼. Vue 2에서 Vue 3로 마이그레이션, tree-shaking 지원, Storybook 기반 문서화

Vue3
Typescript
Storybook

Luko의 사내 디자인 시스템 기반 컴포넌트 라이브러리 Lukomponent 리뉴얼 프로젝트에 참여하여, 기존 Vue 2 기반 라이브러리를 Vue 3Storybook 중심으로 재설계 및 구축했습니다.

프로젝트 목표

유지보수성과 확장성이 높은 Vue 3 기반의 통합 UI 컴포넌트 시스템을 구축하는 것이 프로젝트의 목표였습니다.

주요 작업 내용

Vue 3 마이그레이션

기존 Vue 2 컴포넌트들을 분석하고, Composition API에 맞춰 구조를 개선했습니다. 이전에 tree-shaking이 되지 않던 문제를 해결하여 번들 크기를 크게 줄일 수 있었습니다.

컴포넌트 개발의 복잡성

작은 컴포넌트를 만드는 것이 보기에 쉬워 보여도, "제대로" 만들기가 얼마나 어려운지에 대해 깊이 이해하게 된 프로젝트입니다.

예를 들어, 버튼 하나만 하더라도 다음 사항들을 모두 고려해야 합니다:

  • 스타일링: focus, active, disabled와 같은 상태별 스타일
  • 접근성: aria-label과 같은 accessibility 속성
  • 키보드 상호작용: 탭 키를 눌렀을 때, 엔터 키를 눌렀을 때의 행위가 어떻게 이루어져야 하는지
  • 사용자 경험: 다양한 상황에서의 일관된 동작 보장

이러한 경험을 통해 컴포넌트 라이브러리 개발의 복잡성과 중요성을 배울 수 있었습니다.