turborepo란

터보레포는 프로젝트의 빌드 작업(린트, 빌드, 테스트 등)들을 최적화시켜주는 것에 목적을 둔 빌드 시스템이다.

모노레포를 사용할 때의 가장 큰 문제는 빌드 시 워크스페이스 각각의 작업(린트, 빌드, 테스트 등)들이 나누어져 있다 보니 한 번 빌드를 시작하면 너무 많은 작업들이 몰릴 수 있다는 것이다.

이와 같은 상황을 막기 위해 터보레포는 모든 작업들을 캐싱하여 빌드 과정 내의 작업 중복을 막고, 각 작업들의 진행 순서를 효율적으로 분배해 최적화해준다.

캐싱(docs)

터보레포가 효율적인 빌드 성능을 낼 수 있는 비결은 캐싱에 있다. 프로젝트의 package.json에는 빌드, 테스트, 린트 등의 작업들이 명시되어 있는데, 터보레포는 각 작업들의 인풋과 아웃풋을 캐싱한다.

turbo run [task] 명령어를 통해 작업을 진행하면

이와 같은 캐싱 기능 덕분에 빌드 타임을 아낄 수 있다!