The Turbopack team and I were excited to announce Turbopack's alpha release at Next.js Conf and we've been even more energized by the progress we've made since then.
Last month, I had the opportunity to take the stage at React Day Berlin to share more about the future plans for Turbopack.
Webpack has been downloaded over three billion times and changed the way we build for the Web. However, webpack was built 10 years ago—with the needs of 10 years ago in mind. Since then, web development has evolved in new ways such that webpack’s architecture can't easily accommodate web engineers' needs today.
Some big changes are needed but it’s hard to make such large shifts while keeping backwards compatibility. With so many teams using and depending on webpack's core functionality today, the webpack team must be sensitive to the fact that we can't rewrite all of webpack from scratch.
Today’s web developers need a tool with an architecture that will be flexible, extensible, and fast for the next 10 years.
Writing in Rust, we are currently working on creating two layers of interoperability:
- Turbo engine: A core engine for common tasks like caching, invalidation, and incremental builds
- Turbopack: A bundler handling CSS, static assets, Wasm, images, fonts, and more leveraging SWC
We can already hot reload common code update patterns in milliseconds independent from the size of your codebase. And, through Turborepo-like Remote Caching, we believe we can rebuild some of the largest sites in the world for production in seconds for minor changes.
For more on how the Turbo engine can cache your code all the way down to the function level, visit the Turbopack Core Concepts documentation.
When I gave this talk last month, we had already received plenty of great user feedback. After hearing from many of our alpha testers, we've shipped some new features as a part of the Next.js 13.1 release including support for:
- PostCSS, including Tailwind CSS
- and more
To try out some of these features today, create a new Next.js 13 project using:
npx create-next-app --example with-turbopack
Turbopack's alpha is purpose-built with improving the developer experience for
next dev. Once we've reached feature parity with the Next.js 13 dev server, we'll use
next build to work on building for production.
In the future, we will support other frameworks so developers everywhere can enjoy the Turboverse using a plug-in architecture. Improving developer insights are also on the roadmap for Turbo, allowing you to create statistical summaries about your build, lint to point you to build optimization opportunities, and analyzers to give you deeper insights.
If you'd like to learn more about our future plans, visit the Turbopack Roadmap. We're excited to continuing expanding the Turboverse and building the Web faster.