The fastest way to see something useful is to print something out to the console.
This will print a summary of your linting results. The lint
command will use the
Recommended RuleSet.
Just want to try things out?
If you don’t have an OpenAPI spec and you want to see something, you can run it against one of the test specifications. A good one to try is the petstorev3.json specification.
Linting multiple files
From v0.5.0+
The lint
command accepts multiple OpenAPI files as inputs, either as a glob pattern, or as a list of files.
Or as a glob pattern
In v0.9.6
a new flag was added to allow for globbed files to be linted. This is useful for CI/CD pipelines that
do not have a shell that provides the ability to use a glob pattern.
--globbed-files
accepts a glob pattern and will lint all files that match the pattern.
Available Flags
lint
supports the following flags
Short | Full | Input | Description |
---|---|---|---|
-d | –details | bool |
Show full details of the linting report |
-c | –category | string |
Used with -d , Show a single category of results |
-e | –errors | bool |
Used with -d , Show only reported errors |
-x | –silent | bool |
Show no output, except for the linting result |
-s | –snippets | bool |
Used with -d , shows highlighted code in console |
-n | –fail-severity | string |
Set the level at which an error return code is thrown (defaults to error ) |
-q | –no-style | bool |
Disable color and style console output (useful for CI/CD) |
-h | –help | bool |
Show help screen and all flag details |
-m | –no-message | bool |
Hide the ‘message’ column when showing details via -d |
-b | –no-banner | bool |
Hide the welcome / version banner |
-a | –all-results | bool |
Show all results (regardless of number) when showing details via -d |
–ignore-polymorph-circle-ref | bool |
Ignore polymorphic based circular references | |
–ignore-array-circle-ref | bool |
Show array based circular references based | |
–globbed-files | bool |
Use a glob pattern to lint multiple files | |
–no-clip | bool |
Do not truncate/clip long message or JSON path output |
Global Flags
lint
supports the following global flags
Short | Full | Input | Description |
---|---|---|---|
-r | –ruleset | string |
Use an existing ruleset file for linting |
-t | –time | bool |
Show how long it took to lint the spec in (ms) |
-p | –base | string |
Base URL or Base working directory to use for relative references |
-u | –remote | string |
Load remote references automatically if possible (default is true) |
-k | –skip-check | string |
Skip checking for a valid OpenAPI document, useful for linting fragments or non-OpenAPI documents |
-g | –timeout | string |
How long (in seconds to wait) for a rule before it times out (default is 5 seconds) |
-z | –hard-mode | string |
Enable every single built-in rule (including OWASP). Only for adventurers and brave souls. |
Full flags begin with a double hyphen.
Examples
Want something easy to copy and paste?
Using an existing RuleSet
Single category
Single category with snippets
Only show errors
Fail severity
vacuum can be set to return a non-zero exit code if the linting results contain a severity level that is equal to or
greater than the --fail-severity
/ -n
flag. This is useful for CI/CD pipelines.
There are three levels are supported:
Level | Description |
---|---|
error | Return a non-zero exit code if any errors are found |
warn | Return a non-zero exit code if any errors or warnings are found |
info | Return a non-zero exit code if any errors, warnings, or infos are found |
Setting the --fail-severity
flag to warn
will return a non-zero exit code if any errors or warnings are found.