Front-end

turborepo

c62 2024. 7. 18. 15:44

Task 정의

  • 각 task object의 key들은 turbo run 으로 실행할수 있다
  • turborepo는 task name과 동일한 script를 workspace의 package.json에서 찾음

 

task 를 정확한 순서로 동작시키기

  • dependsOn
    • ^ prefix 가 붙은 것은 다른 package의 build가 우선되어야 하는경우 의존성 있는 package우선 빌드 이후 applicaton 이 빌드됨
    •  동일한 package에서 두개의 task를 특정 순서에 따라 실행하고싶을때 prefix ^ 없이 추가
    • package를 특정하고싶은경우 package#build 처럼 # 로 연결
    • 의존하는 작업이 없는경우 빈 배열을 할당

output 특정하기

task가 성공적으로 완료되었을때 캐싱되어야하는 file, directory를 배열 형태로 설정
  • 지정하지 않으면 어떤 파일도 캐싱하지 않음

 

input 특정하기

캐싱을 위해 태스크의 hash 에 포함되길 원하는 file을 지정
  • 기본적으로 Turborepo는 Git에서 추적하는 패키지의 모든 파일을 포함
// ./turbo.json
{
  "tasks": {
    "spell-check": {
      // 아래 패턴에 포함되는 경우에만 spell-check 작업 캐시에서 제외됨
      "inputs": ["**/*.md", "**/*.mdx"] 
    }
  }
}

 

나중에 추가될 하위 명령과의 잠재적 충돌을 피하기 위해 turbo run 을 사용하는것이 좋음

 



참고문서
https://turbo.build/repo/docs

 

Introduction | Turborepo

Welcome to the Turborepo documentation!

turbo.build