feat: convert to ESM/CJS hybrid package #1288
Closed
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.
As outlined in #1263, the NodeJS ecosystem is not yet prepared for a package as major as
node-fetch
being ESM only.This PR adds cross transpilation of the 3.0.0 ESM version of
node-fetch
usingesbuild
as aprepack
step before publishing and configuration in the package.json to allow for both styles of imports.For ESM only packages that use
node-fetch
, they should be able to 'tree shake' the CJS files so they don't impact application size.For CJS packages, they can continue to use
node-fetch
as they originally did with the understanding that in the future this support could be removed.I have updated documentation to reflect the change.
This should allow abandonment of the 2.x branch.