Mixed Graph
Not only can Turbopack travel between these different layers, but it can do so across and between different environments.
- It's possible to transitions between Output Formats
- For example, starting in ecmascript but referencing static assets with
new URL('./foo.png')
- For example, starting in ecmascript but referencing static assets with
- Embed/Reference Output Assets in Modules
- e.g. embedding base64 data url of a chunk inside another chunk
- SSR Page references client chunks for hydration
- embed urls to client-side chunks into server-generated html
- references output assets from a different chunking root from a different environment
- Client Component referenced from Server Component
- Client component wrapper (Server Component) references client chunks of a client component
All of this is made possible by having a single graph that models all source, modules, and output assets across all different environments.