Skip to content

v2.0.0

Compare
Choose a tag to compare
@jlevers jlevers released this 27 Apr 04:54
· 38 commits to master since this release

SDKs generated using this library will no longer be dependent on the library itself to run. This removes a lot of potential dependency issues, and gives the end user more customizability in the generation process, because the all parts of the generated library can be modified via the generator classes themselves. To that end:

  • Contracts, enums, and traits that are used in the generated library are copied into the generated library itself with the correct namespace, and placed in the src/Contracts, src/Enums, and src/Traits folders, respectively. The SupportingFilesGenerator class (which can be overridden via the Config parameters).
  • The base DTO/Request/Response/Connector classes are now generated, instead of being hardcoded into this library. They are created with the BaseDtoGenerator, BaseRequestGenerator, BaseResponseGenerator, and BaseConnectorGenerator generators, and can also be overridden via the Config class's parameters.
  • Namespace suffixes are consolidated into a single namespaceSuffixes parameter instead of being separated, and helper Config methods make it easier to retrieve the full namespace to a particular resource type.
  • The baseFilesNamespace makes it possible to put the base classes and supporting files into a separate namespace/folder from the SDK-specific classes, which is useful when generating SDKs that have multiple schema files that are generated into separate namespaces.

The dependencies have also been upgraded to be compatible with Laravel 11/Symfony 7.