Cannot parse Flow $Shape
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 45/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- javascript
- 领域
- documentation, tooling
调研方向
使用提供的 components/Label.js 示例复现该失败,并检查 react-docgen 的 Flow 解析入口;issue 中未指定源文件或测试。完成标准是解析由 $Shape 包装的 props,并返回未包装类型所显示的 props 元数据,同时为此示例添加覆盖。
由索引模型根据 Issue 内容生成。
描述
I don't know whether this applies to all Flow utility types in general, but React makes extensive use of $Shape (and so do we!) - react-docgen (3.0.0-rc.1) seems to fail at parsing this.
Example component props:
// components/Label.js
type Props = $Shape<{
/** Content to place inside .ui.label element */
children?: React.Node,
/** Classes for .ui.label element */
classes?: string,
/** Type of the label (icon, favicon, image, notification, state) */
type?: 'icon' | 'favicon' | 'image' | 'notification' | 'state',
/** Tooltip (data-content, data-position, data-delay) */
tooltip?: Tooltip
}>;
With $Shape:
{
"displayName": "Label",
"methods": []
}
Without $Shape:
{
"displayName": "Label",
"methods": [],
"props": {
"children": {
"required": false,
"flowType": {
"name": "ReactNode",
"raw": "React.Node"
},
"description": "Content to place inside .ui.label element"
},
"classes": {
"required": false,
"flowType": {
"name": "string"
},
"description": "Classes for .ui.label element"
},
"type": {
"required": false,
"flowType": {
"name": "union",
"raw": "'icon' | 'favicon' | 'image' | 'notification' | 'state'",
"elements": [
{
"name": "literal",
"value": "'icon'"
},
{
"name": "literal",
"value": "'favicon'"
},
{
"name": "literal",
"value": "'image'"
},
{
"name": "literal",
"value": "'notification'"
},
{
"name": "literal",
"value": "'state'"
}
]
},
"description": "Type of the label (icon, favicon, image, notification, state)"
},
"tooltip": {
"required": false,
"flowType": {
"name": "Tooltip"
},
"description": "Tooltip (data-content, data-position, data-delay)"
}
}
}
- 主要语言
- TypeScript
- 星标
- 3.8k
- 派生
- 316
- 平均合并
- 2 小时 29 分钟
- 30 天内合并 PR
- 5
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
reactjs/react-docgen 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
reactjs/react-docgen#1102 ·
-
难度 5/5 一周以上 新手友好度 20/100
reactjs/react-docgen#1005 · 4 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 48/100
reactjs/react-docgen#997 ·
-
难度 3/5 1-2 天 新手友好度 42/100
reactjs/react-docgen#994 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 25/100
reactjs/react-docgen#982 · 2 条评论 ·
查看 reactjs/react-docgen 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
automated issue report
难度 1/5 1 小时以内 新手友好度 68/100
-
documentation
难度 1/5 1 小时以内 新手友好度 92/100
github/copilot-sdk#2804 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
drizzle-team/drizzle-orm#6418 ·
维护者通常 4 天内回复
-
难度 1/5 1 小时以内 新手友好度 92/100
diegosouzapw/OmniRoute#15307 · 1 条评论 ·
维护者通常 2 天内回复