Description
Describe the feature you'd like:
@types/react-dom is a dependency. The reason is that the types from @testing-library/react directly reference these types, as noted in this PR #1001.
However, this may cause multiple versions of these types to be installed in a user's project. For example, when updating to React 19 beta.
Suggested implementation:
I think it would be better to make these types a peer dependency. If someone is using React, TypeScript, and React Testing Library, then they should install these types anyway.
In the event of a miss-match, they would get a warning from the package manager of an unmet peer-dependency, instead of the package manager silently installing multiple versions and resulting in a stampede of confusing type errors.
Describe alternatives you've considered:
Use overrides to force the correct version of these types to be installed. This is not good DX.
Teachability, Documentation, Adoption, Migration Strategy:
Users will need to install @types/react-dom themselves.