Closed
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Functional changes:
exportsinpackage.jsonto explicitly define entrypoints forimportandrequireroutesload via
requireLoading via require will take you to the esm wrapped module which exports the top-level ESModule as a CJS module. This provides full compatibility with ESM modules, but loading takes a performance hit, as shown in this PR
Performance profile
load via
importNode.js as increasing support for ESM / CJS interoperability. We can use this with a couple of extra flags. A consumer will need to use
--experimental-json-modulesto load JSON files as modules, and--experimental-specifier-resolutionto resolve non-explicit imports in our dependencies.Performance profile
Later Node.js versions
I've tested this with latest stable (14.3.0) - you don't need the
--experimental-modulesflag but you do need the other two when usingimport.