Command line tool and utility for cleaning up (not only) swagger.json files. Used for better comparison and diff of your swagger.
Because reading diff of swagger.json
files is often very hard. It can be even harder if swagger.json is auto-generated. It's JSON structure ordering can vary, example
part can contain a lot-of stuff that makes diff even harder to read.
swagger-cleaner
is here to help. It cleans your swagger.json so diff is easier to read.
Using npx
you can run the script without installing it:
npx swagger-cleaner <url> --save-raw raw-file.json > clean-file.json
this will download swagger.json
from <url>
, saves it into raw-file.json
and saves cleaned version into clean-file.json
.
For all command line options run:
npx swagger-cleaner
Assume script is started as:
swagger-cleaner http://example.com/swagger.json --save-raw raw-file.json > clean-file.json
- Script will fetch json file from
http://example.com/swagger.json
address - It saves raw json file into
raw-file.json
(can be omited) - Cleans JSON, so that output is deterministic - a.k.a. always sorted the same way. (We use json-stable-stringify lib for this)
- Removes every
example
part from JSON file (this can be disabled with--keep-examples
option) - Saves output into
clean-file.json
file
As frontend developers with several projects, we (our team) keep all swagger.json
files, of all backend services we use, in our frontend projects repositories. As backend services are our dependencies, we need to be sure, that we know about any change on backend. That's why we regularly check diffs of swagger.json
files. And to be sure, diffs are as-human-readable-as-possible we use swagger-cleaner
.
By using --keep-examples
option, you can clean-up any JSON file.