Force node to use CJS to get around dependency import errors, and validate package types in CI #259
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.
Third attempt to resolve #256 😅 (should supersede #258 and #257, see the former for more details/discussion)
Should resolve #256
Both
@mui/icons-material
(mui/material-ui#35233) andlodash
(lodash/lodash#5107) have problems being imported in a consuming package when using ESM. The workarounds attempted in #258 almost seemed to work (didn't break a downstream bundled package using Vite), but still caused problems for the original example node application https://codesandbox.io/p/devbox/pensive-volhard-hyhtls, with errors like:This approach is inspired by what tss-react does (e.g. see here garronej/tss-react@4699702 and garronej/tss-react#164).
With this change, this code now works in the node context (though slightly odd):
and is considered valid by
arethetypeswrong
:CJS vs ESM package resolution is an absolute mess—sad there's so much fragmentation and trouble getting things to play nicely with third party packages and different environments 😞