Turborepo
- React Native course
- Expert
- Lesson 22/47
- 5 min
Learn monorepo management with Turborepo.
Turborepo
Turborepo is a build accelerator for monorepos. In turbo.json you declare each task's dependencies; Turborepo runs them in parallel and caches the results.
Thanks to the cache, the same task takes milliseconds instead of seconds on the second run. The build output lives in .turbo or in the cloud (remote cache). CI time shrinks dramatically.
Cache and parallel execution
Turborepo runs independent tasks in parallel. For example, apps/mobile and apps/web can build without waiting for each other; this is much faster than serial execution.
The cache holds task output and its hash. If the source code does not change, the task is skipped and the output is copied from the cache. turbo run build --force bypasses the cache.
Practice Add a turbo.json pipeline
Add a pipeline field to a turbo.json file. Define a build task; the outputs array should contain dist/**.
Starter code
{
// Add the pipeline field here
}Sample solution
{
"pipeline": {
"build": {
"outputs": ["dist/**"]
}
}
}Questions and answers
Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.
1 What is Turborepo's core gain?
- Fast builds via cache
- A new language Correct answer
- A UI component library
- Writing less code
Explanation: Turborepo combines cache and parallelism.
2 Write the Turborepo config file name
Turborepo settings are kept in the ____.json file.
Turborepo settings are kept in the turbo.json file.
Explanation: turbo.json is the Turborepo config file.
3 Match the Turborepo pieces
| Term | Meaning |
|---|---|
turbo.json |
Task settings |
pipeline |
Task definition |
cache |
Output storage |
--force |
Skip cache |