Test @wix/interact against React 18 and React 19 in CI
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 4
- Forks
- 2
- Avg merge
- 7h 25m
- Merged PRs (30d)
- 26
Description
Context: #174 (PR #194) widened the react/react-dom peer range to accept React 18 and 19, but dev dependencies still pin React 18, so CI only exercises the React 18 code path.
The React integration in packages/interact/src/react/ has explicit branches for React 18 vs. React 19 ref-callback semantics:
Interaction.tsxreturns a cleanup from the ref callback (React 19+ only).interactRef.tshandles unmount via null-arg (React 18) and via returned cleanup (React 19+).
Both branches should be exercised in CI.
Proposal
Add a matrix job to CI that runs yarn workspace @wix/interact test against both React versions. Sketch:
- Keep the workspace dev deps on one version (probably React 19 going forward).
- In the matrix job for the "other" version, reinstall
react,react-dom,@testing-library/react, and@types/react*to the matrix version before running tests — either via a script that editspackages/interact/package.jsonin-place or via an install overlay.
Out of scope
- Deciding whether to bump the published
.d.tsbuild to@types/react@19— separate concern. - Deprecating React 18 support — not planned.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the repository's existing CI configuration and the workspace scripts behind yarn workspace @wix/interact test. Review packages/interact/src/react/Interaction.tsx and packages/interact/src/react/interactRef.ts to understand the React 18 and 19 branches. Done means CI runs the interact tests against both React versions and exercises both ref-callback behaviors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- ci-cd, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100