Skip to content

Command line tool and utility for cleaning up (not only) swagger.json files. Used for better comparison and diff of your swagger.

License

Notifications You must be signed in to change notification settings

dhlavaty/swagger-cleaner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

swagger-cleaner

Command line tool and utility for cleaning up (not only) swagger.json files. Used for better comparison and diff of your swagger.

Why

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.

Usage

Running on-demand

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.

Other options

For all command line options run:

npx swagger-cleaner

How it works

Assume script is started as:

swagger-cleaner http://example.com/swagger.json --save-raw raw-file.json > clean-file.json
  1. Script will fetch json file from http://example.com/swagger.json address
  2. It saves raw json file into raw-file.json (can be omited)
  3. Cleans JSON, so that output is deterministic - a.k.a. always sorted the same way. (We use json-stable-stringify lib for this)
  4. Removes every example part from JSON file (this can be disabled with --keep-examples option)
  5. Saves output into clean-file.json file

How author use it

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.

About

Command line tool and utility for cleaning up (not only) swagger.json files. Used for better comparison and diff of your swagger.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published