reactjs / reactjs/react-docgen
Expressions in propTypes not parsed correctly
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 3.8k
- Forks
- 316
- Avg merge
- 5h 7m
- Merged PRs (30d)
- 4
Description
Originally reported in https://github.com/sapegin/react-styleguidist/issues/13#issuecomment-146868948.
I use an expression in React.PropTypes.oneOf(...). This is the output from react-docgen:
{
"description": "",
"props": {
"issue": {
"type": {
"name": "object"
},
"required": false,
"description": ""
},
"width": {
"type": {
"name": "enum",
"computed": true,
"value": "_.map(_.keys(coverWidths), _.parseInt)" <------- problem
},
"required": false,
"description": ""
},
"style": {
"type": {
"name": "object"
},
"required": false,
"description": ""
}
}
}
coverWidths is a variable defined in that file. In runtime it's generated correctly, but react-docgen can't parse it.
value in the marked line should be null, and there should be a raw property with it instead.
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.
Research direction
Start by locating the propTypes parser entry point that handles computed expressions, using the React.PropTypes.oneOf example in this issue as the reproduction case. Verify the generated output for .map(.keys(coverWidths), _.parseInt); done means value is null and the expression is preserved in a raw property.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- documentation
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100