1

I am trying to add wagmi and viem packages to the project. My project has react-scripts package and I am using the latest version 5.0.1. Typescript is running with version 4.9.5. However, when I try to add wagmi and viem, the typescript is requested in minimum version 5.0.4. How can I solve this problem?

npm i wagmi viem

 - npm WARN ERESOLVE overriding peer dependency
 - npm WARN ERESOLVE overriding peer dependency
 - npm ERR! code ERESOLVE
 - npm ERR! ERESOLVE could not resolve
 - npm ERR!
 - npm ERR! While resolving: viem@1.2.12
 - npm ERR! Found: typescript@4.9.5
 - npm ERR! node_modules/typescript
 - npm ERR!   peerOptional typescript@">=5.0.4" from @wagmi/chains@1.2.0
 - npm ERR!   node_modules/viem/node_modules/@wagmi/chains
 - npm ERR!     @wagmi/chains@"1.2.0" from viem@1.2.12
 - npm ERR!     node_modules/viem
 - npm ERR!       viem@"*" from the root project
 - npm ERR!
 - npm ERR! Could not resolve dependency:
 - npm ERR! peerOptional typescript@">=5.0.4" from viem@1.2.12
 - npm ERR! node_modules/viem
 - npm ERR!   viem@"*" from the root project
 - npm ERR!
 - npm ERR! Conflicting peer dependency: typescript@5.1.6
 - npm ERR! node_modules/typescript
 - npm ERR!   peerOptional typescript@">=5.0.4" from viem@1.2.12
 - npm ERR!   node_modules/viem
 - npm ERR!     viem@"*" from the root project
 - npm ERR!
 - npm ERR! Fix the upstream dependency conflict, or retry
 - npm ERR! this command with --force, or --legacy-peer-deps
 - npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
Lin Du
  • 88,126
  • 95
  • 281
  • 483
SEB
  • 11
  • 2

2 Answers2

0

viem@1.2.12 and @wagmi/chains@1.2.0 packages require TypeScript as their peer dependency and the version should be >=5.0.4. The warning will display when you are using npm v7+(Node v15+).

$ npm view viem@1.2.12 peerDependencies
{ typescript: '>=5.0.4' }

$ npm view @wagmi/chains@1.2.0 peerDependencies
{ typescript: '>=5.0.4' }
  1. Upgrading TypeScript to version >=5.0.4:
npm i typescript@^5.0.4 -D
  1. See Allow TypeScript 5+ in peerDependencies and Announcing TypeScript 5.0

5.0 is not a disruptive release, and everything you know is still applicable.

So you can use the --legacy-peer-deps option

npm i wagmi viem --legacy-peer-deps

Lin Du
  • 88,126
  • 95
  • 281
  • 483
  • I have to use react-scripts. The requirement of react-script is that the typescript should be maximum version 4.9.5. Your recommendation for this situation does not work. – SEB Jul 11 '23 at 07:50
  • @SEB Updated answer, try it. – Lin Du Jul 11 '23 at 08:20
0

I have been having a similar issue. It is not with wagmi viem but I found a workaround on this GitHub issue here. I hope it helped.