The fact that there's no tangible plan for any plugin support in Turbopack is actually what made me not choose Next.js.
The answer for people who need basically any build plugin is "use the webpack mode", and I have zero faith in Vercel maintaining that past the next major version.
I guess we'll see whether they figure out a story for plugins by then.
The technical approach here is solid. Fine-grained dependency tracking with automatic invalidation is the right way to do incremental compilation. The Rust implementation means it can actually handle large codebases without the JS runtime becoming the bottleneck.
But the skepticism in this thread about ecosystem fragmentation is valid. Vite won because it worked with the existing ecosystem, not against it. Turbopack requiring Rust for plugins limits who can extend it.
That said, if you're already locked into Next.js, this is a clear win. The question is whether Next.js's market position justifies a separate build tool or whether this accelerates the trend of frameworks becoming walled gardens.
Much less indeed, not all Webpack plugins capabilities are supported and now anyone that wants to make one has to learn Rust, which surely isn't the same as writing it in JavaScript.
The splitting communities effect always gets left out of these announcements, or gets positioned as something good.
Not to say it is the quip but I have had buggy builds with bun that requires sticking to esbuild, I think it was bundling prettier with many plugins into a single JS file.
I always do that sort of thing in Docker so never considered it could be a Linux-specific thing, maybe so.
The fact that there's no tangible plan for any plugin support in Turbopack is actually what made me not choose Next.js.
The answer for people who need basically any build plugin is "use the webpack mode", and I have zero faith in Vercel maintaining that past the next major version.
I guess we'll see whether they figure out a story for plugins by then.
The technical approach here is solid. Fine-grained dependency tracking with automatic invalidation is the right way to do incremental compilation. The Rust implementation means it can actually handle large codebases without the JS runtime becoming the bottleneck.
But the skepticism in this thread about ecosystem fragmentation is valid. Vite won because it worked with the existing ecosystem, not against it. Turbopack requiring Rust for plugins limits who can extend it.
That said, if you're already locked into Next.js, this is a clear win. The question is whether Next.js's market position justifies a separate build tool or whether this accelerates the trend of frameworks becoming walled gardens.
I personally love Vite and Remix.
I may be out of the loop, but isn't the JS/TS community consolidating around Vite?
https://vite.dev/
turbopack is tightly coupled with next.js
rest of the JS community can't use turbopack, so they went with vite
https://github.com/utooland/utoo/issues/1872 utoo uses Turbopack though
That project is working towards "mako next" project and is actually talking to vercel devs. So it may make sense to them.
But that is not representative of broader ecosystem.
Yes, TurboPack is for legacy projects that can't update from Webpack, but still want some bundle speed improvements.
Which is mainly NextJS (old and new), since under the hood that still seems to rely on Webpack.
Not really, because they only ported into Rust the most used plugins with "yes but" constraints.
Much less indeed, not all Webpack plugins capabilities are supported and now anyone that wants to make one has to learn Rust, which surely isn't the same as writing it in JavaScript.
The splitting communities effect always gets left out of these announcements, or gets positioned as something good.
This thing can't be replaced by bun on Linux.
Is this a quip I’m not understanding or is there really something here that bun‘s bundled wouldn’t be able to do? Because I can’t find anything.
Not to say it is the quip but I have had buggy builds with bun that requires sticking to esbuild, I think it was bundling prettier with many plugins into a single JS file.
I always do that sort of thing in Docker so never considered it could be a Linux-specific thing, maybe so.
Not to be confused with Turborepo.