kerosene: Fix waitForEventLoopToDrain breaking in Jest #107
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.
Was previously thinking about using
package.json
exports to define something different for Node and the browser, butjest-environment-jsdom
now uses the browser resolution for packages which rendered that approach no longer viable.Instead, we can check for the presence of
jest.requireActual
ifglobalThis.setImmediate
is not available to determine if we're in a jest environment, and require the actual, unstubbed Nodetimers
module. Thankfully, unlikerequire
,jest.requireActual
should be ignored by bundlers likeesbuild
,webpack
androllup
and should not result in Node requires in code that is intended for browsers.