wix / wix/interact

Test @wix/interact against React 18 and React 19 in CI

Open
#195 0 comments 0 reactions 0 assignees View on GitHub

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.tsx returns a cleanup from the ref callback (React 19+ only).
  • interactRef.ts handles 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 edits packages/interact/package.json in-place or via an install overlay.

Out of scope

  • Deciding whether to bump the published .d.ts build to @types/react@19 — separate concern.
  • Deprecating React 18 support — not planned.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.