How we're making Turbopack fast.
In this deep dive, @lukeisandberg explains how Turbopack uses incremental caching and compilation so the cost of work scales with your change, not the size of your app.
Learn how we built Turbopack with incremental computation to scale development and builds to Next.js applications of all sizes.
https://t.co/cvlEmRCVKh
@rjwadley I think we are gonna change it so that data-urls are by default spec compliant
and you opt into the current behavior with a special mime type
@rjwadley yes. that is exactly why I went slightly spec-incompliant there. when transpiling css-in-js -> CSS data url import, then it's very useful to have relative imports work.
there's a test case here: https://t.co/BbhqJUBEn3
We've been working on something new:
Turbopack / Next.js bundle analyzer.
It's fully aware of Next.js routes and the Turbopack module graph.
You no longer have to guess where a module is loaded.
It shows the full import stack so that you can easily find where the module is used, not just one path but all paths that lead to the module being included in the bundle.
You can also inspect CSS size and other assets, as well as the server bundles.
Note: Output size shown is without compression (gzip/brotli). We're planning to add that.
For example running it on an open source application:
@fuma_nama@rauchg@isukkaw@nextjs What exactly are you missing?
On our radar is most importantly resolver plugins and transformation (i.e. what Webpack loaders do, though not very fast).
Turbopack should implement most of the same semi-standard Webpack https://t.co/1cZtdjoLJ8 HMR API. But indeed not documented.
@manulpz4@timneutkens Are you using middleware with the "nodejs" runtime?
And if yes, how are you configuring that? Anything unusual about that `export const config = ...`?
https://t.co/YHaSXlaUhj
@redacted_noah@timneutkens That one does indeed not work, you're running into issue: https://t.co/hEL8E4hJ8Q
Same with Webpack though, so not specific to Turbopack:
@redacted_noah@timneutkens That write function doesn't exist (and your snippet doesn't work in Node.js either), do you mean
Buffer.alloc(8).writeBigUInt64LE(2n)
maybe? That one does work with both Turbopack and Webpack in Next.js