diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..123014908b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml index e52981a745..bc4992833b 100644 --- a/.github/workflows/sonar.yml +++ b/.github/workflows/sonar.yml @@ -10,7 +10,7 @@ jobs: build: runs-on: ubuntu-latest - + if: ${{ github.repository_owner == 'OpenAPITools' }} steps: - uses: actions/checkout@v1 - name: Set up JDK 11 diff --git a/.travis.yml b/.travis.yml index edbd8c27dd..9ba0b842f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -149,6 +149,8 @@ install: script: # fail fast - set -e + # fail if the template files contains tabs + - /bin/bash ./bin/utils/detect_tab_in_templates.sh # fail if the test files have changes - bin/utils/detect_test_file_changes.rb bin/utils/test_file_list.yaml # fail if templates/generators contain carriage return '\r' diff --git a/README.md b/README.md index 2b436786cc..677a6e338b 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se | | Languages/Frameworks | | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later, .NET Standard 1.3 - 2.0, .NET Core 2.0, .NET 5.0), **C++** (cpp-restsdk, Qt5, Tizen, Unreal Engine 4), **Clojure**, **Crystal**, **Dart**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client, MicroProfile Rest Client), **k6**, **Kotlin**, **Lua**, **Nim**, **Node.js/JavaScript** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types, Apollo GraphQL DataStore), **Objective-C**, **OCaml**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (hyper, reqwest, rust-server), **Scala** (akka, http4s, scalaz, sttp, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x, 5.x), **Typescript** (AngularJS, Angular (2.x - 11.x), Aurelia, Axios, Fetch, Inversify, jQuery, Nestjs, Node, redux-query, Rxjs) | +| **API clients** | **ActionScript**, **Ada**, **Apex**, **Bash**, **C**, **C#** (.net 2.0, 3.5 or later, .NET Standard 1.3 - 2.0, .NET Core 2.0, .NET 5.0. Libraries: RestSharp, HttpClient), **C++** (cpp-restsdk, Qt5, Tizen, Unreal Engine 4), **Clojure**, **Crystal**, **Dart**, **Elixir**, **Elm**, **Eiffel**, **Erlang**, **Go**, **Groovy**, **Haskell** (http-client, Servant), **Java** (Jersey1.x, Jersey2.x, OkHttp, Retrofit1.x, Retrofit2.x, Feign, RestTemplate, RESTEasy, Vertx, Google API Client Library for Java, Rest-assured, Spring 5 Web Client, MicroProfile Rest Client), **k6**, **Kotlin**, **Lua**, **Nim**, **Node.js/JavaScript** (ES5, ES6, AngularJS with Google Closure Compiler annotations, Flow types, Apollo GraphQL DataStore), **Objective-C**, **OCaml**, **Perl**, **PHP**, **PowerShell**, **Python**, **R**, **Ruby**, **Rust** (hyper, reqwest, rust-server), **Scala** (akka, http4s, scalaz, sttp, swagger-async-httpclient), **Swift** (2.x, 3.x, 4.x, 5.x), **Typescript** (AngularJS, Angular (2.x - 11.x), Aurelia, Axios, Fetch, Inversify, jQuery, Nestjs, Node, redux-query, Rxjs) | | **Server stubs** | **Ada**, **C#** (ASP.NET Core, NancyFx), **C++** (Pistache, Restbed, Qt5 QHTTPEngine), **Erlang**, **F#** (Giraffe), **Go** (net/http, Gin), **Haskell** (Servant), **Java** (MSF4J, Spring, Undertow, JAX-RS: CDI, CXF, Inflector, Jersey, RestEasy, Play Framework, [PKMST](https://github.com/ProKarma-Inc/pkmst-getting-started-examples), [Vert.x](https://vertx.io/)), **Kotlin** (Spring Boot, Ktor, Vertx), **PHP** (Laravel, Lumen, Slim, Silex, [Symfony](https://symfony.com/), [Zend Expressive](https://github.com/zendframework/zend-expressive)), **Python** (Flask), **NodeJS**, **Ruby** (Sinatra, Rails5), **Rust** (rust-server), **Scala** (Akka, [Finch](https://github.com/finagle/finch), [Lagom](https://github.com/lagom/lagom), [Play](https://www.playframework.com/), Scalatra) | | **API documentation generators** | **HTML**, **Confluence Wiki**, **Asciidoc**, **Markdown**, **PlantUML** | | **Configuration files** | [**Apache2**](https://httpd.apache.org/) | @@ -606,6 +606,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in - [GetYourGuide](https://www.getyourguide.com/) - [GMO Pepabo](https://pepabo.com/en/) - [GoDaddy](https://godaddy.com) +- [Gumtree](https://gumtree.com) - [Here](https://developer.here.com/) - [IBM](https://www.ibm.com/) - [Instana](https://www.instana.com) @@ -801,6 +802,8 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in - 2020-12-15 - [Next.js + NestJS + GraphQLで変化に追従するフロントエンドへ 〜 ショッピングクーポンの事例紹介](https://techblog.yahoo.co.jp/entry/2020121530052952/) by [小倉 陸](https://github.com/ogugu9) at [Yahoo! JAPAN Tech Blog](https://techblog.yahoo.co.jp/) - 2021-01-08 - [Hello, New API – Part 1](https://www.nginx.com/blog/hello-new-api-part-1/) by [Jeremy Schulman](https://www.nginx.com/people/jeremy-schulman/) at [Major League Baseball](https://www.mlb.com) - 2021-01-18 - [「アプリ開発あるある」を疑うことから始まった、API Clientコードの自動生成【デブスト2020】](https://codezine.jp/article/detail/13406?p=2) by [CodeZine編集部](https://codezine.jp/author/1) +- 2021-02-05 - [REST-API-Roundtrip with SpringDoc and OpenAPI Generator](https://blog.viadee.de/en/rest-api-roundtrip) by [Benjamin Klatt](https://twitter.com/benklatt) at [viadee](https://www.viadee.de/en/) +- 2021-02-17 - [REST-API-Roundtrip with SpringDoc and OpenAPI Generator](https://medium.com/nerd-for-tech/rest-api-roundtrip-with-springdoc-and-openapi-generator-30bd27ccf698) by [cloud @viadee](https://cloud-viadee.medium.com/) ## [6 - About Us](#table-of-contents) @@ -834,6 +837,7 @@ Here is a list of template creators: * C# (.NET 2.0): @who * C# (.NET Standard 1.3 ): @Gronsak * C# (.NET 4.5 refactored): @jimschubert [:heart:](https://www.patreon.com/jimschubert) + * C# (HttpClient): @Blackclaws * Clojure: @xhh * Crystal: @wing328 * Dart: @yissachar diff --git a/appveyor.yml b/appveyor.yml index b12d075eb4..549974b249 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -35,12 +35,16 @@ install: - ps: Install-Module Pester -Force -Scope CurrentUser build_script: - dotnet --info + # build C# aspnetcore 5.0 server + - dotnet build samples\server\petstore\aspnetcore-5.0\Org.OpenAPITools.sln # build C# aspnetcore 3.1 server - dotnet build samples\server\petstore\aspnetcore-3.1\Org.OpenAPITools.sln # build C# aspnetcore 3.0 server - dotnet build samples\server\petstore\aspnetcore-3.0\Org.OpenAPITools.sln # build C# aspnetcore 2.2 server - dotnet build samples\server\petstore\aspnetcore\Org.OpenAPITools.sln + # build C# API client (httpclient) + - dotnet build samples\client\petstore\csharp-netcore\OpenAPIClient-httpclient\Org.OpenAPITools.sln # build C# API client (netcore) - dotnet build samples\client\petstore\csharp-netcore\OpenAPIClient\Org.OpenAPITools.sln - dotnet build samples\client\petstore\csharp-netcore\OpenAPIClientCore\Org.OpenAPITools.sln @@ -62,6 +66,8 @@ build_script: # run the locally installed openapi-generator-gradle-plugin - gradle -b modules\openapi-generator-gradle-plugin\samples\local-spec\build.gradle buildGoSdk --stacktrace test_script: + # test c# API client (httpclient) + - dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient-httpclient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj # test c# API client (netcore) - dotnet test samples\client\petstore\csharp-netcore\OpenAPIClientCore\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj - dotnet test samples\client\petstore\csharp-netcore\OpenAPIClient\src\Org.OpenAPITools.Test\Org.OpenAPITools.Test.csproj diff --git a/bin/configs/aspnetcore-5.0.yaml b/bin/configs/aspnetcore-5.0.yaml new file mode 100644 index 0000000000..b4dc00c569 --- /dev/null +++ b/bin/configs/aspnetcore-5.0.yaml @@ -0,0 +1,7 @@ +generatorName: aspnetcore +outputDir: samples/server/petstore/aspnetcore-5.0 +inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml +templateDir: modules/openapi-generator/src/main/resources/aspnetcore/3.0 +additionalProperties: + packageGuid: '{3C799344-F285-4669-8FD5-7ED9B795D5C5}' + aspnetCoreVersion: "5.0" diff --git a/bin/configs/csharp-netcore-OpenAPIClient-httpclient.yaml b/bin/configs/csharp-netcore-OpenAPIClient-httpclient.yaml new file mode 100644 index 0000000000..21fba7e257 --- /dev/null +++ b/bin/configs/csharp-netcore-OpenAPIClient-httpclient.yaml @@ -0,0 +1,12 @@ +# for .net standard httpclient +generatorName: csharp-netcore +outputDir: samples/client/petstore/csharp-netcore/OpenAPIClient-httpclient +inputSpec: modules/openapi-generator/src/test/resources/3_0/java/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml +templateDir: modules/openapi-generator/src/main/resources/csharp-netcore +library: httpclient +additionalProperties: + packageGuid: '{321C8C3F-0156-40C1-AE42-D59761FB9B6C}' + useCompareNetObjects: true + disallowAdditionalPropertiesIfNotPresent: false + useOneOfDiscriminatorLookup: true + targetFramework: netstandard2.1 diff --git a/bin/configs/dart-petstore-json-serializable-client-lib-fake.yaml b/bin/configs/dart-petstore-json-serializable-client-lib-fake.yaml new file mode 100644 index 0000000000..cb943d3d95 --- /dev/null +++ b/bin/configs/dart-petstore-json-serializable-client-lib-fake.yaml @@ -0,0 +1,7 @@ +generatorName: dart +outputDir: samples/openapi3/client/petstore/dart2/petstore_json_serializable_client_lib_fake +inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml +templateDir: modules/openapi-generator/src/main/resources/dart2 +additionalProperties: + hideGenerationTimestamp: "true" + serializationLibrary: json_serializable diff --git a/bin/utils/detect_tab_in_templates.sh b/bin/utils/detect_tab_in_templates.sh new file mode 100755 index 0000000000..e3ac60b104 --- /dev/null +++ b/bin/utils/detect_tab_in_templates.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# +# Look for \t in the template folders and report errors if found +# as these tabs should be replaced with 4-space instead + +## declare an array of folders +declare -a samples=("modules/openapi-generator/src/main/resources/kotlin-server" + "modules/openapi-generator/src/main/resources/kotlin-spring" + "modules/openapi-generator/src/main/resources/dart-dio" + "modules/openapi-generator/src/main/resources/dart" + "modules/openapi-generator/src/main/resources/dart2" + "modules/openapi-generator/src/main/resources/aspnetcore" + "modules/openapi-generator/src/main/resources/powershell" + ) + +## now loop through the above array +for i in "${samples[@]}" +do + # grep for \t in the folder + RESULT=`grep -R -P "\t" $i` + echo -e "$RESULT" + + if [ "$RESULT" != "" ]; then + echo "Template files contain tab '\\t'. Please remove it or replace it with 4-space." + exit 1; + fi +done + diff --git a/docs/generators/aspnetcore.md b/docs/generators/aspnetcore.md index da3a237c6f..10efd15307 100644 --- a/docs/generators/aspnetcore.md +++ b/docs/generators/aspnetcore.md @@ -7,7 +7,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Option | Description | Values | Default | | ------ | ----------- | ------ | ------- | -|aspnetCoreVersion|ASP.NET Core version: 3.1, 3.0, 2.2, 2.1, 2.0 (deprecated)| |3.1| +|aspnetCoreVersion|ASP.NET Core version: 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 (deprecated)| |3.1| |buildTarget|Target to build an application or library| |program| |classModifier|Class Modifier for controller classes: Empty string or abstract.| || |compatibilityVersion|ASP.Net Core CompatibilityVersion| |Version_2_2| diff --git a/docs/generators/csharp-netcore.md b/docs/generators/csharp-netcore.md index 60a347dfea..bdcc218dbb 100644 --- a/docs/generators/csharp-netcore.md +++ b/docs/generators/csharp-netcore.md @@ -12,6 +12,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |disallowAdditionalPropertiesIfNotPresent|If false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.|
**false**
The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.
**true**
Keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.
|true| |hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true| |interfacePrefix|Prefix interfaces with a community standard or widely accepted prefix.| |I| +|library|HTTP library template (sub-template) to use|
**httpclient**
HttpClient (https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient) (Beta support)
**restsharp**
RestSharp (https://github.com/restsharp/RestSharp)
|restsharp| |licenseId|The identifier of the license| |null| |modelPropertyNaming|Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name| |PascalCase| |netCoreProjectFile|Use the new format (.NET Core) for .NET project files (.csproj).| |false| diff --git a/docs/generators/dart-dio.md b/docs/generators/dart-dio.md index ffff1394c4..ebbc40b543 100644 --- a/docs/generators/dart-dio.md +++ b/docs/generators/dart-dio.md @@ -12,7 +12,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |disallowAdditionalPropertiesIfNotPresent|If false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.|
**false**
The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.
**true**
Keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.
|true| |ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true| |legacyDiscriminatorBehavior|Set to true for generators with better support for discriminators. (Python, Java, Go, PowerShell, C#have this enabled by default).|
**true**
The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.
**false**
The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.
|true| -|nullableFields|Is the null fields should be in the JSON payload| |null| +|nullableFields|Make all fields nullable in the JSON payload| |null| |prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false| |pubAuthor|Author name in generated pubspec| |null| |pubAuthorEmail|Email address of the author in generated pubspec| |null| diff --git a/docs/generators/dart.md b/docs/generators/dart.md index e7dae224ef..115126907e 100644 --- a/docs/generators/dart.md +++ b/docs/generators/dart.md @@ -19,6 +19,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |pubLibrary|Library name in generated code| |null| |pubName|Name in generated pubspec| |null| |pubVersion|Version in generated pubspec| |null| +|serializationLibrary|Specify serialization library|
**native_serialization**
Use native serializer, backwards compatible
**json_serializable**
Use json_serializable
|native_serialization| |sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true| |sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true| |sourceFolder|Source folder for generated code| |null| diff --git a/docs/generators/go-gin-server.md b/docs/generators/go-gin-server.md index 85e24728f1..0c1d324191 100644 --- a/docs/generators/go-gin-server.md +++ b/docs/generators/go-gin-server.md @@ -8,6 +8,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Option | Description | Values | Default | | ------ | ----------- | ------ | ------- | |apiPath|Name of the folder that contains the Go source code| |go| +|enumClassPrefix|Prefix enum with class name| |false| |hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true| |packageName|Go package name (convention: lowercase).| |openapi| |packageVersion|Go package version.| |1.0.0| diff --git a/docs/generators/java.md b/docs/generators/java.md index 38c3f19f56..dd82de49bc 100644 --- a/docs/generators/java.md +++ b/docs/generators/java.md @@ -52,7 +52,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl |scmDeveloperConnection|SCM developer connection in generated pom.xml| |scm:git:git@github.com:openapitools/openapi-generator.git| |scmUrl|SCM URL in generated pom.xml| |https://github.com/openapitools/openapi-generator| |serializableModel|boolean - toggle "implements Serializable" for generated models| |false| -|serializationLibrary|Serialization library, default depends from the library|
**jackson**
Use Jackson as serialization library
**gson**
Use Gson as serialization library
|null| +|serializationLibrary|Serialization library, default depends from the library|
**jsonb**
Use JSON-B as serialization library
**jackson**
Use Jackson as serialization library
**gson**
Use Gson as serialization library
|null| |snapshotVersion|Uses a SNAPSHOT version.|
**true**
Use a SnapShot Version
**false**
Use a Release Version
|null| |sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |true| |sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true| diff --git a/docs/generators/php-laravel.md b/docs/generators/php-laravel.md index 10a7bde7f5..231b20da3c 100644 --- a/docs/generators/php-laravel.md +++ b/docs/generators/php-laravel.md @@ -33,7 +33,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Type/Alias | Instantiated By | | ---------- | --------------- | |array|array| -|map|map| +|map|array| ## LANGUAGE PRIMITIVES diff --git a/docs/generators/php-lumen.md b/docs/generators/php-lumen.md index 8e7e77dc74..36210f7967 100644 --- a/docs/generators/php-lumen.md +++ b/docs/generators/php-lumen.md @@ -33,7 +33,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Type/Alias | Instantiated By | | ---------- | --------------- | |array|array| -|map|map| +|map|array| ## LANGUAGE PRIMITIVES diff --git a/docs/generators/php-mezzio-ph.md b/docs/generators/php-mezzio-ph.md index 3a599e531a..c434a21a0d 100644 --- a/docs/generators/php-mezzio-ph.md +++ b/docs/generators/php-mezzio-ph.md @@ -33,7 +33,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Type/Alias | Instantiated By | | ---------- | --------------- | |array|array| -|map|map| +|map|array| ## LANGUAGE PRIMITIVES diff --git a/docs/generators/php-slim-deprecated.md b/docs/generators/php-slim-deprecated.md index 6f8786ab00..a442c01e42 100644 --- a/docs/generators/php-slim-deprecated.md +++ b/docs/generators/php-slim-deprecated.md @@ -33,7 +33,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Type/Alias | Instantiated By | | ---------- | --------------- | |array|array| -|map|map| +|map|array| ## LANGUAGE PRIMITIVES diff --git a/docs/generators/php-slim4.md b/docs/generators/php-slim4.md index 67a77f5f6b..52146c07da 100644 --- a/docs/generators/php-slim4.md +++ b/docs/generators/php-slim4.md @@ -34,7 +34,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Type/Alias | Instantiated By | | ---------- | --------------- | |array|array| -|map|map| +|map|array| ## LANGUAGE PRIMITIVES diff --git a/docs/generators/php-symfony.md b/docs/generators/php-symfony.md index 9c37619391..5bdff1fef8 100644 --- a/docs/generators/php-symfony.md +++ b/docs/generators/php-symfony.md @@ -39,7 +39,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Type/Alias | Instantiated By | | ---------- | --------------- | |array|array| -|map|map| +|map|array| ## LANGUAGE PRIMITIVES diff --git a/docs/generators/php.md b/docs/generators/php.md index cb4d09c3fc..177fb0daba 100644 --- a/docs/generators/php.md +++ b/docs/generators/php.md @@ -34,7 +34,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | Type/Alias | Instantiated By | | ---------- | --------------- | |array|array| -|map|map| +|map|array| ## LANGUAGE PRIMITIVES diff --git a/docs/generators/python-aiohttp.md b/docs/generators/python-aiohttp.md index ded84c5524..7fbe2222c6 100644 --- a/docs/generators/python-aiohttp.md +++ b/docs/generators/python-aiohttp.md @@ -42,13 +42,14 @@ These options may be applied as additional-properties (cli) or configOptions (pl
  • Dict
  • List
  • bool
  • -
  • byte
  • -
  • bytearray
  • +
  • bytes
  • date
  • datetime
  • +
  • dict
  • file
  • float
  • int
  • +
  • list
  • object
  • str
  • @@ -56,9 +57,14 @@ These options may be applied as additional-properties (cli) or configOptions (pl ## RESERVED WORDS @@ -56,9 +57,14 @@ These options may be applied as additional-properties (cli) or configOptions (pl ## RESERVED WORDS @@ -56,9 +57,14 @@ These options may be applied as additional-properties (cli) or configOptions (pl ## RESERVED WORDS