Support custom loaders in ESM format#6660
Open
eirikur-nc wants to merge 8 commits intoardatan:masterfrom
Open
Conversation
I fear that Jest may be transpiling the ESM loader. I'll need to try using another test runner (Vitest or Node)
This one fails like it should for ESM.
|
b3e2b48 to
3c30642
Compare
GraphQL 17 will only be bundled in ESM mode
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Description
Use a dynamic
importwhen loading custom loaders in order to support loaders in ESM format.Retain the original implementation, which relies on
createRequire, for the synchronous versionuseCustomLoaderSyncRelated #6656
Type of change
How Has This Been Tested?
I could not reproduce the issue using Jest, as it transpiles esm to commonjs.
To keep transpilation to a minimum, I added a test that can be run using the Node.js test runner with type-stripping enabled (requires version 22.6 or later). I also added a convenience script to the root package.json file so that the test can be run using
yarn test:nodeI realize that having to use two test runners is not ideal. I'm open to suggestions if there's a simpler way to demonstrate the effectiveness of this fix.
Checklist:
CONTRIBUTING doc and the
style guidelines of this project