-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: prevent to load script again #756
Conversation
🦋 Changeset detectedLatest commit: 55cce05 The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Skipped Deployment
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @hosseinmd, sorry for the late reply but I was unavailable most of the week.
The concept introduced in this PR looks great, we definitely want this in the next major (5.0) release!
Can you please add some tests for this scenarios? We need to document this behaviour as well as we can
I've also noticed that we're using the same variable
sriptsPromises
for both prefetching and loading - while in theoery these should not overlap, I would go with creating a separate variables to avoid potential collision in rare edge cases.
We also need to address housekeeping of the promises that have already been fulfilled - we should remove the entires from scriptsPromises
that are not relevant anymore.
Last thing that comes to my mind: perhaps we could return a promise in prefetchScript
and loadScript
instead of executing loadProcess again after awaiting the previous promise?
Yes, I will do it //updated |
|
Ok, I will do it. //Updated |
i added a test for that. 969d6d8 |
Done |
295a2bf
to
ee3a58c
Compare
In this ee3a58c commit loadScript will excute script if promise is for prefetch |
@hosseinmd can you merge newest main and resolve the conflicts? Then I will proceed with another review, thanks! |
f1e31bf
to
bfc6a12
Compare
Done |
404658e
to
b139dd6
Compare
Nice job! I'll try to review it later today |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lets clean this up a little bit, but looks good overall 👍
packages/repack/src/modules/ScriptManager/__tests__/Federated.test.ts
Outdated
Show resolved
Hide resolved
packages/repack/src/modules/ScriptManager/__tests__/Federated.test.ts
Outdated
Show resolved
Hide resolved
Done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all looks good, just one last thing 🙏
packages/repack/src/modules/ScriptManager/__tests__/ScriptManager.test.ts
Outdated
Show resolved
Hide resolved
e3b0e4a
to
55cce05
Compare
Last commits rebased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGMT 🎉
Thank you for your work on this @hosseinmd, this was no easy issue to tackle! 👏 🚀 |
#749
Summary
In this PR, I prevented
loadScript
to load scripts is loaded beforeTest plan
This is happening in remote federation with huge size of script and too many modules