Add "exports" special case handling for @babel/runtime #990
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:
This is a workaround for #984 (and resolves #984). It adds a specific exception in the resolver for
'@babel/runtime'
to prevent asserting the"import"
condition name on these modules (when using Package Exports). This is necessary so that the CJS version of these Babel helpers are resolved, which enable CJS/MJS interop for all other modules (given our current strategy of resolving both"require"
and"import"
in all other packages and using Babel-driven ESM compatibility).This workaround is removable if/when any of:
"require"
and"import"
conditions via ESM support in a future version of Metro.Changelog: [Experimental] Fix
@babel/runtime
issue when using Package ExportsDifferential Revision: D46107056