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.
THIS PR IS STILL A DRAFT. NOT READY FOR REVIEW.
DISCLAIMER
I created this PR on top of #89.
This PR includes all the changes of
It addresses issue #22.
With the accumulation of the three PRs this one is quite big. I would normally break it down in several smaller PRs but I considered including all changes in one, in the hope it would accelerate the process. I would be happy of breaking the PR down in smaller chunks if we can agree on a reviewing plan.
MOTIVATION
The
import-map-overrides
code is currently not covered by Jest tests. This makes updating the project rather risky, as any change needs to be manually tested to make sure no regressions are introduced and the manual process might be missing potential errors.Also, the interface looks rather outdated with a spartan styling of components. In addition to that, the code still uses class components, while the practice nowadays is to use functional components, for their simplicity and ease of maintenance.
Finally, the repository does not include any automation for deployment, a thing that has led in the past to problems for the deployed version of other packages in the project.
This PR tries to remediate all these problems.
CHANGES INCLUDED
This PR includes changes from other 2 PRs (see above). We will summarize here the list of changes introduced:
ImportMapOverridesContext
) which allows sharing information to several components in the hierarchy, leading to a more responsive UI where changes can be reflected in several places. For example, the button now can change color to indicate that there are pending changes that need a reload. This also allows better encapsulation and testing of that logic.nextOverriddenModules
it does not do the same for modules inpendingRefreshDefaultModules
, even if they also would require a reload to become effective).You can see how the interface looks like in the following video and images:
imo.mp4