@docspack/openapi

中文文档
0.2.1发布于 2026/10/03MITTypeScriptES Module近 30 天下载 2.4万

Docspack对 OpenAPI 文档所做的: 用于代理的密集操作摘要、 用于页面的代码样本和请求构建器, 和一个尝试控制台.

中文使用文档
文档目录4 节
  1. 为什么是摘要而不是文件
  2. LAPIS, 与它不同的摘要
  3. 尝试控制台
  4. 许可证

@ docspack/ openapi

Docspack 用 OpenAPI 文档做什么 .

读取文档并将其作为LAPIS @docspack/lapis,可发布 因为它的转换对永远也碰不到文件包的人有用。 这个软件包是 上面的所有东西——它都再出口模型,所以你需要一个进口而不是两个:

  • 代理人 - 密集的操作 摘要: 基准 URL、证书、输入 它们的种类,身体形状,反应,失败和可运行 curl 打电话,在 利比里亚 标记;
  • 一个人 —— CURL, JavaScript, Python 和 Go 中的请求构建器和代码样本, 加上 尝试控制台的行为.

两者都来自同一个解析器和同一个请求构建器,所以一个页面上的样本,请求 控制台发送一个代理被回答的示例不能有异议 .

它唯一的依赖是 @docspack/lapis,主要条目没有它自己的, 所以这个运行在 CLI和浏览器都一样.

import { parseOpenApi, operationDigest, codeSamples, toGroups } from "@docspack/openapi";

// `parseOpenApi` and `toGroups` come from @docspack/lapis, re-exported here.
const document = parseOpenApi(JSON.parse(await readFile("openapi.json", "utf8")));
const [operation] = document.operations;

operationDigest(document, operation); // the dense text an agent gets
codeSamples(document, operation); // cURL, JavaScript, Python, Go
toGroups(document); // operations grouped by tag, for a sidebar

为什么是摘要而不是文件

在 API 中,一个代理发送的 OpenAPI 文档被传送到每个操作,以回答关于 一个 根据斯德莱克公布的规格——594项操作,1,454项计划,8.0 MB of JSON:

估计值
印发的整份文件2 007 014 (中文(简体) )
整个文件,作为LAPIS193 593 (中文(简体) )
一个行动摘要( 中间)830个

反对: 最小的正确切片 openAPI JSON 用于单一操作——操作 它的参考计划,安全计划 和它的服务器, 一份摘要 大约72% (单位:千美元)tests/digest.test.ts 持有该号码到一楼).

有三个限制是可能的,每个限制都存在,因为没有限制是衡量的:

  • 命名类型由名称所携带. 从一个 " 花纹 " 行动到完全过渡性关闭 大多数API, 因为每个对象都有可扩展的字段指向另一个: 文摘来了 每人66500个 步行是从行动本身的图谋中走出第一线,然后停站 一个象征性的预算, 命名哪些是不适合的.
  • 内置对象扩展出两个关并列出十二个字段. 无报酬的文档 在这里.
  • 点名会列出8名会员. 斯德莱克的商家类别 enum有297个 而且出现4个 时值在一个操作中——一行有25 637个字符.

任何滑动都算在内(+32 more, (中文(简体) ), # not expanded here: …)),因为"还有更多的这个 形状"和"这是整个形状"是不同的主张.

LAPIS, 与它不同的摘要

利比里亚 (v0.1.0, CC BY 4. 0)是描述API的开放式格式 到语言模型。 它被通过而不是取而代之的是我们自己的标记:一种模式 已经看到它没有被教育就被剖析了 储蓄是结构性的 这个 渲染器及其一个有文件记录的扩展在 @docspack/lapis。 。 。 .

另有两个偏差属于 摘要 特别是,因为它描述了一个操作 而不是整个API:

  1. 错误按摘要列出,作为 <status> <Type> # <description>,而不是在一个 全文件 [errors] 区域 @ops: 装订. toLapis 整个文件渲染.. 这是LAPIS最大的单一储蓄来源.
  2. 成功状态将随着 # 注释 编辑 < 线条。 LAPIS 输出标记携带 一个类型,没有别的,和 201 对 204 改变打电话者下一步会做什么.

尝试控制台

@docspack/openapi/console 是一个 DOM 模块,而不是组件 :

import { mountApiConsoles } from "@docspack/openapi/console";

mountApiConsoles(); // claims every [data-api-console] on the page

标记使静态——一种贴有标签的填充形式,确切显示终点是什么—— 这使得发送按钮有效. 证书从不存储: 从字段读取 发送时间 并保存在任何 超过请求。 没有 localStorage,没有 sessionStorage,没有 饼干.

@docspack/sheaf-react 使标记本模块理解 .

许可证

麻省理工学院. LAPIS 规格为 CC BY 4. 0并属于它的作者; 此套件执行一个 制造器.

版本与发布记录

@docspack/openapi 共发布 3 个版本,首次发布于 2026/09/11;过去 12 个月发布了 3 个版本。

版本发布日期距今
0.2.1latest2026/10/031 个月前
0.2.02026/09/161 个月前
0.1.02026/09/112 个月前

关于 @docspack/openapi 的常见问题

@docspack/openapi 是什么?

Docspack对 OpenAPI 文档所做的: 用于代理的密集操作摘要、 用于页面的代码样本和请求构建器, 和一个尝试控制台.

如何安装 @docspack/openapi?

在项目目录运行 npm install @docspack/openapi,或使用 pnpm add / yarn add / bun add。

@docspack/openapi 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@docspack/openapi 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@docspack/openapi 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.5.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@docspack/openapi 可以商用吗?

@docspack/openapi 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@docspack/openapi 的下载量有多少?

根据 npm 官方下载统计,@docspack/openapi 在 2026/10/13 – 2026/11/11 这 30 天内被下载 24,324 次,日均约 811 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@docspack/openapi 还在维护吗?

最新版本 0.2.1 发布于 2026/10/03(1 个月前);至今共发布 3 个版本,其中过去 12 个月发布了 3 个;首次发布于 2026/09/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。