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

Packages upgrade in v0.24.0 introduce many breaking changes #49

Open
trongthanh opened this issue Nov 4, 2020 · 1 comment
Open

Packages upgrade in v0.24.0 introduce many breaking changes #49

trongthanh opened this issue Nov 4, 2020 · 1 comment
Assignees

Comments

@trongthanh
Copy link
Contributor

Environment

  • macOS 10.15
  • Node.js 12.18.4
  • component-docs @ 0.24.0

Description

Although the example in this repo work as expected, if we use component-docs@0.24.0 as a dependency in another project, the new version breaks the serve as well as build command like in below screenshot:

Screenshot 2020-11-04 at 7 17 59 PM

Another escalation of the issue I found out next is that, if my main project has react as direct dependency but its major version is different from [email protected]'s one (which is ^17.0.1). Say, my project still has react@^16.14.0, then when I execute the component-docs serve command, I got this error:

Error: Cannot find module '@mdx-js/tag'
...

I have to install @mdx-js/tag as direct dependency now, then get a couple of errors regarding missing: react-dom and redbox-react. However, once I installed those missing dependencies, I get this run time error:

Error: Invalid hook call. Hooks can only be called inside of the body of a function component. 
This could happen for one of the following reasons: 
1. You might have mismatching versions 
of React and the renderer (such as React DOM) 
2. You might be breaking the Rules of Hooks 
3. You might have more than one copy of React in the same app 
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.

Reproducible Demo

cd into example folder, and init a package.json. Add [email protected] as dependency and with some scripts like so:

{
  "name": "test-component-docs",
  "version": "1.0.0",
  "license": "MIT",
  "scripts": {
    "build": "component-docs build",
    "docs": "component-docs serve"
  },
  "devDependencies": {
    "component-docs": "^0.24.0"
  }
}
  1. First execute yarn docs and observe the broken layout of the preview site.
  2. Add [email protected] as direct dependency and observe the compile time error
  3. Add the missing dependencies and observe the errors.

Suggestion

I don't know what happen yet but regarding the mismatch react version, I think we should move react, react-dom to devDependencies and peerDependencies so that component-docs should use the react version in consuming projects and avoid versions conflict.

@uptonking
Copy link

revert to v0.23. and it works.

please upgrade react to 17.x because the redbox error is so disgusting.

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