Turborepo 1.9

Monday, April 11th, 2023
Greg Soltis
Name
Greg Soltis
X
@gsoltis
Nathan Hammond
Name
Nathan Hammond
Tom Knickman
Name
Tom Knickman
X
@tknickman
Anthony Shew
Name
Anthony Shew
X
@anthonysheww
Jared Palmer
Name
Jared Palmer
X
@jaredpalmer
Mehul Kar
Name
Mehul Kar
X
@mehulkar
Chris Olszewski
Name
Chris Olszewski
Nicholas Yang
Name
Nicholas Yang
X
@nicholaslyang
Alexander Lyon
Name
Alexander Lyon
X
@_arlyon

Turborepo 1.9는 캐싱 동작을 더 잘 이해할 수 있도록 작업 실행에 대한 관찰 가능성을 개선하는 데 중점을 둡니다:

npx @turbo/codemod migrate를 실행하여 오늘 업데이트하세요.

작업 실행 보기 및 비교

이제 --summarize 플래그를 사용하여 작업 실행의 JSON 요약을 생성할 수 있습니다:

Terminal
turbo build --summarize

이 플래그가 활성화되면 Turborepo는 .turbo/runs/turbo가 작업의 구성과 코드를 어떻게 해석했는지 이해하는 데 필요한 모든 정보가 포함된 요약을 생성합니다.

Terminal
Tasks:    3 successful, 3 total
Cached:   0 cached, 3 total
Time:     1.707s
Summary:  /Users/acme/projects/acme/.turbo/runs/2Nn3X6nWDhP9ag8BnmivWRxHpHC.json

그런 다음 선호하는 JSON 비교 도구를 사용하여 요약을 비교하여 캐시 히트 또는 캐시 미스가 발생한 이유를 이해할 수 있습니다.

자세한 내용은 문서를 참조하세요.

나만의 스타터 가져오기

create-turbo는 이제 공식 Turborepo 예제 중 하나에서 새 프로젝트를 시작할 수 있도록 지원합니다. 단일 명령으로 예제를 시작하세요:

Terminal
npx create-turbo@latest -e kitchen-sink

터미널 UI에서 선호하는 패키지 매니저를 선택하면 create-turbo가 선택한 예제를 선택한 패키지 매니저로 자동 변환합니다.

또한 커스텀 저장소 소스와 함께 create-turbo를 사용하여 자신의 커스텀 스타터 또는 커뮤니티의 다른 스타터를 재사용할 수 있습니다:

Terminal
npx create-turbo -e https://github.com/your-org/turbo-starter

엄격한 환경 Experimental

이제 --env-mode=strict 플래그를 사용하여 작업이 액세스할 수 있는 환경 변수를 제한할 수 있습니다. 작업은 명시적으로 선언한 변수만 인식하여 더 안전한 캐싱 환경을 만듭니다.

strict 모드에서 Turborepo는 다음에 선언된 환경 변수를 전달합니다:

Turborepo logo
./turbo.json
{
  // 모든 작업에서 사용 가능
  "globalPassThroughEnv": ["GLOBAL_VAR_1"],
 
  // 모든 작업에서 사용 가능하며 캐시 무효화
  "globalEnv": ["GLOBAL_VAR_2"],
 
  "pipeline": {
    "build": {
      // `build` 작업에만 사용 가능
      "passThroughEnv": ["VAR_1"],
 
      // `build` 작업에서 사용 가능하며 캐시 무효화
      "env": ["VAR_2"]
    }
  }
}

strict 모드에서 이 구성은 build 작업에 4개의 환경 변수만 노출하여 개발 프로세스 초기에 누락된 변수를 더 쉽게 찾을 수 있도록 도와줍니다.

--env-modelooseinfer도 지원합니다.

자세한 내용은 문서를 참조하세요.

커뮤니티

Turborepo v1.8 출시 이후 놀라운 채택률과 커뮤니티 성장을 보았습니다:

Turborepo는 핵심 팀을 포함한 모든 기여자들의 노력이 결합된 결과입니다.

Turborepo를 여러분의 빌드 도구로 선택하기 위해 지속적인 지원, 피드백, 협업에 감사드립니다.