export explicitly from react-dom to avoid cjs __esModule read only prop #6757
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.
Fixes a problem with transpiled code in CJS modules:
export * from 'react-router'to
Object.keys(reactRouter).forEach(function (key) { exports[key] = reactRouter[key]; });This was surfaced from Jest tests failing when updating to v5(uses CJS). When react-router-dom cjs attempts to create its exports,
Object.defineProperty(exports, '__esModule', { value: true });in react-router CSJ module has created a readonly__esModuleprop viaObject.defineProperty(exports, '__esModule', { value: true });which gets mutated in the above code.The best solution I could think of was to just explicitly state what you want from react-router in react-router-dom. I noticed react-router-native was doing the same and updated that as well as I have used jest for react-native applications.