Next.js

Turbopack Storage Revolution and Worker Fixes

Today we dive into major Turbopack infrastructure improvements with Luke Sandberg's storage system overhaul that's making builds faster and more memory-efficient. Plus, we've got some exciting fixes for web workers, including proper SharedWorker support and WASM loading capabilities.

Duration: PT4M8S

https://podlog.io/listen/next-js-36fde2ae/episode/turbopack-storage-revolution-and-worker-fixes-eb30b9bf

Transcript

Hey there, developers! Welcome back to another episode of the Next.js podcast. I'm your host, and wow, do we have an exciting day to dig into. January 22nd brought us 18 merged pull requests and 20 additional commits - and let me tell you, there's some really foundational work happening under the hood that's going to make your development experience even better.

Let's jump right into our biggest story of the day - and this one's a bit of a technical deep dive, but stick with me because it's actually really cool. Luke Sandberg has been on an absolute tear with some major Turbopack storage improvements. We had two massive PRs that are essentially revolutionizing how Next.js handles internal data storage.

First up was PR 88355, where Luke replaced something called InnerStorage with a new generated TaskStorage struct. Now, I know that sounds pretty abstract, but here's why you should care - this change is saving about 1% of persistent cache size. That might not sound like much, but when you're working on large applications, that adds up to real savings in build times and disk space.

Then, in PR 88397, Luke took things even further by migrating to typed accessors and removing the old CachedDataItem adapter. The results? They tested this on the Vercel site codebase and saw build times drop from about 56 seconds to 55 seconds. Again, that might seem small, but it's a measurable improvement across millions of builds. Plus, the cache size dropped from 4.3 gigabytes to 4.1 gigabytes - that's 200 megabytes saved!

What I love about these changes is they show how much thought goes into making Next.js more efficient at every level. Luke didn't just make things faster - he made the code more ergonomic and memory efficient too.

But wait, there's more! Matt Mastracci landed a really exciting fix for web workers with PR 88602. If you've ever tried to use WASM files inside web workers and run into weird blob URL issues, this one's for you. The team replaced those problematic blob URLs with real file entrypoints, which means relative URL resolution now works properly inside workers. As a bonus, they also implemented SharedWorker support - something that wasn't working correctly before.

Speaking of fixes, we got a nice React upgrade from the Next.js bot, bumping us to the latest React experimental build. These regular updates help ensure we're always running on the newest React features and bug fixes.

Zack Tanner also landed an important fix for PPR fallback shells with root parameters. If you're working with internationalization and partial prerendering, this fix ensures that your fallback shells properly cache and reuse data instead of suspending unnecessarily.

On the developer experience side, Wyatt Johnson added something really neat - a new Claude Code skill for updating documentation. It's like having a documentation assistant that helps maintainers keep docs in sync with code changes. Pretty clever way to solve the eternal problem of docs getting out of date!

The team also tackled some Windows-specific issues. Benjamin Woodruff worked on fixing OS Error 80 problems that Windows users were experiencing with file linking operations. It's always great to see platform-specific issues getting attention.

And I have to give a shout-out to the team for their testing improvements too. They fixed some deployment test issues and made test manifests more reliable. Sometimes the unglamorous work of improving test infrastructure is what keeps everything else running smoothly.

Today's focus should be on appreciating these kinds of foundational improvements. When you're working on your Next.js projects, remember that there's an incredible amount of engineering happening behind the scenes to make your builds faster, more reliable, and more feature-complete. These aren't always the flashiest changes, but they're the ones that compound over time to create a really solid development experience.

That's a wrap for today's episode! Keep building amazing things with Next.js, and we'll catch you tomorrow with more updates from the rapidly evolving world of React and Next.js development. Until then, happy coding!