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.
This PR upgrades Jest from v27 to v28. Most of the breaking changes don't affect us, except for two:
jest-environment-jsdom
now has to be installed separately. But, this means a newer version ofjsdom
is used, which assumes there is a globalTextEncoder
, that is not provided byjest-environment-jsdom
. This issue is fixed by re-exporting Nodeutil
'sTextEncoder
asglobal.TextEncoder
insetup-env.ts
uuid
. There is a discussion and proposed solution in this GitHub issue, which I used in this PR. To summarize, the fix is to add a custom resolver that forces Jest to use the CommonJS+node version ofuuid
, but leaves all other resolutions the sameJ=SLAP-2123
TEST=auto
See that Jest tests pass.