fix: support polyfill import paths containing an escaping char (e.g. '\') #10859
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.
Description
When the
additionalPolyfill
property ofplugin-legacy
containing polyfill paths with escaping characters (e.g. '\'), the JS fails to compile becauseplugin-legacy
doesn't escape them.This PR add the escaping characters for this, simply by the trick of
JSON.stringify()
.This is a breaking change, since old code (e.g. my code) may use a hack to pass an escaped strings to
additionalPolyfill
, so I suggest to merge it now for Vite 4.An example of the issue is when you want to include an absolute path of files in Windows (which uses '\' for directory paths), this was my previous sample with my own escaping workaround:
Additional context
What is the purpose of this pull request?
Before submitting the PR, please make sure you do the following
fixes #123
).