Skip to content

包边界 ​

核心包没有内部运行依赖或 peer 依赖。按责任选择附加能力,再满足所选包的 peer 要求。“业务上可选”不意味着可以忽略已经声明的 peer。见 packages/fetcher/package.json:31。

声明的内部 peer ​

下图每条箭头表示起点包声明终点包为内部 peer 依赖。这是安装图,不是请求调用图。名称省略 @ahoo-wang/fetcher-* 前缀;fetcher 表示 @ahoo-wang/fetcher。OpenAPI 只提供类型,没有内部 peer。

mermaid
flowchart LR
  decorator --> fetcher
  eventbus --> fetcher
  eventstream --> fetcher
  storage --> eventbus
  cosec --> fetcher & eventbus & storage
  openai --> fetcher & eventstream & decorator
  react --> fetcher & eventbus & storage & cosec
  openapi
  classDef default fill:#2d333b,stroke:#6d5dfc,color:#e6edf3
层责任与成本清单依据
fetcherHTTP 默认配置、拦截、结果提取;无内部依赖packages/fetcher/package.json:31
decorator声明式服务;需要 metadata 配置及运行依赖 reflect-metadatapackages/decorator/package.json:54
eventbus / eventstream事件分发 / SSE 处理;各自以核心包为 peerpackages/eventbus/package.json:52, packages/eventstream/package.json:53
storage / cosec存储事件 / 认证协议;需要额外管理状态生命周期packages/storage/package.json:56, packages/cosec/package.json:54
openai基于核心、装饰器与流的服务专用运行客户端packages/openai/package.json:59
react请求与集成 Hook;React/ReactDOM peer,直接依赖 dequal 与 immer;提供 /core、/fetcher 子路径packages/react/package.json:74
openapiOpenAPI 3 类型词汇;既不发送请求,也不验证输入packages/openapi/src/index.ts:19

安装不等于执行 ​

React 对 CoSec 的 peer 边不表示每个 Hook 都通过 CoSec 认证。导入 @ahoo-wang/fetcher-react/core 只加载 React,导入 @ahoo-wang/fetcher-react/fetcher 只加载 @ahoo-wang/fetcher,但声明的 peer 仍是安装前提,见 React 子路径入口。执行路径见请求生命周期。

OpenAPI 类型本身既不发送请求,也不验证输入。作为开发依赖列出的 React Compiler 工具链,并不会把仓库的编译管线强加给每个消费者。服务声明见声明式服务;选择消费者版本前先阅读运行环境。

迁往 Wow 仓库的包 ​

与 Wow 耦合的包在 6.0 之前已离开本仓库。它们在这里的最后版本是 5.x 线(npm 5.1.x,分支 5.x);介绍它们的页面只适用于 5.x。

5.x 包从 6.0 起阅读
@ahoo-wang/fetcher-wowWow 仓库 typescript/ 中的 @ahoo-wang/wow-client5.x:Wow 指南、Wow 参考;6.0 起:wow.ahoo.me
@ahoo-wang/fetcher-react 中的 Wow 查询 HookWow 仓库中的 @ahoo-wang/wow-reactwow.ahoo.me
@ahoo-wang/fetcher-generatorWow 仓库中的 @ahoo-wang/wow-generator(CLI wow-generator;fetcher-generator 别名保留到 Wow v10)5.x:生成客户端、生成器参考;6.0 起:wow.ahoo.me
@ahoo-wang/fetcher-viewer、数据监控 Hook已在 npm 弃用,冻结在 5.x;由 @ahoo-wang/wow-view-engine(Wow 9.2+)替代5.x:Viewer 指南、Viewer 参考

Wow 的 npm 包自首个稳定版 Wow 9.2.0 起发布,自 Wow 9.2.1 起兼容 fetcher 6(peer 范围 ^5.1.5 || ^6.0.0)。把 5.x 应用迁到 6.0 时,先切换到 Wow 包(9.2.1 及以上),再升级 fetcher;@ahoo-wang/fetcher-viewer 的使用者在迁移到 @ahoo-wang/wow-view-engine 之前继续使用上述 5.1.x 版本。

基于 Apache License 2.0 发布。