fix: Support ESM in Node.js through conditional exports #3768
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.
This is an attempt to fix #3601. This fix uses conditional exports and is specifically to fix how Node.js, not bundlers, import styled components.
I'm leaving it as a draft for now, because it's not fully tested due to
@emotion/is-prop-valid
possibly suffering from the same issue and needing the same fix:i
is the default export from@emotion/is-prop-valid
.Similarly, in my (legacy) v5 backport, I had this issue with
@emotion/stylis
:h
is the default export from@emotion/stylis
.When I get some time later in the week, I'll work my way through the affected Emotion packages and, if that ultimately fixes the problem, create additional PRs to support this one.