Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

OpenAPI Quality Checks

This directory contains the Dataverse vacuum ruleset used to check the generated OpenAPI document while preserving known legacy API shapes.

vacuum

vacuum is a command-line linter and quality checker for OpenAPI, AsyncAPI, and JSON Schema documents. It is compatible with Spectral rulesets, so the Dataverse ruleset can extend the built-in vacuum:oas recommended profile and disable rules that are noisy for the current API surface.

Project and documentation:

Install with Homebrew:

brew install --cask daveshanley/vacuum/vacuum

Install with npm:

npm i -g @quobix/vacuum

Install with curl:

curl -fsSL https://quobix.com/scripts/install_vacuum.sh | sh

Checking Dataverse OpenAPI

Generate the OpenAPI document from the repository root:

mvn -q -DskipTests process-classes

The generated JSON is written to:

target/classes/META-INF/openapi.json

Run the vacuum checks from the repository root:

vacuum lint -r scripts/openapi/vacuum-recommended.yaml target/classes/META-INF/openapi.json

For a fuller report:

vacuum report -r scripts/openapi/vacuum-recommended.yaml target/classes/META-INF/openapi.json

For the interactive dashboard:

vacuum dashboard -r scripts/openapi/vacuum-recommended.yaml target/classes/META-INF/openapi.json

The ruleset extends vacuum:oas recommended rules, with legacy/noisy checks disabled where Dataverse intentionally keeps historical endpoint names or lacks examples. Request-body findings remain enabled so unused body parameters on GET endpoints are reported and can be removed from source.