livepeer / livepeer/explorer

chore: address peer dependency warnings (React 19 + outdated packages)

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

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
11
Forks
26
Avg merge
11h 58m
Merged PRs (30d)
16

Description

## Description

Running `pnpm install` produces a large number of unmet peer dependency warnings. These are not currently breaking anything but indicate technical debt that could cause issues as dependencies are updated.

## Categories

### 1. React 19 incompatibility
Most dependencies still declare peer deps for React 16-18 but we're on React 19.2.1:
- `@livepeer/design-system@1.1.0` — expects `react@17.0.1`
- All `@radix-ui/*` packages — expect `react@^16.8 || ^17.0 || ^18.0`
- `@reach/dialog`, `@reach/tabs` — expect `react@^16.8.0 || 17.x`
- `qrcode.react`, `react-query`, `react-table`, `react-number-format`

### 2. Outdated packages
Some packages are significantly behind and should be evaluated for replacement:
- `react-truncate@2.4.0` — expects `react <= 16.x.x`
- `react-hook-form@3.29.4` — expects `react@^16.8.0` (current is v7+)
- `apollo-link@1.2.14` and `apollo-link-http@1.5.17` — expect `graphql@^0.11-^15` (we're on 16)
- `graphql-tools@8.3.20` — pulls in old `@apollo/client@3.7.17`
- `@modulz/radix-icons@4.0.0` — expects `react@^16.x || ^17.x`

### 3. Other mismatches
- `wagmi` → `@walletconnect` → `viem` → `abitype` expects `zod@^3 >=3.22.0` but found `4.1.12`
- `@reown/appkit` → `use-sync-external-store` expects React 16-18
- `@coinbase/cdp-sdk` → `@solana/rpc-subscriptions` expects `ws@^8.18.0` but found `7.5.10`

## Suggested approach
- Prioritize updating `@livepeer/design-system` to support React 19 (or add `pnpm.peerDependencyRules.allowedVersions` overrides as a short-term fix)
- Evaluate replacing `react-truncate`, `react-hook-form@3`, `apollo-link`, and `@modulz/radix-icons` with modern alternatives
- Consider removing `graphql-tools` if unused or upgrading to a version that doesn't pull in the old Apollo client

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 running `pnpm install` and reviewing the dependency declarations and peer-dependency warnings listed in this issue. Evaluate the named React, GraphQL, wallet, and supporting packages, then verify that the chosen upgrades, replacements, or peer-dependency rules remove the relevant warnings without breaking the project.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, react, typescript
Domain
build-system, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.