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