WU / 文档通用微前端
中文

契约、类型与转换器

生成 TypeScript 客户端并验证兼容旧版本适配的契约变更。

需要 WU CLI 1.2.0,应用 API 需要 WU Framework 4.0.0。请检查 wu --version 和项目依赖。

wu contracts types counter-v1.json --out client.d.ts
wu contracts types counter-v1.json counter-v2.json --out clients.d.ts
wu contracts check counter-v1.json counter-v2.json --json
wu contracts check counter-v1.json counter-v2.json --translators translators.mjs --json

JSON 文件使用 defineService 接受的描述格式。CLI 从项目加载 wu-framework/services,而不是全局副本。每个文件必须是有效 JSON,且不超过 1 MiB。types 将 TypeScript 声明写入标准输出,或使用 --out 写入独立 .d.ts 文件。

多个契约生成 ServiceClientV1、ServiceClientV2 等名称;若主版本相同,则使用完整版本,例如 ServiceClient_1_2_0。check 恰好接受旧、新两个契约,不接受 --out。types 不接受 --json 或 --translators。

转换器兼容性

--translators 模块以 default 或 translators 导出数组。每项包含 definition 和 methods,与 provideService 接受的格式相同。检查将已覆盖变更移入 translated,未覆盖变更保留在 changes。实现与测试转换器见版本化服务。

退出码 含义
0 契约兼容或类型生成成功。
1 存在未覆盖的不兼容变更。
2 文件、描述、依赖或选项无效。

兼容结果验证的是契约结构,不证明转换函数对所有值都正确。更换提供方前,应在运行时测试输入输出示例、验证失败和权限。

一起完善 WU

发现了问题?有新的想法?

你的使用体验能让 WU 变得更好。告诉我们遇到的问题,或支持项目的持续开发。