Avoid duplicate work being done in RSC server plugin #45
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The RSC server loader already collects all the server references. So we don't need to do the same work again in the plugin. Instead, we can just read them from the provided map. (With a slight disadvantage being that the module IDs can only be added afterwards in the plugin, while also creating the server manifest.) To still support client-side imported server actions, the SSR loader now also needs to collect server references.
This should simplify adding support for inline
'use server'
references to the plugin.BREAKING CHANGE: The
serverReferencesMap
is now a required option ofcreateWebpackRscServerLoader
. In addition, it also needs to be passed tocreateWebpackRscSsrLoader
(required for server actions that are imported from client components).