Skip to content

Generator 参考 ​

仅适用于 5.x

本页只适用于 5.x 线(npm 5.1.x,分支 5.x)。从 6.0 起,@ahoo-wang/fetcher-generator 位于 Wow 仓库(typescript/),文档见 wow.ahoo.me;后继包 @ahoo-wang/wow-generator 自 Wow 9.2.0 起已发布到 npm(9.2.1 及以上兼容 fetcher 6)。

从 OpenAPI 文档生成 TypeScript 模型和装饰器客户端,可识别 Wow CQRS。包根仅导出 CodeGenerator、DEFAULT_CONFIG_PATH。

安装 ​

bash
pnpm add -D @ahoo-wang/fetcher-generator @ahoo-wang/fetcher @ahoo-wang/fetcher-eventstream @ahoo-wang/fetcher-decorator @ahoo-wang/fetcher-openapi @ahoo-wang/fetcher-wow typescript

版本 5.0.0 自身声明 Node >=18.20.8,但 CLI 依赖 commander 14 要求 Node >=20。此工具链使用 Node >=22.12.0;仓库开发另固定 pnpm 10.34.5。命令包含全部递归 peer(Generator → Wow/Decorator/EventStream/OpenAPI → Fetcher)及下文使用的编译器。ts-morph、commander、yaml 作为普通依赖自动安装。这些是生成阶段依赖;消费应用需把生成客户端导入的包作为运行时依赖安装,见生成产物。

最小示例 ​

bash
pnpm exec fetcher-generator generate -i ./openapi.json -o ./src/generated -t ./tsconfig.json

选择入口 ​

可复现的构建步骤使用 CLI,需要自定义日志的 Node 脚本使用 CodeGenerator.generate()。两者都生成源码,不执行 API 操作。先准备完整的 CLI 输入和 tsconfig,重新生成前确认输出所有权。

专题 ​

完整公开符号索引

基于 Apache License 2.0 发布。