소개
Turborepo 문서에 오신 것을 환영합니다!
Turborepo란 무엇인가요?
Turborepo는 JavaScript 및 TypeScript 코드베이스를 위한 고성능 빌드 시스템입니다. monorepo 확장을 위해 설계되었으며, 단일 패키지 워크스페이스의 워크플로우도 더 빠르게 만들어줍니다.
개인 개발자부터 세계 최대 엔터프라이즈 엔지니어링 조직까지, Turborepo는 리포지토리에서 실행해야 하는 작업을 최적화하는 경량 접근 방식을 통해 수년간의 엔지니어링 시간과 수백만 달러의 컴퓨팅 비용을 절감하고 있습니다.
monorepo 문제
monorepo는 많은 장점을 가지고 있지만 확장에 어려움을 겪습니다. 각 워크스페이스에는 자체 테스트 스위트, 자체 린팅 및 자체 빌드 프로세스가 있습니다. 단일 monorepo에는 수천 개의 실행할 작업이 있을 수 있습니다.

이러한 속도 저하는 특히 대규모에서 팀이 소프트웨어를 구축하는 방식에 극적인 영향을 미칠 수 있습니다. 개발자가 고품질 코드를 빠르게 제공할 수 있도록 피드백 루프가 빨라야 합니다.
monorepo 솔루션

Turborepo는 monorepo의 확장 문제를 해결합니다. Remote Cache는 모든 작업의 결과를 저장하므로 CI가 동일한 작업을 두 번 수행할 필요가 없습니다.
또한 monorepo에서 작업 스케줄링은 어려울 수 있습니다. 빌드, 그다음 테스트, 그다음 린트를 수행해야 할 수 있습니다...
Turborepo는 최대 속도를 위해 작업을 스케줄링하여 사용 가능한 모든 코어에 걸쳐 작업을 병렬화합니다.
Turborepo는 점진적으로 도입할 수 있으며 몇 분 만에 어떤 리포지토리에든 추가할 수 있습니다. 이미 작성한 package.json 스크립트, 이미 선언한 종속성 및 단일 turbo.json 파일을 사용합니다. Turborepo는 npm 생태계의 규칙을 따르므로 npm, yarn 또는 pnpm과 같은 모든 패키지 관리자와 함께 사용할 수 있습니다.
이 문서 사용 방법
전문 용어를 최소화하기 위해 최선을 다할 것입니다. 하지만 문서를 읽을 때 이해하는 것이 중요한 몇 가지 필수 용어가 있습니다. 이러한 용어에 대해 배우는 경우를 대비하여 용어집 페이지를 만들었습니다.
커뮤니티 참여
Turborepo와 관련된 질문이 있으시면 언제든지 GitHub Discussions, Vercel Community 및 Twitter에서 커뮤니티에 질문하실 수 있습니다.