This repository has been archived by the owner on Apr 6, 2023. It is now read-only.
fix(nuxt): ensure component helper methods do not create side-effects #6789
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.
π Linked issue
resolves nuxt/nuxt#14650
β Type of change
π Description
Lazy components (defined with
defineAsyncComponent
) were marked as having a side effect, so were persisting into the routes bundle. We should certainly not be including async component statements within the entry bundle, which also had the effect of marking them as dependencies of the entry rather than the page they correspond to (resulting in over-prefetching - see nuxt/nuxt#14584).Note that I encountered this when debugging what I believe to be an upstream rollup bug that I'm still looking into, which is difficult to reproduce but essentially boils down to two modules which each contain:
being transformed into:
(This seems like an over-zealous search + replace on the part of rollup.)
π Checklist