v2.0.0
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
, andsrc/Traits
folders, respectively. TheSupportingFilesGenerator
class (which can be overridden via theConfig
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
, andBaseConnectorGenerator
generators, and can also be overridden via theConfig
class's parameters. - Namespace suffixes are consolidated into a single
namespaceSuffixes
parameter instead of being separated, and helperConfig
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.