pnpm 모노레포에서 React 19 마이그레이션하기: 숨겨진 호이스팅 레이어가 만든 타입 충돌 트러블슈팅
Migrating React 19 in a pnpm monorepo: Troubleshooting Type Conflicts Caused by a Hidden Hoisting Layer

TL;DR AI
1분핵심 요약
pnpm 모노레포에서 앱별로 React 18과 React 19를 나누기 위해 catalogs를 도입했지만, React 19 타입 패키지가 React 18 앱에도 섞여 들어갔습니다.
그 결과 TypeScript에서 TS2322 오류가 다수 발생했고, 원인은 pnpm의 계층적 의존성 해석과 숨은 hoisting 동작으로 드러났습니다.
즉, pnpm catalogs를 써도 워크스페이스 경계를 완전히 막지 못해, 점진적인 React 19 마이그레이션 중 타입 오염이 빌드를 깨뜨릴 수 있다는 점을 보여줍니다.
