feat: relax dep browser externals as warning #9837
Merged
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
I believe this fixes #9200. I haven't tested it's repro but this PR likely fixes it.
The issue is that in Vite 3, we're stricter on deps that import nodejs modules by erroring when accessed. In Vite 2, there were simply undefined (even though we have a error proxy, esbuild's cjs-esm conversion bypasses it). This PR relaxes the error as a warning.
Additional context
Looks like the reason deps access them, even if there are browser friendly is because they are doing a "try import and test if exist" flow, which isn't a great technique for browser compatibility. They should not use the nodejs module at all via
browsers
andexports
field.For now this should unblock them, but still with a warning.
What is the purpose of this pull request?
Before submitting the PR, please make sure you do the following
fixes #123
).