Open dimple-smile opened 1 year ago
你好这个计划有支持的 在3-4月份会支持
------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2023年1月18日(星期三) 中午11:06 收件人: @.>; 抄送: @.***>; 主题: [yunke-yunfly/fast-typescript-to-jsonschema] 似乎不支持import npm包路径以及@别名路径 (Issue #21)
用于解析的type.d.ts
import type { TableProps } from 'element-plus' import type { ElTree as ElTreeProps } from 'element-plus/es/components/tree' export interface Props extends TableProps<any> { / 表格边框 */ border?: boolean /* 测试引入tree的props / tree?: typeof ElTreeProps } export interface Emits { / 表格行变化事件 */ (e: 'update:current-page', currentPage: number): void }
解析之后的结果
{ "/Users/xiecp/das/das-fe/ui/src/das-fe/ui/packages/demo/src/type.d.ts": { "Props": { "type": "object", "properties": { "border": { "type": "boolean", "description": "表格边框" } }, "additionalProperties": false, "extends": "TableProps" }, "Emits": { "type": "object", "additionalProperties": false } } }
结果说明
1.没有extends的TableProps的信息 2.没有ElTreeProps的信息 3.Emits也没有解析内部的参数信息
请问这些考虑支持吗?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>
👌🏻关注一波,非常感谢您~
@dimple-smile 已支持 >= 0.0.7 版本
ok~我看一下
@dimple-smile 已支持 >= 0.0.7 版本
好像还是没有支持好
1.已经安装了v0.0.8,生成的Emits还是一样的,没有解析到里面的变量 2.还有增加了npm解析之后,速度慢了不少,应该是生产的依赖太深了,最后产生的json文件直接将近4万行。是不是需要增加配置项,或者读取tsconfig.json之类的?
我自己现在项目中改造了一下 1.自己替换了npm路径和@为相对路径,解析速度依然很快。 2.针对emits那种类型,用ts-morph单独解析了一遍,因为是截取代码文本片段单独解析,速度还可以接受。 3.组件内部解析也有参考https://github.com/vuejs/language-tools/tree/master/packages/vue-component-meta
@dimple-smile 是的查找npm type类型是很复杂的一个过程 最核心的耗时是解析了内部所有依赖项(这个还需要优化) 相关代码可以参考:typescript-to-file-datas.ts 文件 getTypeFileFromNpm 方法
对于 emits 这种,暂时还不支持 函数,类的解析 (这个是未来需要支持的)
@dimple-smile 是的查找npm type类型是很复杂的一个过程 最核心的耗时是解析了内部所有依赖项(这个还需要优化) 相关代码可以参考:typescript-to-file-datas.ts 文件 getTypeFileFromNpm 方法
对于 emits 这种,暂时还不支持 函数,类的解析 (这个是未来需要支持的)
好的,会持续关注。
用于解析的type.d.ts
解析之后的结果
结果说明
1.没有extends的TableProps的信息 2.没有ElTreeProps的信息 3.Emits也没有解析内部的参数信息
请问这些考虑支持吗?