Packages upgrade in v0.24.0 introduce many breaking changes
@satya164 is already working on this.
Since Nov 4, 2020.
Assessment
This issue has not been assessed yet.
Description
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:
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 component-docs@0.24.0'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 component-docs@0.24.0 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"
}
}
- First execute
yarn docsand observe the broken layout of the preview site. - Add
react@16.14.0as direct dependency and observe the compile time error - 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.
- Dominant language
- TypeScript
- Stars
- 141
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from callstack/component-docs
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
callstack/component-docs#48 · 1 reaction ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
callstack/component-docs#44 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
callstack/component-docs#34 ·
-
Support RNW Open
Difficulty 4/5 3-5 days Newbie friendliness 30/100
callstack/component-docs#30 · 1 reaction ·
-
greenkeeper
Difficulty 4/5 3-5 days Newbie friendliness 25/100
callstack/component-docs#18 ·
All issues in callstack/component-docs
Similar issues
-
clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
supermomonga/zcode-acp#24 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
growthbook/growthbook#7100 ·
-
triage
Difficulty 1/5 1-3 hours Newbie friendliness 88/100