graphql-playground icon indicating copy to clipboard operation
graphql-playground copied to clipboard

react-redux and redux should be peer dependencies

Open simoneb opened this issue 4 years ago • 5 comments
trafficstars

This issue pertains to the following package(s):

  • [ ] GraphQL Playground - Electron App
  • [ ] GraphQL Playground HTML
  • [x] GraphQL Playground React
  • [ ] GraphQL Playground Express Middleware
  • [ ] GraphQL Playground Hapi Middleware
  • [ ] GraphQL Playground Koa Middleware
  • [ ] GraphQL Playground Lambda Middleware

What OS and OS version are you experiencing the issue(s) on?

Windows 10

What version of graphql-playground(-electron/-middleware) are you experiencing the issue(s) on?

graphql-playground-react 1.7.27

What is the expected behavior?

The package should not install react-redux and redux

What is the actual behavior?

The package installs react-redux and redux

What steps may we take to reproduce the behavior?

  • Create a new create-react-app using yarn as package manager
  • Install graphql-playground-react and react-redux to import the Provider from
  • Use the Playground React component as described in the docs, wrapped by the Provider
  • start the app and see it fail

The issue is that Redux and React redux and such kind of packages that should not occur in multiple versions within the same app. Therefore, they should not be installed by graphql-playground-react but they should be marked as devDependencies and peerDependencies.

Note that the issue happens with yarn because of its hoisting behavior, and it doesn't happen when using npm. Regardless, it's conceptually wrong to embed such dependencies and it should be documented that they need to be installed by the hosting application instead.

simoneb avatar Dec 20 '20 09:12 simoneb

I'm trying to debug this issue, my question is what errors do you see? @simoneb I did the steps you said, the playground doesnt load and I get these image

idiglove avatar Feb 23 '22 09:02 idiglove

@idiglove this issue is fairly old and I don't have the repro at hand anymore, but I suspect that the errors you posted are the manifestation of the issue.

simoneb avatar Feb 23 '22 09:02 simoneb

I cant run even without redux with v1.7.28 Getting these errors image

idiglove avatar Feb 23 '22 10:02 idiglove

These errors usually happen when there are.muktiole versions of React (and some related packages) running in your app

simoneb avatar Feb 23 '22 10:02 simoneb

Note, as a workaround adding package extensions to .yarnrc.yml seems work fine:

packageExtensions:
  '[email protected]':
    peerDependencies:
      'react': "*"
      'react-dom': "*"
      'react-redux': "*"

ausov avatar Aug 24 '22 09:08 ausov