You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the framework is fast, 161 kb client bundle by default. But it's slower due to:
Fumadocs MDX
No on-demand compilation
On development mode, it should be possible to require compiling MDX pages on-demand, instead of pre-compiling all MDX pages. This is not possible, even on Turbopack, an async import like await import("./file.mdx") will always trigger file.mdx to be bundled first.
However, it is how Fumadocs optimize MDX files - by generating a single file to import all other MDX pages:
exportconstdocs=[toRuntimeAsync({"title":"User Guide","description":"The CLI tool that automates setups and installing components."},()=>import("../content/docs/cli/index.mdx")]
Unused Client Component
MDX pages are compiled into server components via custom loader. For each page, there's different client components being referenced, but Next.js adds all client components into client bundle if they are referenced by a imported server component. This means even if the server component isn't rendered, its client components will still be included in client bundle.
This causes the client components referenced in unused MDX pages loaded by client, while it is unnecessary.
Describe the solution you'd like
Wait for Turbopack to support on-demand compilation for dynamic imports
Wait Next.js to support a kind of option that supports detecting referenced client components in a smarter way
Describe alternatives you've considered
N/A
Additional context
No response
The text was updated successfully, but these errors were encountered:
What problem will this feature address?
Currently the framework is fast, 161 kb client bundle by default. But it's slower due to:
Fumadocs MDX
No on-demand compilation
On development mode, it should be possible to require compiling MDX pages on-demand, instead of pre-compiling all MDX pages. This is not possible, even on Turbopack, an async import like
await import("./file.mdx")
will always triggerfile.mdx
to be bundled first.However, it is how Fumadocs optimize MDX files - by generating a single file to import all other MDX pages:
Unused Client Component
MDX pages are compiled into server components via custom loader. For each page, there's different client components being referenced, but Next.js adds all client components into client bundle if they are referenced by a imported server component. This means even if the server component isn't rendered, its client components will still be included in client bundle.
This causes the client components referenced in unused MDX pages loaded by client, while it is unnecessary.
Describe the solution you'd like
Describe alternatives you've considered
N/A
Additional context
No response
The text was updated successfully, but these errors were encountered: