Turborepo 2.3
Turborepo 2.3은 여러 인간공학적 개선 사항을 소개합니다:
- Boundaries RFC: 개발자 경험을 유지하기 위한 제약 조건 적용
- 패키지 작업 단축키:
turbo run package#task로 작업 실행 - 간소화된 캐시 제어: 단일 플래그를 사용한 캐시 소스의 더 쉬운 관리
npx @turbo/codemod migrate를 실행하여 지금 업데이트하거나 npx create-turbo@latest로 시작하세요.
Boundaries RFC
Monorepo는 더 빠른 반복 속도와 놀라운 유연성을 제공하지만 새로운 도전 과제도 도입합니다:
- 패키지의 공개 API가 존중되는지 어떻게 확인합니까?
- 코드를 사용할 수 있는 위치와 사용할 수 없는 위치를 모든 개발자에게 어떻게 전달합니까?
- 패키지가 올바른 컨텍스트에서만 사용되도록 어떻게 보장할 수 있습니까?
이는 monorepo에서 구축할 때 핵심 질문의 몇 가지 예일 뿐입니다: Workspace의 구조적 무결성을 어떻게 전달하고 시행합니까?
이 게시물을 게시할 당시 Boundaries RFC는 초기 초안일 뿐입니다. 아래에 설명된 구현은 변경될 수 있습니다. 최신 정보는 RFC 자체를 참조하세요.
Boundaries RFC는 이 문제에 대한 우리의 초기 제안입니다. 현재 접근 방식에서는 한 줄의 코드로 Boundaries를 점진적으로 채택할 수 있기를 원합니다:


또한 사용자 정의 Boundaries로 도메인, 관심사, 컨텍스트 및 기타 유용한 메타데이터를 표시할 수 있는 태그 시스템을 만들고자 합니다.


또한 플래그로 기존 진단을 허용 목록에 추가할 수 있도록 계획하고 있습니다:
이렇게 하면 새 코드에 대한 Boundaries를 시행하고 기존 문제를 점진적으로 수정할 수 있습니다.
Boundaries RFC에 대한 여러분의 아이디어와 피드백을 기대합니다.
패키지 작업 단축키
이제 정규화된 작업 식별자를 사용하여 작업을 실행할 수 있습니다:
이는 --filter를 사용하는 동등한 명령(turbo run build --filter=web)보다 편리하며 여러 작업을 타겟팅하려는 경우 더 정확합니다:
간소화된 캐시 제어
이전에는 --remote-only 및 --no-cache 플래그가 출력 아티팩트의 소스 및 캐싱을 관리하는 데 사용되었습니다. 그러나 이들이 혼란을 야기할 수 있으며 로컬 및 Remote Cache에 대한 읽기 및 쓰기 제어에 격차가 있음을 확인했습니다.
이를 개선하기 위해 이러한 플래그를 통합하고 더 많은 기능을 제공하는 새로운 --cache 플래그를 도입했습니다.
local 및 remote를 사용하여 turbo 호출의 읽기 및 쓰기 동작을 제어할 수 있습니다. 문서에서 자세히 알아보세요.
turbo query에 대한 지속적인 개선
2.2에서 패키지 및 작업 그래프에 대한 Turborepo의 지식을 사용하여 저장소를 검사하기 위해 구축된 기능인 turbo query를 도입했습니다. 더욱 강력한 쿼리를 제공하기 위해 이 기능을 추가로 반복했습니다:
- 특정 파일에 의존하는 파일을 찾기 위한 역방향 파일 추적 구현
- 타입 전용 의존성을 찾기 위한 파일 추적 필터
- 제공한 패키지 이름이 존재하는지 확인하기 위한 유효성 검사
커뮤니티
Turborepo 2.2 출시 이후 훌륭한 채택과 커뮤니티 성장을 보았습니다:
- 26.3+ GitHub Stars
- 3.4M+ 주간 NPM 다운로드
- Vercel Remote Cache를 사용하여 496년의 컴퓨팅 시간 절약
Turborepo는 핵심 팀을 포함한 모든 기여자들의 결합된 작업의 결과입니다: Anthony, Chris, Nicholas, 그리고 Tom.
Turborepo를 여러분의 빌드 도구로 만들어 주시는 지속적인 지원, 피드백 및 협력에 감사드립니다.