2021-02-25 14:25:50 +03:00
|
|
|
# openapi-diff
|
2021-02-24 09:44:45 +03:00
|
|
|
|
2021-02-25 14:25:50 +03:00
|
|
|
[![Hackage](https://img.shields.io/hackage/v/openapi-diff.svg?logo=haskell)](https://hackage.haskell.org/package/openapi-diff)
|
|
|
|
[![Stackage Lts](http://stackage.org/package/openapi-diff/badge/lts)](http://stackage.org/lts/package/openapi-diff)
|
|
|
|
[![Stackage Nightly](http://stackage.org/package/openapi-diff/badge/nightly)](http://stackage.org/nightly/package/openapi-diff)
|
2021-02-24 09:44:45 +03:00
|
|
|
[![MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
|
|
|
|
|
|
|
|
Compatibility checker for OpenAPI
|
2021-07-22 19:07:33 +03:00
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
Usage: openapi-diff (-c|--client ARG) (-s|--server ARG)
|
|
|
|
[--silent | --only-breaking | --all] [-o|--output ARG]
|
|
|
|
[--folding-block-quotes-style | --header-style]
|
|
|
|
A tool to check compatibility between two OpenApi specifications.
|
|
|
|
|
|
|
|
Usage examples
|
|
|
|
|
|
|
|
Compare files old.yaml with new.yaml and output the resulting report to
|
|
|
|
stdout:
|
|
|
|
|
|
|
|
openapi-diff -c old.yaml -s new.yaml
|
|
|
|
|
|
|
|
Only output breaking changes and write a styled HTML report to file
|
|
|
|
report.html:
|
|
|
|
|
|
|
|
openapi-diff -c old.yaml -s new.yaml --only-breaking -o report
|
|
|
|
|
|
|
|
Don't output anything, only fail if there are breaking changes:
|
|
|
|
|
|
|
|
openapi-diff -c old.json -s new.json --silent
|
|
|
|
|
|
|
|
Write full report suitable for embedding into a GitHub comment to
|
|
|
|
report.html:
|
|
|
|
|
|
|
|
openapi-diff -c old.json -s new.json --folding-block-quotes-style -o report.html
|
|
|
|
|
|
|
|
Available options:
|
|
|
|
-h,--help Show this help text
|
|
|
|
-c,--client ARG A path to the file containing the specification that
|
|
|
|
will be used for the client of the API. Can be either
|
|
|
|
a YAML or JSON file.
|
|
|
|
-s,--server ARG A path to the file containing the specification that
|
|
|
|
will be used for the server of the API. Can be either
|
|
|
|
a YAML or JSON file.
|
|
|
|
--silent Silence all output.
|
|
|
|
--only-breaking Only report breaking changes in the output.
|
|
|
|
--all Report both incompatible and compatible changes.
|
|
|
|
Compatible changes will not trigger a failure exit
|
|
|
|
code.
|
|
|
|
-o,--output ARG The file path where the output should be written. If
|
|
|
|
the option is omitted the result will be written to
|
|
|
|
stdout.
|
|
|
|
|
|
|
|
The file extension is used to determine the type of
|
|
|
|
the output file.
|
|
|
|
|
|
|
|
Supports many formats such as markdown, html, rtf,
|
|
|
|
doc, txt, rst, and many more.
|
|
|
|
|
|
|
|
Leave out the extension to produce a self-contained
|
|
|
|
HTML report with styling.
|
|
|
|
--folding-block-quotes-style
|
|
|
|
The report tree is structured using summary/detail
|
|
|
|
HTML elements and indented using block quotes. This
|
|
|
|
style renders well on GitHub.Intended for HTML output
|
|
|
|
format. Markdown has rendering bugs on GitHub.
|
|
|
|
--header-style The report tree is structured using increasing levels
|
|
|
|
of headers.
|
|
|
|
```
|