Criteo.OpenApi.Comparator
0.8.1
Prefix Reserved
dotnet add package Criteo.OpenApi.Comparator --version 0.8.1
NuGet\Install-Package Criteo.OpenApi.Comparator -Version 0.8.1
<PackageReference Include="Criteo.OpenApi.Comparator" Version="0.8.1" />
paket add Criteo.OpenApi.Comparator --version 0.8.1
#r "nuget: Criteo.OpenApi.Comparator, 0.8.1"
// Install Criteo.OpenApi.Comparator as a Cake Addin #addin nuget:?package=Criteo.OpenApi.Comparator&version=0.8.1 // Install Criteo.OpenApi.Comparator as a Cake Tool #tool nuget:?package=Criteo.OpenApi.Comparator&version=0.8.1
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 | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.OpenApi (>= 1.2.3)
- Microsoft.OpenApi.Readers (>= 1.2.3)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.