@apacta/sdk
TypeScript icon, indicating that this package has built-in type declarations

0.10.233 • Public • Published

Apacta SDK in TypeScript

Built from OpenAPI schema

Using @apacta/sdk

On your client project.

  • npm install --save @apacta/sdk
  • Ensure you're pinning the exact version like 0.7.5 and not ^0.7.5 as we break stuff in patches/minors

Making changes to the SDK

Start by running npm install from this directory.

Create a branch for your changes

Always base your branch off of master and merge it back into master. Something like chore/sdk-0.21.10 could be a good branch name.

It might be tempting to make schema changes on feature branches, but it can cause synchronisation issues for other developers as soon as the feature branch is merged.

Changing the schema

The schema lives in packages/openapi/apacta-simple.yaml. Make the necessary changes and run the following.

  • npm run build

Run git diff to see what has changed.

Publish to NPM

If you're happy with the changes, you can now publish them to NPM. To be able to do that you need a login to NPM and access to the apacta organisation.

  • npm login
  • npm version patch (or use minor or major)
  • npm publish

Verify that the change didn't break anything

Change @apacta/sdk version to your new version in packages/control-panel/package.json and run npm install there.

Then run npm run verify. It will tell if there are any type errors.

When those are fixed, submit those changes with your SDK changes for code-review.

Maintainance

  • Check schema file for recommendations:
    • npx openapi-generator-cli validate --recommend -i ../openapi/apacta-simple.yaml
  • Check for new version of the java utility used behind the scene (and optionally update it using the TUI)
    • npx openapi-generator-cli version-manager list

Building schema without NodeJS/npm

  • Call this from the root of the monorepo:
    docker run -it -v $(pwd):/local -w /local/packages/apacta-sdk openapitools/openapi-generator-cli generate \
        -i /local/packages/openapi/apacta-simple.yaml \
        -g typescript-fetch \
        -o src/generated \
        --additional-properties supportsES6=true,typescriptThreePlus=true,withInterfaces=true
    
  • The files should now be updated in your repo

Readme

Keywords

none

Package Sidebar

Install

npm i @apacta/sdk

Weekly Downloads

16

Version

0.10.233

License

MIT

Unpacked Size

8.04 MB

Total Files

333

Last publish

Collaborators

  • kyuchukovv
  • spriz
  • apacta-lah
  • apacta-dev
  • andrioid