Turborepo
JavaScript/TypeScript Monorepo를 위한 빠른 빌드 시스템
Features
- Vercel이 인수
- JavaScript/TypeScript Monorepo를 위한 빠른 빌드 시스템
- 프론트엔드 에는 모노레포가 생산성에 좋지만, 툴링이 복잡했기에 그걸 개선한 도구
Turborepo가 Go에서 Rust로 마이그레이션하는 이유
"Turborepo가 Go에서 Rust로 마이그레이션하는 이유" by Vercel
- Turborepo 는 JavaScript / TypeScript 를 위한 고성능 빌드 시스템
- 증분빌드, 병렬실행, 리모트 캐쉬(Vercel 인프라 사용)등을 이용해서 성능 향상 시도
- 처음에는 좋은 성능을 보여준 esbuild 을 쫒아 만들어짐
- Go: goroutine 모델, Context API 및 서버 인프라의 표준 라이브러리에 집중
- Rust: Process management, Filesystem, Low-level OS concepts, 사용자 컴퓨터에 배포하기
Monorepo Projects
- Monorepo
- Bazel (by Google) - A fast, scalable, multi-language and extensible build system.
- Gradle (by Gradle, Inc) - A fast, flexible polyglot build system designed for multi-project builds.
- Lage (by Microsoft) - Task runner in JS monorepos
- Lerna - A tool for managing JavaScript projects with multiple packages.
- Nx (by Nrwl) - Next generation build system with first class monorepo support and powerful integrations.
- Rush (by microsoft) - Geared for large monorepos with lots of teams and projects. Part of the Rush Stack family of projects.
- Turborepo (by Vercel) - The high-performance build system for JavaScript & TypeScript codebases.
- Pants
- Earthly