1.6.0 • Published 3 years ago

generate-client v1.6.0

Weekly downloads
3
License
ISC
Repository
-
Last release
3 years ago

TypeScript API Client

This is the open api generator for the TypeScript API client.

This Swagger file which generates the Api client is also in \src\Fusion.Ops.Api.Client.

See the README file in that folder. These 2 versions of the Swagger files should be kept in step with each other.

Note: The open API generator needs Java installed to work. You can download it from https://www.java.com/en/download/

Steps to generate the package for the very first time ( per machine )

  1. Get the latest Swager generated by the backend in json format and paste it into ./swagger.json.

Note: There is currently a problem with OpenApi generator where the format for the default parameters is not properly recognised as uuid. After saving the new swagger.json file search for "format": "uuid" and delete the line only in the X-HealthCheckDetail parameter.

Using Bash, from folder /d/ct.git/secure-document-vault/FusionOps-API/tools/generate-client/

  1. Run yarn install to ensure the latest versions are installed.

  2. Run yarn create-package:typescript to generate a new TypeScript API client. This creates a TypeScript compatible client inside ./api-client/typescript from the swagger.json file.

  3. Verify that the build is compatible in the frontend by installing it locally directly from the compiled version.

yarn add /d/ct.git/secure-document-vault/FusionOps-API/tools/generate-client/api-client/typescript

Note: The create-package:typescript script assume it has been run in the past and therefore they may fail when trying to delete a file that does not exist. Check ./package.json to see the steps and execute them individually if necessary.

Steps to publish the package

Only perform these steps after the package has been succesfully generated with yarn create-package:typescript and tested locally.

Publishing

Note: To publish the package, you need to be connected to the VPN as it will be published to ProGet. If you do not have it setup please follow the steps in https://benchmarkcapital.atlassian.net/wiki/spaces/ET/pages/1083244742/Publishing+NPM+package+to+Proget

To make it easier to publish and verify there are not problems with the versions installed locally there is a script. Once the creation has been succesfully, run the script yarn publish-api-client. This will publish a patch version on ProGet.

yarn publish-api-client:minor and yarn publish-api-client:major are also available to publish the package changing the minor and major versions, respectively.