TurboRepo Just-in-Time Packages 적용기 Feat. ModuleResolution
백엔드
TurboRepo Just-in-Time Packages 적용기 Feat. ModuleResolution
두줄요약
모노레포 공통 패키지를 TurboRepo Just-in-Time Packages 방식으로 바꾸는 과정을 소개했습니다. Typescript moduleResolution과 exports 설정을 함께 이해하며 빌드 없이 소스를 참조하는 흐름을 설명했습니다.
핵심 내용
- 모노레포에서 공통 패키지를 TurboRepo의 Compiled Packages 방식으로 관리할 때 빌드 과정이 불편했던 문제를 계기로 Just-in-Time Packages 적용을 시도
- Just-in-Time Packages의 개념을 소개하고, 소스 코드를 직접 참조해 빌드 없이 사용하는 흐름을 실습으로 설명
- 이를 위해 Typescript의 moduleResolution 동작 방식을 함께 정리하며 node, nodenext, bundler 해석 차이를 설명
- Turborepo에서 exports를 설정하고 workspace 의존성으로 연결해 JIT 패키지를 사용하는 예시를 제시
적용해볼 점
- 모노레포 공통 패키지에서 소스 직접 참조와 빌드 시점 컴파일 전략을 검토할 여지
- 패키지 해석을 위해 package.json exports와 Typescript moduleResolution 설정을 함께 맞출 필요
- JIT 패키지 도입 시 Node.js와 TypeScript 버전, 번들러 해석 방식의 차이 확인 필요
