목록 보기
TurboRepo Just-in-Time Packages 적용기 Feat. ModuleResolution
프론트엔드

TurboRepo Just-in-Time Packages 적용기 Feat. ModuleResolution

카카오엔터테인먼트FE
카카오엔터테인먼트FE
2024년 12월 10일

두줄요약

Turborepo JIT Packages로 공통 패키지 소스를 빌드 없이 참조하는 방식을 소개했습니다. TypeScript 모듈 해석과 Next.js 설정 충돌을 분석하고 해결 과정을 정리했습니다.

문제 상황

  • Turborepo Compiled Packages 기반 공통 코드 수정 후 필수 컴파일 과정으로 인한 개발 흐름 저하
  • 여러 서비스의 공통 자원을 모노레포로 통합 관리하는 환경

구조와 흐름

  • Just-in-Time Packages의 소스 직접 참조와 소비 프로젝트 빌드 시점 컴파일
  • package.json의 exports로 TypeScript·Node.js의 소스 진입점 연결
  • moduleResolution의 node·nodenext·bundler별 패키지 해석 규칙 비교

해결 방법

  • 워크스페이스 패키지의 exports를 src TypeScript 파일로 지정해 빌드 없는 즉시 반영 구성
  • moduleResolution: bundler 전환 후 exports에 공개된 경로인 xstate/guards 사용
  • Next.js 13.5 이상 업데이트로 tsconfig의 bundler 설정 강제 node 변경 문제 해소

트레이드오프

  • 프로젝트 빌드 시간 증가 가능성
  • 번들러 사용 프로젝트 중심의 적용 제약과 패키지 버저닝 전략 검토 필요

다음 읽기

#Turborepo 주제를 이어서 읽기

TurboRepo Just-in-Time Packages 적용기 Feat. ModuleResolution

모노레포 공통 패키지를 TurboRepo Just-in-Time Packages 방식으로 바꾸는 과정을 소개했습니다. Typescript moduleResolution과 exports 설정을 함께 이해하며 빌드 없이 소스를 참조하는 흐름을 설명했습니다.

카카오엔터테인먼트FE
카카오엔터테인먼트FE
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...