fix: deep resolve side effects when glob does not contain / #11807
+15
−1
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
This will automatically prefix "simple globs" like
*.css
in sideEffects in package.json to**/*.css
, so such files deep in the module would also be considered as side effects.This is how other bundlers (e.g. webpack, rollup) behave as well, so this is sort of important for cross-bundler compatibility. We ran into this issue, as we updated vite to v4, but had not encountered such issue with any other bundler setup. As an example, here is the very similar code in rollup, the relevant PR and issue.
Additional context
I'd add tests, but did not immediately find any that relate to the loadPackageData function. Can you point me to the appropriate place?
Also, sorry for not filing an issue beforehand, but this change is so small, essentially copy-paste from rollup, so perhaps we can discuss directly in here.
What is the purpose of this pull request?
Before submitting the PR, please make sure you do the following
fixes #123
).