Support ';&' as an alternative to '?' in bundle URLs #974
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:
Recent versions of JavaScriptCore strip query strings from
Error.prototype.stack
, which breaks our use of query strings to carry bundle build parameters. See facebook/react-native#36794 for context.This allows Metro to accept an alternative format where we interpret the special reserved character sequence
;&
, the first time it appears in a URL path, as equivalent to?
.So that this does not break custom
rewriteRequestUrl
implementations, we (temporarily) pass a normalised URL (;&
replaced with?
), and then reverse that operation on the URL returned byrewriteRequestUrl
. [Simplifying the details here somewhat - see the implementation for specifics].Changelog:
Differential Revision: D45477505