Criteo.OpenApi.Comparator.Cli 0.8.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global Criteo.OpenApi.Comparator.Cli --version 0.8.0                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local Criteo.OpenApi.Comparator.Cli --version 0.8.0                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Criteo.OpenApi.Comparator.Cli&version=0.8.0                
nuke :add-package Criteo.OpenApi.Comparator.Cli --version 0.8.0                

Open API Comparator

An OpenAPI tool to compare OpenAPI Specifications.

C# Library

The tool is available as a nuget package, directly usable into your C# application.

To install it run the command:

dotnet add package Criteo.OpenApi.Comparator

Here is an example of how to use the Comparator:

var differences = OpenApiComparator.Compare(
    oldOpenApiSpec,
    newOpenApiSpec
);

Command line tool

The comparator is also available as a command line tool.

To install it, run the command:

dotnet tool install -g Criteo.OpenApi.Comparator.Cli

You can then use the tool through the openapi-compare command:

openapi-compare -o new_oas.json -n old_oas.json -f Json

Available options: | Option | Small | Required | Description | |----------------|-------|----------|---------------------------------------------------------------------------------------------------------------| | --old | -o | true | Path or URL to old OpenAPI Specification. | | --new | -n | true | Path or URL to new OpenAPI Specification. | | --outputFormat | -f | false | (Default: Json) Specifies in which format the differences should be displayed. Possible values: Json | Text. | | --strict | -s | false | (Default: false) Enable strict mode: breaking changes are errors instead of warnings. | | --help | -h | false | Log available options |

Comparison rules

Each comparison rule is documented in the documentation section.

OpenAPI version support

Internally, the comparator uses microsoft/OpenAPI.NET which currently supports OpenAPI 2.0 to 3.0.0.

Contributing

Any contribution is more than welcomed. For now, no specific rule must be applied to contribute, just create an Issue or a Pull Request and we'll try to handle it ASAP.

License

OpenApi Comparator is an Open Source software released under the Apache 2.0 license.

Developper guide

Simply use the dotnet cli. For example, to run the tests:

dotnet test
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
0.8.1 1,860 7/18/2024
0.8.0 94 7/16/2024
0.7.3 3,325 3/21/2023
0.7.0 484 1/9/2023
0.6.0 311 1/6/2023
0.1.0 378 1/6/2023