Project References

소비자는 가능하면 생산자의 빌드 산출 타입을 바라봅니다

composite 패키지는 .d.ts를 만들고, 의존 패키지는 그 선언 파일을 기준으로 경계를 안정적으로 유지합니다.

producer

packages/common/src

export interface User { ... }

공통 타입과 유틸리티를 독립 프로젝트로 관리합니다.

tsc -b

dist/*.d.ts 생성

declaration + composite

타입 표면만 소비자에게 공개하고 증분 빌드 캐시를 남깁니다.

consumer

packages/ui

references: [{ "path": "../common" }]

참조 그래프를 통해 빌드 순서와 타입 의존성을 명확히 합니다.

소스 직접 참조

import

../../common/src/types

장점

별도 빌드 전에도 IDE에서 빠르게 따라갈 수 있습니다.

위험

패키지 경계와 런타임 배포 구조를 우회할 수 있습니다.

컴파일된 선언 참조

import

common/types

장점

실제 패키지 공개 API와 동일한 타입 표면을 사용합니다.

빌드 전제

생산자 빌드와 paths, package exports 설정이 맞아야 합니다.