Turborepo 1.11
Turborepo 1.11 completes our migration to Rust and ships several developer experience improvements:
- Our new Rust-based foundation: We've finished the port from Go to lay the groundwork for better performance, improved stability, and new features.
- Group logs for improved readability: You can now specify
--log-order=grouped
to organize your logs into distinct sections separated by tasks. - Updated examples: Start with an example for Next.js, Svelte, Remix, Nuxt, and more.
Update today by running npx @turbo/codemod migrate
.
Unlocking the future of turbo
with Rust
As we wrote about in our blog post about the migration, we're excited to start seeing the benefits of our porting effort for Turborepo users. Rust has allowed us to surface more complexity in our code so we're able to create a better experience in your codebase in several ways:
- We've noticed a slight performance improvement right away for some use cases, even without doing much performance tuning in our code yet. We look forward to diving deeper into making
turbo
even faster soon. - We were able to move incidental behaviors of globbing, paths, and encoding support to tested and supported behavior, giving us better confidence that we're handling your configuration as expected. Going forward, we'll be able to build features like validation and automatic bug-fixing codemods into Turborepo for better stability.
- We've quickly iterated on enhancing error messages in your monorepo as a feature for next release, giving you critical information for find the source of misconfigurations.
- We've been able to catch possible platform-related bugs much sooner, as Rust forces us to think about the differences between platforms and environments much more closely than Go. This deepened reliability removes an entire category of possible bugs from your repository.
If you find any problems that you believe are related to the new Rust codepath, you can opt back to the Go codepath using the --go-fallback
flag and report an issue on GitHub.
Group logs for improved readability
To make it easier to review your task logs, we've introduced the --log-order
flag to output all logs from a task after it finishes rather than as it writes. This results in logs that are separated per-task, improving readability on a specific task's logs.
Enable this behavior using --log-order=grouped
. Check out the documentation to learn more
Updated examples
Our repository contains an examples directory
with starter monorepos for your projects.
To get started with an example, run:
We're putting a renewed effort towards ensuring our examples are kept up-to-date. Additionally, we've re-architected our examples to advocate for best practices in monorepos. For example:
- In-editor go-to-definition across packages
- Dependencies updated to latest versions
- Tooling like ESLint, Prettier, jest, and vitest pre-configured
- Hot-reloading across packages
Use an example to get started, or browse the code directly for more.
Community
Since releasing Turborepo 1.10 we've seen incredible adoption and community growth:
- 23.6k+ GitHub Stars
- 1.8M+ weekly NPM downloads
- 206 years of compute time saved through Remote Caching on Vercel
Turborepo is the result of the combined work of all of its contributors, including our core team.
Thank you for your continued support, feedback, and collaboration to make Turborepo your build tool of choice.