christianhelle / apiclientcodegen

A collection of Visual Studio custom tool code generators for Swagger / OpenAPI specification files
http://bit.ly/restapicodegen
GNU General Public License v3.0
165 stars 20 forks source link

Refitter v1.1.1 #949

Closed renovate[bot] closed 3 weeks ago

renovate[bot] commented 3 weeks ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
Refitter.Core 1.0.2 -> 1.1.1 age adoption passing confidence

Release Notes

christianhelle/refitter (Refitter.Core) ### [`v1.1.1`](https://togithub.com/christianhelle/refitter/releases/tag/1.1.1) [Compare Source](https://togithub.com/christianhelle/refitter/compare/1.0.2...1.1.1) #### What's New - Add support for Microsoft HTTP Resilience library - Add support for generating immutable records #### Installation This is packaged as a .NET Tool and is published to nuget.org. You can install this specific version of this tool like this: ```bash dotnet tool install --global Refitter --version 1.1.1 ``` #### Features - Generate single file containing [Refit ](https://togithub.com/reactiveui/refit) interface and contract types from an OpenAPI spec file - Supports OpenAPI **v2** and **v3** - Supports OpenAPI specifications in **JSON** and **YAML** formats - Supports OpenAPI specification validation and error/warning/stats reporting - Supports generating route, query, header, and body request parameters - Generate code at build time using rosyln C# source generator [Refitter.SourceGenerator](https://www.nuget.org/packages/Refitter.SourceGenerator/0.7.3) - `--no-auto-generated-header` CLI tool argument to skip prefixing output file with header - `--interface-only` CLI tool argument to skip contract type generation - `--use-api-response` CLI Tool argument to return [`IApiResponse`](https://togithub.com/reactiveui/refit/blob/main/Refit/ApiResponse.cs#L111) instead of `Task` - `--internal` CLI tool argument to generate types with the `internal` accessibility modifier - `--cancellation-tokens` CLI tool argument to generate the Refit interface with CancellationTokens - `--no-operation-headers` CLI tool argument to skip generating `[Header]` parameters - `--no-logging` CLI tool argument to disable error logging and feature usage tracking - `--use-iso-date-format` CLI tool argument to explicitly format date query string parameters in ISO standard date format using delimiters (2023-06-15) - `--multiple-interfaces` CLI tool argument to generate a Refit interface for each endpoint. This may be either `ByEndpoint` or `ByTag` - `--settings-file` CLI tool argument to use a .refitter format file and override all other arguments - `--skip-validation` CLI tool argument to ignore all validation errors and attempt to generate code anyway - `--match-path` CLI tool argument to only include Paths that match the provided regular expression. May be set multiple times - `--tag` CLI tool argument to only include Endpoints that contain this tag. May be set multiple times and result in OR'ed evaluation - `--optional-nullable-parameters` CLI tool argument to make non-required query parameters to optional parameters in Refit interface - `--operation-name-template` CLI tool argument to append a prefix or suffix to the `{operationName}` template. This can also be used to customize the Execute() method name in the interfaces generated when `--multiple-interfaces ByEndpoint` is set - `--trim-unused-schema` CLI tool argument to remove unreferenced components schema to keep the generated output to a minimum - `--keep-schema` CLI tool argument to specify a collection of regular expressions to force to keep matching schema. This is used together with `--trim-unused-schema` - `--skip-default-additional-properties` CLI tool argument to skip default additional properties - `--operation-name-generator` CLI tool argument to NSwag IOperationNameGenerator implementation to use. - `--use-observable-response` CLI tool argument to return [`IObservable`](https://learn.microsoft.com/en-us/dotnet/api/system.iobservable-1) #### Contributions - Add `matchPath` option in example .refitter file in README by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/146](https://togithub.com/christianhelle/refitter/pull/146) - Skip default values when collecting feature usages for Analytics by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/145](https://togithub.com/christianhelle/refitter/pull/145) - Fix documentation regarding `--settings-file` usage by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/152](https://togithub.com/christianhelle/refitter/pull/152) - Disable support keys if `--no-logging` is specified by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/153](https://togithub.com/christianhelle/refitter/pull/153) - Mark deprecated operations by [@​angelofb](https://togithub.com/angelofb) in [https://github.com/christianhelle/refitter/pull/154](https://togithub.com/christianhelle/refitter/pull/154) - Update docs with details about --no-deprecated-operations by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/155](https://togithub.com/christianhelle/refitter/pull/155) - Speed up local smoke tests by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/156](https://togithub.com/christianhelle/refitter/pull/156) - Generate Refit interfaces as partial by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/162](https://togithub.com/christianhelle/refitter/pull/162) - Optional OpenAPI Path in CLI arguments by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/160](https://togithub.com/christianhelle/refitter/pull/160) - Introduce `--operation-name-template` command line argument by [@​angelofb](https://togithub.com/angelofb) in [https://github.com/christianhelle/refitter/pull/164](https://togithub.com/christianhelle/refitter/pull/164) - Add support for optional parameters via the `--optional-nullable-parameters` CLI argument by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/163](https://togithub.com/christianhelle/refitter/pull/163) - Update .refitter file format documentation by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/169](https://togithub.com/christianhelle/refitter/pull/169) - Allow for custom relative output path in .refitter by [@​Noblix](https://togithub.com/Noblix) in [https://github.com/christianhelle/refitter/pull/172](https://togithub.com/christianhelle/refitter/pull/172) - Add support for generating IServiceCollection extension methods for registering Refit clients by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/174](https://togithub.com/christianhelle/refitter/pull/174) - Allow method name customization when generating multiple interfaces by endpoint by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/181](https://togithub.com/christianhelle/refitter/pull/181) - Use Internal types to improve docfx documentation generation by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/183](https://togithub.com/christianhelle/refitter/pull/183) - Add support for customizable type and contract generator settings by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/188](https://togithub.com/christianhelle/refitter/pull/188) - Remove `namespace` settings from `codeGeneratorSettings` by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/197](https://togithub.com/christianhelle/refitter/pull/197) - Output filename customization by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/200](https://togithub.com/christianhelle/refitter/pull/200) - Fix extra close parenthesis in IServiceCollectionExtensions by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/207](https://togithub.com/christianhelle/refitter/pull/207) - Remove unreferenced schema, add `--trim-unused-schema` & `--keep-schema` by [@​kirides](https://togithub.com/kirides) in [https://github.com/christianhelle/refitter/pull/199](https://togithub.com/christianhelle/refitter/pull/199) - Update docs on trimming unused schemas by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/213](https://togithub.com/christianhelle/refitter/pull/213) - Add `Action?` parameter in `ConfigureRefitClients()` by [@​Noblix](https://togithub.com/Noblix) in [https://github.com/christianhelle/refitter/pull/215](https://togithub.com/christianhelle/refitter/pull/215) - Added InterfaceName to avoid counting in operation names by [@​edimarquez](https://togithub.com/edimarquez) in [https://github.com/christianhelle/refitter/pull/223](https://togithub.com/christianhelle/refitter/pull/223) - Handle paths that contain colons by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/227](https://togithub.com/christianhelle/refitter/pull/227) - Ensure `Task` is Returned for Void Methods in Generator by [@​mortenlaursen](https://togithub.com/mortenlaursen) in [https://github.com/christianhelle/refitter/pull/238](https://togithub.com/christianhelle/refitter/pull/238) - Fix source generator error - System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces' by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/247](https://togithub.com/christianhelle/refitter/pull/247) - Upgrade to .NET 8.0 by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/250](https://togithub.com/christianhelle/refitter/pull/250) - Add donation banner for Github Sponsors and buymeacoffee.com by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/252](https://togithub.com/christianhelle/refitter/pull/252) - Show error reporting suggestion banner upon error by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/254](https://togithub.com/christianhelle/refitter/pull/254) - Add support for OAS files with external references by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/260](https://togithub.com/christianhelle/refitter/pull/260) - Fix issue where codeGeneratorSettings arrayType setting is not respected in Refit interface by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/257](https://togithub.com/christianhelle/refitter/pull/257) - Use OasReader library for loading OAS documents with external references by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/267](https://togithub.com/christianhelle/refitter/pull/267) - Implement CustomCSharpPropertyNameGenerator by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/271](https://togithub.com/christianhelle/refitter/pull/271) - Configurable IOperationNameGenerator implementations by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/272](https://togithub.com/christianhelle/refitter/pull/272) - Update --operation-name-generator options documentation by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/273](https://togithub.com/christianhelle/refitter/pull/273) - Add new options to .refitter file format docs by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/274](https://togithub.com/christianhelle/refitter/pull/274) - Serialize OperationNameGenerator enum as string by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/278](https://togithub.com/christianhelle/refitter/pull/278) - Fix type accessibility deserialization. by [@​DJ4ddi](https://togithub.com/DJ4ddi) in [https://github.com/christianhelle/refitter/pull/279](https://togithub.com/christianhelle/refitter/pull/279) - Provide more extensive method documentation. by [@​DJ4ddi](https://togithub.com/DJ4ddi) in [https://github.com/christianhelle/refitter/pull/281](https://togithub.com/christianhelle/refitter/pull/281) - Fixed operation name generation names when it has illegal symbols by [@​yadanilov19](https://togithub.com/yadanilov19) in [https://github.com/christianhelle/refitter/pull/283](https://togithub.com/christianhelle/refitter/pull/283) - Add return type override setting. by [@​DJ4ddi](https://togithub.com/DJ4ddi) in [https://github.com/christianhelle/refitter/pull/286](https://togithub.com/christianhelle/refitter/pull/286) - Align file format and output examples in docs by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/285](https://togithub.com/christianhelle/refitter/pull/285) - Add support for multiple target frameworks by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/292](https://togithub.com/christianhelle/refitter/pull/292) - fix: AliasAs attribute generation for StreamPart type by [@​direncancatalkaya](https://togithub.com/direncancatalkaya) in [https://github.com/christianhelle/refitter/pull/295](https://togithub.com/christianhelle/refitter/pull/295) - Added Optional Setting to name the IServiceCollection Extension Method by [@​robpalm](https://togithub.com/robpalm) in [https://github.com/christianhelle/refitter/pull/298](https://togithub.com/christianhelle/refitter/pull/298) - Fix response type always nullable under `generateNullableReferenceTypes` by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/304](https://togithub.com/christianhelle/refitter/pull/304) - JSON schema by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/314](https://togithub.com/christianhelle/refitter/pull/314) - Generating IObservable type response by [@​janfolbrecht](https://togithub.com/janfolbrecht) in [https://github.com/christianhelle/refitter/pull/322](https://togithub.com/christianhelle/refitter/pull/322) - IObservable improvements by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/326](https://togithub.com/christianhelle/refitter/pull/326) - Change license to MIT by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/327](https://togithub.com/christianhelle/refitter/pull/327) - Suggest using --skip-validation CLI tool argument validation error by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/329](https://togithub.com/christianhelle/refitter/pull/329) - Tweak xml docs by [@​osc-nseguin](https://togithub.com/osc-nseguin) in [https://github.com/christianhelle/refitter/pull/332](https://togithub.com/christianhelle/refitter/pull/332) - Fix code generator settings that are not of type string/bool by [@​david-brink-talogy](https://togithub.com/david-brink-talogy) in [https://github.com/christianhelle/refitter/pull/335](https://togithub.com/christianhelle/refitter/pull/335) - Fix Collection-Type item schema was not kept by [@​kirides](https://togithub.com/kirides) in [https://github.com/christianhelle/refitter/pull/353](https://togithub.com/christianhelle/refitter/pull/353) - Add facility to exclude namespaces from generated output file(s) by [@​dammitjanet](https://togithub.com/dammitjanet) in [https://github.com/christianhelle/refitter/pull/365](https://togithub.com/christianhelle/refitter/pull/365) - Fix missing OpenAPI validation result output by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/374](https://togithub.com/christianhelle/refitter/pull/374) - Update Serializer to write indented JSON by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/384](https://togithub.com/christianhelle/refitter/pull/384) - Remove SonarAnalyzer.CSharp dependency by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/394](https://togithub.com/christianhelle/refitter/pull/394) - NSwag v14.0.8 by [@​renovate](https://togithub.com/renovate) in [https://github.com/christianhelle/refitter/pull/397](https://togithub.com/christianhelle/refitter/pull/397) - Add support for Microsoft HTTP Resilience library by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/400](https://togithub.com/christianhelle/refitter/pull/400) - Add support for generating immutable records by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/409](https://togithub.com/christianhelle/refitter/pull/409) - UsePolly deprecation warning banner by [@​christianhelle](https://togithub.com/christianhelle) in [https://github.com/christianhelle/refitter/pull/403](https://togithub.com/christianhelle/refitter/pull/403) - Resolved issues reported by [@​Ekkeir](https://togithub.com/Ekkeir) , [@​waylonmtz](https://togithub.com/waylonmtz) , [@​vinaymadupathi](https://togithub.com/vinaymadupathi), [@​EEParker](https://togithub.com/EEParker), [@​bielik01](https://togithub.com/bielik01), [@​safakkesikci](https://togithub.com/safakkesikci) , [@​folbrecht](https://togithub.com/folbrecht), [@​manuel-fernandez-rodriguez](https://togithub.com/manuel-fernandez-rodriguez), [@​kami-poi](https://togithub.com/kami-poi), [@​Xeevis](https://togithub.com/Xeevis), [@​jods4](https://togithub.com/jods4), [@​Jappinen](https://togithub.com/Jappinen), [@​JeremyBP](https://togithub.com/JeremyBP), [@​ebarnard](https://togithub.com/ebarnard) #### New Contributors - [@​DJ4ddi](https://togithub.com/DJ4ddi) made their first contribution in [https://github.com/christianhelle/refitter/pull/279](https://togithub.com/christianhelle/refitter/pull/279) - [@​yadanilov19](https://togithub.com/yadanilov19) made their first contribution in [https://github.com/christianhelle/refitter/pull/283](https://togithub.com/christianhelle/refitter/pull/283) - [@​direncancatalkaya](https://togithub.com/direncancatalkaya) made their first contribution in [https://github.com/christianhelle/refitter/pull/295](https://togithub.com/christianhelle/refitter/pull/295) - [@​robpalm](https://togithub.com/robpalm) made their first contribution in [https://github.com/christianhelle/refitter/pull/298](https://togithub.com/christianhelle/refitter/pull/298) - [@​TimothyMakkison](https://togithub.com/TimothyMakkison) made their first contribution in [https://github.com/christianhelle/refitter/pull/306](https://togithub.com/christianhelle/refitter/pull/306) - [@​janfolbrecht](https://togithub.com/janfolbrecht) made their first contribution in [https://github.com/christianhelle/refitter/pull/322](https://togithub.com/christianhelle/refitter/pull/322) - [@​osc-nseguin](https://togithub.com/osc-nseguin) made their first contribution in [https://github.com/christianhelle/refitter/pull/332](https://togithub.com/christianhelle/refitter/pull/332) - [@​david-brink-talogy](https://togithub.com/david-brink-talogy) made their first contribution in [https://github.com/christianhelle/refitter/pull/335](https://togithub.com/christianhelle/refitter/pull/335) - [@​dammitjanet](https://togithub.com/dammitjanet) made their first contribution in [https://github.com/christianhelle/refitter/pull/365](https://togithub.com/christianhelle/refitter/pull/365) **Full Changelog**: https://github.com/christianhelle/refitter/compare/1.0.1...1.1.1

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.

sonarcloud[bot] commented 3 weeks ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud

renovate[bot] commented 3 weeks ago

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.