feat(tsconfig): Enable ESM-interoperability. #332
+5
−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.
These are the changes I made in my own project to enable ESM interoperability, based on the following advice: octokit/octokit.js#2865 (comment)
I've been using it for several weeks now and it's been working well without any issues. The only problem I've had is that
jest
didn't play nicely with ESM. I had to add"isolatedModules": true
to suppress a warning and so far the best solution I've found for testing ESM withjest
is to simply mock the ESM imports and test with mocks instead. This is fine for me, since the ESM dependency I have isOctokit
and I don't want to be making http requests to GitHub during testing anyway.Regardless, it seems better to have ESM interoperability, than not having it, even though it's a bit lacking in the
jest
environment.