Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

React Invariant thrown during Next.js next build #278

Open
thiskevinwang opened this issue Oct 5, 2021 · 7 comments
Open

React Invariant thrown during Next.js next build #278

thiskevinwang opened this issue Oct 5, 2021 · 7 comments

Comments

@thiskevinwang
Copy link
Contributor

thiskevinwang commented Oct 5, 2021

With, npm ls react you can see [email protected] is not deduped, and everything else is on [email protected]

...
├─┬ [email protected]
│ └── [email protected] deduped
...
├─┬ [email protected]    (...same issue w/ 2.3.0)
│ ├─┬ [email protected]
│ │ └── [email protected] deduped
│ └─┬ [email protected]
│   ├─┬ [email protected] <-----------------not deduped
│   │ └── [email protected] deduped
│   └── [email protected] <-----------------not deduped
...
├── [email protected]
...

I believe this is preventing my Next.js project from building, due to the more than one copy of React React invariant.

... strangely it only happens when installing everything w/ npm and not yarn


Side: react-simple-code-editor https://github.com/satya164/react-simple-code-editor/blob/master/package.json#L62-L65 doesn't specify react/-dom 17 as a peer dependency. (It also hasn't seen a new update in close to 2 years now :/)

Update: Opened a PR to allow react 17 as a peerDep

@ryan-roemer
Copy link
Member

ryan-roemer commented Oct 5, 2021

My guess is the difference in npm vs yarn is just luck of the draw as to how the tool (and specific version of the tool) flattens the node_modules hierarchy. This project doesn't specify react as a prod or peer dep, so it's really an upstream issue for things like:

@jpdriver
Copy link
Contributor

@thiskevinwang can i ask you to try v3.0.0-rc1? This new major uses both React 17 and a replacement for react-simple-code-editor under the hood.

you can install using

yarn add react-live@next

i'd be really grateful for any feedback. thank you! 🙇🏻‍♂️

@thiskevinwang
Copy link
Contributor Author

Hey @jpdriver, awesome! I can test this out in my next chunk of free time and get back to you

And for my context, was that replacement https://github.com/FormidableLabs/use-editable?

@jpdriver
Copy link
Contributor

yep, that's the one 😄

@thiskevinwang
Copy link
Contributor Author

@jpdriver

Re: original issue, I was able to work around using npm overrides

"react-live": "^2.3.0"

package.json

...
  "overrides": {
    "react-simple-code-editor": {
      "react": "17.0.2",
      "react-dom": "17.0.2"
    }
  }
}

"react-live": "^3.0.0-rc1"

This looks to allow react to be deduped 🎉 ,

npm ls react

...
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected] deduped
│ └─┬ [email protected]
│   └── [email protected] deduped
...

But it looks like it introduces a regression where a previously used style prop is no longer passed along.

@jpdriver
Copy link
Contributor

awesome -- thanks so much for trying the RC out!

i just want to wait a bit longer to iron out any other kinks (like that style not being passed down anymore) and then we'll publish v3.0.0-proper soon 😄

@thiskevinwang
Copy link
Contributor Author

@jpdriver, some more general feedback on 3.0.0-rc1

  • Ctrl + z behavior seems to have regressed from the previous implementation, which used <textarea>
  • something changed around how font-family was being passed along before

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants