vacuum - 世界上最快的OpenAPI和Swagger检查工具。
一个超级快速、轻量级的OpenAPI检查和质量检查工具,用golang编写,灵感来自Spectral。
它还兼容现有的Spectral规则集。
使用homebrewtap安装
brew install daveshanley/vacuum/vacuum
使用npm安装
npm i -g @quobix/vacuum
使用yarn安装
yarn global add @quobix/vacuum
使用curl安装
curl -fsSL https://quobix.com/scripts/install_vacuum.sh | sh
使用Docker安装
镜像可在以下地址获取:https://hub.docker.com/r/dshanley/vacuum
docker pull dshanley/vacuum
要运行,将当前工作目录挂载到容器并使用规范的相对路径,如下所示
docker run --rm -v $PWD:/work:ro dshanley/vacuum lint <your-openapi-spec.yaml>
或者,你可以从Github packages获取。
要这样做,请在上述命令中将dshanley/vacuum
替换为ghcr.io/daveshanley/vacuum
。
使用Go运行
如果你安装了go >= 1.16,你可以使用go run
来构建和运行它:
go run github.com/daveshanley/vacuum@latest lint <your-openapi-spec.yaml>
赞助商
如果你的公司正在使用vacuum
,请考虑支持这个项目,
就像我们非常友善的赞助商:
来和我们聊天
需要帮助?有问题?想分享你的工作?加入我们的discord来打个招呼!
文档
🔥 v0.12+新功能 🔥 : 核心函数支持JSON路径。
现在所有核心函数都为每个检查结果返回正确和准确的JSON路径。以前这是完全不可能的, 但通过一些巧妙的工程,我们实现了它。这是一个小变化,但影响巨大。
这个功能在OpenAPI函数上已经存在一段时间了,但核心函数之前没有比较。 但现在不再如此!核心函数已经加入了派对。
lint
命令现在有一个新的--no-clip
标志。这可以防止消息/路径被截断。
v0.11+
: 忽略检查错误/违规。
v0.11引入了忽略特定检查错误的能力。这在你想为现有生产API实施新规则时非常有用。 在某些情况下,纠正检查错误可能会导致破坏性变更。
有一种忽略这些错误的方法可以让你为新API实施新规则,同时保持现有API的向后兼容性。
v0.10+
: 质量发布。
v0.10是一个质量发布,对规则模式、函数名称等进行了多项修复和改进。 vacuum现在为The OpenAPI doctor提供支持。为了实现正确的规则集管理和自动化, 一些函数被重命名,接口被升级,规则函数模式现在更准确。
这对于任何使用vacuum作为库并使用自定义规则的人来说是一个破坏性变更。
v0.9+
: 内置语言服务器。
现在有一个新的命令language-server
。这会将vacuum作为LSP兼容的语言服务器启动。在你
喜欢的IDE中运行vacuum,实时获取检查和验证。
将支持任何LSP兼容的编辑器,如VSCode、Sublime、vim等。
安装VSCode扩展 了解更多关于language-server命令
v0.8+
: OpenAPI打包工具。
现在有一个新的命令bundle
,它会将OpenAPI文件的所有外部引用打包成一个单一文件。
现在有一个新的检查规则oas-schema-check
,它会对OpenAPI文件中的所有模式执行类型检查和验证。
它在推荐的规则集中默认启用。
v0.7+
: 困难模式。
想用最严格的规则集检查你的规范吗?现在你可以了!使用-z
/ --hard-mode
标志来启用
v0.6+
: 现在可以使用可共享/分布式规则集。
想要共享/扩展/分发你自己的规则集吗?现在你可以了!
v0.5+
: lint
命令现在可以进行多文件检查。
想一次检查多个文件吗?现在你可以了!
vacuum lint file1.json path/to/file2.yaml file3.json
想处理大量文件吗?使用glob模式!
vacuum lint some/path/**/*.yaml
v0.3+
: 自定义JavaScript函数现 在可以开箱即用。
用JavaScript编写自定义函数,并在任何规则集中使用它们。不再需要 编译golang代码来扩展vacuum了!
v0.2+
: OWASP API规则现在可以开箱即用。
快速入门指南 🚀
在https://quobix.com/vacuum查看所有文档
vacuum可以在毫秒内吸走5mb OpenAPI规范中的所有lint。
设计用于可靠地检查OpenAPI规范,非常非常快速