You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@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.
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.
The text was updated successfully, but these errors were encountered: