feat(metro-runtime): support using strings as module IDs #1132
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.
Summary
Using strings will make it easier to debug larger bundles by allowing users to optionally preserve module names with something like
serializer.createModuleIdFactory
.Unclear how to support the
nativeRequire
code since it's unclear how it works, there's some sort of bit shift being performed on the numeric IDs.Probably also want to drop verbose module IDs since you can just use the string module IDs.
Test plan
TBD. Unclear if this fully works due to features that don't have comments or any usage in the repo.
I also can't get vs code to respect the flow types used in this file so I build it outside the repo and copy the changes in.