@rinova/playground-vite 0.1.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +506 -89
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +52 -3
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +353 -19
- package/dist/manifest.js.map +1 -1
- package/dist/module-api.d.ts +71 -0
- package/dist/module-api.d.ts.map +1 -0
- package/dist/module-api.js +177 -0
- package/dist/module-api.js.map +1 -0
- package/dist/plugin-spec.d.ts +8 -0
- package/dist/plugin-spec.d.ts.map +1 -0
- package/dist/plugin-spec.js +24 -0
- package/dist/plugin-spec.js.map +1 -0
- package/package.json +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest.d.ts
CHANGED
|
@@ -1,21 +1,65 @@
|
|
|
1
|
+
import type { ModuleApi } from './module-api.js';
|
|
2
|
+
export interface ManifestField {
|
|
3
|
+
name: string;
|
|
4
|
+
type: string;
|
|
5
|
+
required: boolean;
|
|
6
|
+
description: string;
|
|
7
|
+
}
|
|
1
8
|
export interface ManifestProp {
|
|
2
9
|
name: string;
|
|
3
10
|
type: string;
|
|
4
11
|
required: boolean;
|
|
5
12
|
default: string;
|
|
6
13
|
description: string;
|
|
14
|
+
/** 对象 / 对象数组类型的字段展开(一层),如 `columns: Column[]` → Column 的字段 */
|
|
15
|
+
fields?: ManifestField[];
|
|
16
|
+
}
|
|
17
|
+
export interface ManifestEvent {
|
|
18
|
+
name: string;
|
|
19
|
+
/** 参数列表,如 `[event: FocusEvent]` */
|
|
20
|
+
type: string;
|
|
21
|
+
/** 完整签名,如 `(event: "focus", event: FocusEvent): void` */
|
|
22
|
+
signature: string;
|
|
23
|
+
description: string;
|
|
24
|
+
/** 某个对象参数展开后的字段(取第一个带属性的参数) */
|
|
25
|
+
fields?: ManifestField[];
|
|
26
|
+
}
|
|
27
|
+
export interface ManifestSlot {
|
|
28
|
+
name: string;
|
|
29
|
+
/** 作用域类型,如 `{}` 或 `{ item: Row }` */
|
|
30
|
+
type: string;
|
|
31
|
+
description: string;
|
|
32
|
+
}
|
|
33
|
+
export interface ManifestExposed {
|
|
34
|
+
name: string;
|
|
35
|
+
type: string;
|
|
36
|
+
description: string;
|
|
37
|
+
}
|
|
38
|
+
/** 组件契约里引用到的具名类型定义(源文件原文,含 JSDoc) */
|
|
39
|
+
export interface ManifestType {
|
|
40
|
+
name: string;
|
|
41
|
+
kind: 'interface' | 'type';
|
|
42
|
+
/** 声明所在文件,相对项目根 */
|
|
43
|
+
file: string;
|
|
44
|
+
/** 声明原文,直接交给代码块高亮 */
|
|
45
|
+
code: string;
|
|
7
46
|
}
|
|
8
47
|
export interface ManifestComponent {
|
|
9
48
|
name: string;
|
|
10
49
|
rel: string;
|
|
11
50
|
props: ManifestProp[];
|
|
12
|
-
events:
|
|
13
|
-
slots:
|
|
14
|
-
exposed:
|
|
51
|
+
events: ManifestEvent[];
|
|
52
|
+
slots: ManifestSlot[];
|
|
53
|
+
exposed: ManifestExposed[];
|
|
54
|
+
/** props / events / slots / exposed 类型里引用到的具名 interface / type(一层) */
|
|
55
|
+
types?: ManifestType[];
|
|
15
56
|
scenes: string[];
|
|
16
57
|
uncoveredProps: string[];
|
|
58
|
+
/** 没写 JSDoc 的 API,格式 `props:disabled` / `events:press` */
|
|
59
|
+
undocumented: string[];
|
|
17
60
|
}
|
|
18
61
|
export interface ManifestScene {
|
|
62
|
+
lang?: 'vue' | 'md';
|
|
19
63
|
id: string;
|
|
20
64
|
title: string;
|
|
21
65
|
group: string;
|
|
@@ -26,6 +70,8 @@ export interface Manifest {
|
|
|
26
70
|
generatedAt: string;
|
|
27
71
|
components: ManifestComponent[];
|
|
28
72
|
scenes: ManifestScene[];
|
|
73
|
+
/** 非组件文件(函数 / hooks / 常量)的契约;配了 config.modules 才有 */
|
|
74
|
+
modules: ModuleApi[];
|
|
29
75
|
}
|
|
30
76
|
export interface ManifestInput {
|
|
31
77
|
root: string;
|
|
@@ -33,11 +79,14 @@ export interface ManifestInput {
|
|
|
33
79
|
patterns: string[];
|
|
34
80
|
/** tsconfig 路径(相对项目根) */
|
|
35
81
|
tsconfig: string;
|
|
82
|
+
/** 已经抽好的非组件模块契约 */
|
|
83
|
+
modules?: ModuleApi[];
|
|
36
84
|
scenes: Array<{
|
|
37
85
|
id: string;
|
|
38
86
|
title: string;
|
|
39
87
|
group: string;
|
|
40
88
|
rel: string;
|
|
89
|
+
lang?: 'vue' | 'md';
|
|
41
90
|
sources: {
|
|
42
91
|
rel: string;
|
|
43
92
|
}[];
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest.js
CHANGED
|
@@ -2,6 +2,22 @@ import fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { createRequire } from 'node:module';
|
|
4
4
|
const require = createRequire(import.meta.url);
|
|
5
|
+
/**
|
|
6
|
+
* 契约提取的进程内缓存。
|
|
7
|
+
*
|
|
8
|
+
* 真实项目里每次保存都全量重跑 `createChecker` + 逐组件 `getComponentMeta` 太慢
|
|
9
|
+
* (实测 406 个组件一次 7.2s)。这里做两层缓存:
|
|
10
|
+
* 1. checker 按 tsconfig 复用 —— 省掉重复建 TS Program 的开销;
|
|
11
|
+
* 2. 组件 meta 按 文件 mtime+size 缓存 —— 没改动的组件直接复用。
|
|
12
|
+
*
|
|
13
|
+
* 代价:跨文件的类型变化(改了被引用的 .ts)不会自动失效,需要重启 dev 或改动该组件本身。
|
|
14
|
+
*/
|
|
15
|
+
let checkerCache = null;
|
|
16
|
+
const metaCache = new Map();
|
|
17
|
+
const clearManifestCache = () => {
|
|
18
|
+
checkerCache = null;
|
|
19
|
+
metaCache.clear();
|
|
20
|
+
};
|
|
5
21
|
/** Vue 自带的透传 props,不属于组件自身契约 */
|
|
6
22
|
const BUILTIN_PROPS = new Set([
|
|
7
23
|
'key',
|
|
@@ -49,60 +65,335 @@ const findComponentFiles = (root, patterns) => {
|
|
|
49
65
|
const componentName = (rel) => path.basename(rel, '.vue');
|
|
50
66
|
/** 去掉 Vue 透传 props 与 onVue:* 钩子 */
|
|
51
67
|
const isOwnProp = (name) => !BUILTIN_PROPS.has(name) && !name.startsWith('onVue:');
|
|
68
|
+
const FLAG_OBJECT = 524288; // ts.TypeFlags.Object
|
|
69
|
+
const FLAG_UNION = 1048576; // ts.TypeFlags.Union
|
|
70
|
+
/**
|
|
71
|
+
* 展开对象 / 对象数组类型的字段(一层)。
|
|
72
|
+
* vue-component-meta 的 schema 只是类型名字符串,这里借 getTypeObject() 拿 TS 类型对象自己走一遍。
|
|
73
|
+
*/
|
|
74
|
+
const DEBUG_FIELDS = Boolean(process.env.RINOVA_DEBUG_FIELDS);
|
|
75
|
+
const readFields = (prop) => {
|
|
76
|
+
try {
|
|
77
|
+
if (DEBUG_FIELDS)
|
|
78
|
+
console.warn('[fields] enter', prop.name);
|
|
79
|
+
const getter = prop.getTypeObject;
|
|
80
|
+
if (typeof getter !== 'function') {
|
|
81
|
+
if (DEBUG_FIELDS)
|
|
82
|
+
console.warn('[fields] no getTypeObject');
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
const type = getter.call(prop);
|
|
86
|
+
if (!type) {
|
|
87
|
+
if (DEBUG_FIELDS)
|
|
88
|
+
console.warn('[fields] no type');
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
if (DEBUG_FIELDS)
|
|
92
|
+
console.warn('[fields] type flags', Number(type.flags), 'keys', Object.keys(type).slice(0, 8).join(','));
|
|
93
|
+
const ts = type.checker;
|
|
94
|
+
if (!ts || typeof ts.getPropertiesOfType !== 'function') {
|
|
95
|
+
if (DEBUG_FIELDS)
|
|
96
|
+
console.warn('[fields] no checker', Object.keys(type));
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
let target = type;
|
|
100
|
+
if ((Number(type.flags) & FLAG_UNION) === FLAG_UNION) {
|
|
101
|
+
const parts = type.types ?? [];
|
|
102
|
+
const objectPart = parts.find((part) => (Number(part.flags) & FLAG_OBJECT) === FLAG_OBJECT);
|
|
103
|
+
if (!objectPart) {
|
|
104
|
+
if (DEBUG_FIELDS)
|
|
105
|
+
console.warn('[fields] union without object', parts.map((part) => Number(part.flags)).join(','));
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
target = objectPart;
|
|
109
|
+
}
|
|
110
|
+
// 数组:取元素类型
|
|
111
|
+
const args = target.typeArguments;
|
|
112
|
+
if (args && args.length)
|
|
113
|
+
target = args[0];
|
|
114
|
+
if ((Number(target.flags) & FLAG_OBJECT) !== FLAG_OBJECT) {
|
|
115
|
+
if (DEBUG_FIELDS)
|
|
116
|
+
console.warn('[fields] target not object', Number(target.flags), ts.typeToString(target));
|
|
117
|
+
return [];
|
|
118
|
+
}
|
|
119
|
+
const symbols = ts.getPropertiesOfType(target);
|
|
120
|
+
return symbols
|
|
121
|
+
.map((symbol) => {
|
|
122
|
+
const name = symbol.getName();
|
|
123
|
+
if (name.startsWith('__'))
|
|
124
|
+
return null;
|
|
125
|
+
const declarations = symbol.declarations;
|
|
126
|
+
const location = (symbol.valueDeclaration ?? declarations?.[0]);
|
|
127
|
+
const symbolType = ts.getTypeOfSymbolAtLocation(symbol, location);
|
|
128
|
+
const text = ts.typeToString(symbolType);
|
|
129
|
+
const docs = symbol.getDocumentationComment(ts);
|
|
130
|
+
const description = Array.isArray(docs)
|
|
131
|
+
? docs.map((part) => part.text ?? '').join('').trim()
|
|
132
|
+
: '';
|
|
133
|
+
return {
|
|
134
|
+
name,
|
|
135
|
+
type: text,
|
|
136
|
+
// 可选性以类型里的 undefined 为准:vue-component-meta 包了一层 symbol,flags 不可靠
|
|
137
|
+
required: !/\|\s*undefined$/.test(text),
|
|
138
|
+
description,
|
|
139
|
+
};
|
|
140
|
+
})
|
|
141
|
+
.filter((item) => item !== null);
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
if (DEBUG_FIELDS)
|
|
145
|
+
console.warn('[fields] error', String(error));
|
|
146
|
+
return [];
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
/** 事件:从参数元组里找第一个对象参数,展开它的字段 */
|
|
150
|
+
const readEventFields = (event) => {
|
|
151
|
+
try {
|
|
152
|
+
const getter = event.getTypeObject;
|
|
153
|
+
if (typeof getter !== 'function')
|
|
154
|
+
return [];
|
|
155
|
+
const tuple = getter.call(event);
|
|
156
|
+
if (!tuple)
|
|
157
|
+
return [];
|
|
158
|
+
const ts = tuple.checker;
|
|
159
|
+
if (!ts || typeof ts.getPropertiesOfType !== 'function')
|
|
160
|
+
return [];
|
|
161
|
+
const args = tuple.typeArguments ?? [];
|
|
162
|
+
for (const arg of args) {
|
|
163
|
+
const type = arg;
|
|
164
|
+
if ((Number(type.flags) & FLAG_OBJECT) !== FLAG_OBJECT)
|
|
165
|
+
continue;
|
|
166
|
+
const fields = readFields({
|
|
167
|
+
getTypeObject: () => type,
|
|
168
|
+
});
|
|
169
|
+
if (fields.length)
|
|
170
|
+
return fields;
|
|
171
|
+
}
|
|
172
|
+
return [];
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
if (DEBUG_FIELDS)
|
|
176
|
+
console.warn('[fields] event error', String(error));
|
|
177
|
+
return [];
|
|
178
|
+
}
|
|
179
|
+
};
|
|
52
180
|
const normalizeType = (value) => {
|
|
53
181
|
if (Array.isArray(value))
|
|
54
182
|
return value.map(String).join(' | ');
|
|
55
183
|
return String(value ?? '');
|
|
56
184
|
};
|
|
185
|
+
const FLAG_SYMBOL_INTERFACE = 64; // ts.SymbolFlags.Interface
|
|
186
|
+
const FLAG_SYMBOL_TYPEALIAS = 524288; // ts.SymbolFlags.TypeAlias
|
|
187
|
+
/** 容器类型:取元素类型继续回溯 */
|
|
188
|
+
const WRAPPER_TYPE_NAMES = new Set(['Array', 'ReadonlyArray', 'Set', 'ReadonlySet', 'Map', 'ReadonlyMap', 'Promise']);
|
|
189
|
+
/** 第三方包与 TS lib 里的类型不收录(Array / Record / HTMLElement 之类,读了也只是噪音) */
|
|
190
|
+
const isExternalDeclaration = (file) => /[/\\]node_modules[/\\]/.test(file) || /[/\\]lib\.[a-z0-9.]+\.d\.ts$/.test(file);
|
|
191
|
+
/** 取 schema 项上的 TS 类型对象,拿不到就返回 undefined */
|
|
192
|
+
const typeObjectOf = (value) => {
|
|
193
|
+
try {
|
|
194
|
+
const getter = value.getTypeObject;
|
|
195
|
+
return typeof getter === 'function' ? getter.call(value) : undefined;
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
if (DEBUG_FIELDS)
|
|
199
|
+
console.warn('[types] getTypeObject error', String(error));
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
/**
|
|
204
|
+
* 从类型对象回溯到具名 interface / type,切出声明原文(含 JSDoc)。
|
|
205
|
+
*
|
|
206
|
+
* 类型字符串(`TableColumn[]`)拿不到结构,只能顺着类型对象往下走:联合去掉 undefined、
|
|
207
|
+
* 容器取元素类型,直到命中本项目的 interface / type 符号。只回溯一层,避免递归整个类型图。
|
|
208
|
+
*/
|
|
209
|
+
const readTypeDeclaration = (type, root) => {
|
|
210
|
+
try {
|
|
211
|
+
let current = type;
|
|
212
|
+
for (let depth = 0; depth < 5 && current; depth += 1) {
|
|
213
|
+
const flags = Number(current.flags);
|
|
214
|
+
if ((flags & FLAG_UNION) === FLAG_UNION) {
|
|
215
|
+
const parts = current.types ?? [];
|
|
216
|
+
current = parts.find((part) => (Number(part.flags) & FLAG_OBJECT) === FLAG_OBJECT);
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
if ((flags & FLAG_OBJECT) !== FLAG_OBJECT)
|
|
220
|
+
return null;
|
|
221
|
+
const getSymbol = current.getSymbol;
|
|
222
|
+
const symbol = (typeof getSymbol === 'function' ? getSymbol.call(current) : undefined) ??
|
|
223
|
+
current.symbol;
|
|
224
|
+
if (!symbol)
|
|
225
|
+
return null;
|
|
226
|
+
const name = symbol.getName();
|
|
227
|
+
const args = current.typeArguments;
|
|
228
|
+
if (WRAPPER_TYPE_NAMES.has(name) && args?.length) {
|
|
229
|
+
current = args[0];
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
const symbolFlags = Number(symbol.flags);
|
|
233
|
+
const isInterface = (symbolFlags & FLAG_SYMBOL_INTERFACE) === FLAG_SYMBOL_INTERFACE;
|
|
234
|
+
if (!isInterface && (symbolFlags & FLAG_SYMBOL_TYPEALIAS) !== FLAG_SYMBOL_TYPEALIAS)
|
|
235
|
+
return null;
|
|
236
|
+
const declarations = symbol.declarations;
|
|
237
|
+
const node = declarations?.[0];
|
|
238
|
+
if (!node)
|
|
239
|
+
return null;
|
|
240
|
+
const sourceFile = node.getSourceFile();
|
|
241
|
+
if (isExternalDeclaration(sourceFile.fileName))
|
|
242
|
+
return null;
|
|
243
|
+
// getFullStart 在声明前留出 JSDoc 的整体注释,trim 后正好从 /** 开始
|
|
244
|
+
const start = Number(node.getFullStart());
|
|
245
|
+
const end = Number(node.getEnd());
|
|
246
|
+
const code = sourceFile.text.slice(start, end).trim();
|
|
247
|
+
if (!code)
|
|
248
|
+
return null;
|
|
249
|
+
return {
|
|
250
|
+
name,
|
|
251
|
+
kind: isInterface ? 'interface' : 'type',
|
|
252
|
+
file: toPosix(path.relative(root, sourceFile.fileName)),
|
|
253
|
+
code,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
return null;
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
if (DEBUG_FIELDS)
|
|
260
|
+
console.warn('[types] read error', String(error));
|
|
261
|
+
return null;
|
|
262
|
+
}
|
|
263
|
+
};
|
|
57
264
|
export const buildManifest = (input) => {
|
|
58
265
|
const { createChecker } = require('vue-component-meta');
|
|
59
266
|
const tsconfigPath = path.isAbsolute(input.tsconfig)
|
|
60
267
|
? input.tsconfig
|
|
61
268
|
: path.join(input.root, input.tsconfig);
|
|
62
|
-
|
|
269
|
+
// tsconfig 换了要整体失效;否则复用同一个 checker(建 TS Program 是主要开销)
|
|
270
|
+
if (checkerCache && checkerCache.tsconfigPath !== tsconfigPath)
|
|
271
|
+
clearManifestCache();
|
|
272
|
+
if (!checkerCache) {
|
|
273
|
+
checkerCache = { tsconfigPath, checker: createChecker(tsconfigPath) };
|
|
274
|
+
}
|
|
275
|
+
const checker = checkerCache.checker;
|
|
276
|
+
/** 按 mtime+size 命中缓存,只对改动过的组件重跑提取 */
|
|
277
|
+
const readMeta = (rel) => {
|
|
278
|
+
const abs = path.join(input.root, rel);
|
|
279
|
+
let key = 'missing';
|
|
280
|
+
try {
|
|
281
|
+
const stat = fs.statSync(abs);
|
|
282
|
+
key = `${stat.mtimeMs}:${stat.size}`;
|
|
283
|
+
}
|
|
284
|
+
catch {
|
|
285
|
+
key = `missing:${Date.now()}`;
|
|
286
|
+
}
|
|
287
|
+
const hit = metaCache.get(rel);
|
|
288
|
+
if (hit && hit.key === key)
|
|
289
|
+
return hit.meta;
|
|
290
|
+
const fresh = checker.getComponentMeta(abs);
|
|
291
|
+
metaCache.set(rel, { key, meta: fresh });
|
|
292
|
+
return fresh;
|
|
293
|
+
};
|
|
63
294
|
const sceneTexts = new Map();
|
|
64
295
|
for (const scene of input.scenes) {
|
|
296
|
+
// 合成条目没有源文件,rel 为空,不能去 read
|
|
297
|
+
if (!scene.rel) {
|
|
298
|
+
sceneTexts.set(scene.id, '');
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
65
301
|
const abs = path.join(input.root, scene.rel);
|
|
66
302
|
sceneTexts.set(scene.id, fs.existsSync(abs) ? fs.readFileSync(abs, 'utf8') : '');
|
|
67
303
|
}
|
|
68
304
|
const components = findComponentFiles(input.root, input.patterns).map((rel) => {
|
|
69
|
-
const meta =
|
|
305
|
+
const meta = readMeta(rel);
|
|
306
|
+
/** 本组件契约引用到的具名类型,按名字去重 */
|
|
307
|
+
const typeRefs = new Map();
|
|
308
|
+
const collectType = (type) => {
|
|
309
|
+
const item = readTypeDeclaration(type, input.root);
|
|
310
|
+
if (item && !typeRefs.has(item.name))
|
|
311
|
+
typeRefs.set(item.name, item);
|
|
312
|
+
};
|
|
70
313
|
const props = meta.props
|
|
71
314
|
.filter((prop) => isOwnProp(prop.name))
|
|
72
|
-
.map((prop) =>
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
315
|
+
.map((prop) => {
|
|
316
|
+
const type = normalizeType(prop.type);
|
|
317
|
+
const fields = readFields(prop);
|
|
318
|
+
collectType(typeObjectOf(prop));
|
|
319
|
+
return {
|
|
320
|
+
name: prop.name,
|
|
321
|
+
type,
|
|
322
|
+
required: Boolean(prop.required),
|
|
323
|
+
default: String(prop.default ?? ''),
|
|
324
|
+
description: prop.description ?? '',
|
|
325
|
+
...(fields.length ? { fields } : {}),
|
|
326
|
+
};
|
|
327
|
+
});
|
|
328
|
+
const events = meta.events.map((event) => {
|
|
329
|
+
const fields = readEventFields(event);
|
|
330
|
+
const tuple = typeObjectOf(event);
|
|
331
|
+
for (const arg of tuple?.typeArguments ?? [])
|
|
332
|
+
collectType(arg);
|
|
333
|
+
return {
|
|
334
|
+
name: event.name,
|
|
335
|
+
type: normalizeType(event.type),
|
|
336
|
+
signature: String(event.signature ?? ''),
|
|
337
|
+
description: event.description ?? '',
|
|
338
|
+
...(fields.length ? { fields } : {}),
|
|
339
|
+
};
|
|
340
|
+
});
|
|
341
|
+
const slots = meta.slots.map((slot) => {
|
|
342
|
+
collectType(typeObjectOf(slot));
|
|
343
|
+
return {
|
|
344
|
+
name: slot.name,
|
|
345
|
+
type: normalizeType(slot.type),
|
|
346
|
+
description: slot.description ?? '',
|
|
347
|
+
};
|
|
348
|
+
});
|
|
349
|
+
const exposed = meta.exposed.map((item) => {
|
|
350
|
+
collectType(typeObjectOf(item));
|
|
351
|
+
return {
|
|
352
|
+
name: item.name,
|
|
353
|
+
type: normalizeType(item.type),
|
|
354
|
+
description: item.description ?? '',
|
|
355
|
+
};
|
|
356
|
+
});
|
|
357
|
+
// 只有 .vue 场景算「用到了这个组件」:Markdown 文档里提到 prop 名字不算演示
|
|
358
|
+
const demos = input.scenes.filter((scene) => (scene.lang ?? 'vue') === 'vue');
|
|
79
359
|
// 关联场景:场景源码里出现过该组件的文件名(import 路径或组件标签)
|
|
80
360
|
const base = componentName(rel);
|
|
81
|
-
const related =
|
|
361
|
+
const related = demos.filter((scene) => {
|
|
82
362
|
const text = sceneTexts.get(scene.id) ?? '';
|
|
83
363
|
return scene.sources.some((source) => source.rel === rel) || text.includes(base);
|
|
84
364
|
});
|
|
85
365
|
const uncoveredProps = props
|
|
86
366
|
.filter((prop) => !related.some((scene) => new RegExp(`\\b${prop.name}\\b`).test(sceneTexts.get(scene.id) ?? '')))
|
|
87
367
|
.map((prop) => prop.name);
|
|
368
|
+
// 注意:vue-component-meta 不解析 defineEmits 的 JSDoc,事件说明只能靠 pageMeta.apiNotes 补,
|
|
369
|
+
// 所以这里不把 events 计为「缺说明」,否则每个组件都恒缺。
|
|
370
|
+
const undocumented = [
|
|
371
|
+
...props.filter((item) => !item.description).map((item) => `props:${item.name}`),
|
|
372
|
+
...slots.filter((item) => !item.description).map((item) => `slots:${item.name}`),
|
|
373
|
+
...exposed.filter((item) => !item.description).map((item) => `exposed:${item.name}`),
|
|
374
|
+
];
|
|
88
375
|
return {
|
|
89
376
|
name: meta.name || base,
|
|
90
377
|
rel,
|
|
91
378
|
props,
|
|
92
|
-
events
|
|
93
|
-
slots
|
|
94
|
-
exposed
|
|
379
|
+
events,
|
|
380
|
+
slots,
|
|
381
|
+
exposed,
|
|
382
|
+
...(typeRefs.size ? { types: [...typeRefs.values()] } : {}),
|
|
95
383
|
scenes: related.map((scene) => scene.id),
|
|
96
384
|
uncoveredProps,
|
|
385
|
+
undocumented,
|
|
97
386
|
};
|
|
98
387
|
});
|
|
99
388
|
return {
|
|
100
389
|
generatedAt: new Date().toISOString(),
|
|
101
390
|
components,
|
|
391
|
+
modules: input.modules ?? [],
|
|
102
392
|
scenes: input.scenes.map((scene) => ({
|
|
103
393
|
id: scene.id,
|
|
104
394
|
title: scene.title,
|
|
105
395
|
group: scene.group,
|
|
396
|
+
lang: scene.lang ?? 'vue',
|
|
106
397
|
rel: scene.rel,
|
|
107
398
|
sources: scene.sources.map((source) => source.rel),
|
|
108
399
|
})),
|
|
@@ -122,16 +413,50 @@ export const renderLlmsTxt = (manifest) => {
|
|
|
122
413
|
if (prop.description)
|
|
123
414
|
lines.push(` ${prop.description}`);
|
|
124
415
|
}
|
|
125
|
-
if (component.events.length)
|
|
126
|
-
lines.push(`- events: ${component.events.join(', ')}`);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
416
|
+
if (component.events.length) {
|
|
417
|
+
lines.push(`- events: ${component.events.map((event) => `${event.name}${event.type}`).join(', ')}`);
|
|
418
|
+
}
|
|
419
|
+
if (component.slots.length) {
|
|
420
|
+
lines.push(`- slots: ${component.slots.map((slot) => `${slot.name}${slot.type ? ` ${slot.type}` : ''}`).join(', ')}`);
|
|
421
|
+
}
|
|
422
|
+
if (component.exposed.length) {
|
|
423
|
+
lines.push(`- exposed: ${component.exposed.map((item) => `${item.name}${item.type ? `: ${item.type}` : ''}`).join(', ')}`);
|
|
424
|
+
}
|
|
425
|
+
if (component.types?.length) {
|
|
426
|
+
lines.push(`- 类型定义: ${component.types.map((item) => `${item.name} (${item.file})`).join(', ')}`);
|
|
427
|
+
}
|
|
131
428
|
if (component.scenes.length)
|
|
132
429
|
lines.push(`- 相关场景: ${component.scenes.join(', ')}`);
|
|
133
430
|
if (component.uncoveredProps.length)
|
|
134
431
|
lines.push(`- 未覆盖 props: ${component.uncoveredProps.join(', ')}`);
|
|
432
|
+
if (component.undocumented.length)
|
|
433
|
+
lines.push(`- 缺说明: ${component.undocumented.join(', ')}`);
|
|
434
|
+
lines.push('');
|
|
435
|
+
}
|
|
436
|
+
for (const module of manifest.modules ?? []) {
|
|
437
|
+
lines.push(`## ${module.name} (${module.rel})`, '');
|
|
438
|
+
for (const fn of module.functions) {
|
|
439
|
+
lines.push(`- ${fn.kind} ${fn.signature}`);
|
|
440
|
+
if (fn.description)
|
|
441
|
+
lines.push(` ${fn.description}`);
|
|
442
|
+
for (const param of fn.params) {
|
|
443
|
+
const flags = [param.optional ? '可选' : '', param.default ? `默认 ${param.default}` : '']
|
|
444
|
+
.filter(Boolean)
|
|
445
|
+
.join(', ');
|
|
446
|
+
lines.push(` - 参数 ${param.name}: ${param.type}${flags ? ` (${flags})` : ''}${param.description ? ` — ${param.description}` : ''}`);
|
|
447
|
+
}
|
|
448
|
+
if (fn.returns)
|
|
449
|
+
lines.push(` 返回: ${fn.returns}`);
|
|
450
|
+
}
|
|
451
|
+
for (const constant of module.constants) {
|
|
452
|
+
lines.push(`- const ${constant.name}: ${constant.type}${constant.value ? ` = ${constant.value}` : ''}`);
|
|
453
|
+
if (constant.description)
|
|
454
|
+
lines.push(` ${constant.description}`);
|
|
455
|
+
}
|
|
456
|
+
if (module.scenes.length)
|
|
457
|
+
lines.push(`- 相关场景: ${module.scenes.join(', ')}`);
|
|
458
|
+
if (module.uncovered.length)
|
|
459
|
+
lines.push(`- 未覆盖: ${module.uncovered.join(', ')}`);
|
|
135
460
|
lines.push('');
|
|
136
461
|
}
|
|
137
462
|
return `${lines.join('\n').trim()}\n`;
|
|
@@ -144,6 +469,7 @@ export const renderCoverage = (manifest) => {
|
|
|
144
469
|
})));
|
|
145
470
|
const total = rows.length;
|
|
146
471
|
const covered = rows.filter((row) => row.covered).length;
|
|
472
|
+
const missing = manifest.components.flatMap((component) => component.undocumented.map((item) => `| ${component.name} | ${item} |`));
|
|
147
473
|
const lines = [
|
|
148
474
|
'# Props 覆盖报告',
|
|
149
475
|
'',
|
|
@@ -154,6 +480,14 @@ export const renderCoverage = (manifest) => {
|
|
|
154
480
|
'|---|---|---|',
|
|
155
481
|
...rows.map((row) => `| ${row.component} | ${row.prop} | ${row.covered ? '是' : '否'} |`),
|
|
156
482
|
'',
|
|
483
|
+
'# 缺 JSDoc 的 API',
|
|
484
|
+
'',
|
|
485
|
+
'补上 `/** 说明 */` 就会出现在页面的 API 表里。',
|
|
486
|
+
'',
|
|
487
|
+
'| 组件 | API |',
|
|
488
|
+
'|---|---|',
|
|
489
|
+
...(missing.length ? missing : ['| — | 全部已写说明 |']),
|
|
490
|
+
'',
|
|
157
491
|
];
|
|
158
492
|
return lines.join('\n');
|
|
159
493
|
};
|