Skip to content

ondewo/ondewo-csi-client-js

Repository files navigation

npm version

ONDEWO CSI Client Javascript

Overview

@ondewo/csi-client-js is a compiled version of the ONDEWO CSI API using the ONDEWO PROTO COMPILER. Here you can find the CSI API documentation.

ONDEWO APIs use Protocol Buffers version 3 (proto3) as their Interface Definition Language (IDL) to define the API interface and the structure of the payload messages. The same interface definition is used for gRPC versions of the API in all languages.

Setup

Using NPM:

npm i --save @ondewo/ondewo-csi-client-js

Using GitHub:

git clone https://github.com/ondewo/ondewo-csi-client-js.git ## Clone repository
cd ondewo-csi-client-js                                      ## Change into repo-directoy
make setup_developer_environment_locally                     ## Install dependencies

Package structure

npm
├── api
│   ├── ondewo_csi_api.js
│   ├── ondewo_csi_api.min.js
│   └── ondewo_csi_api.min.js.map
├── LICENSE
├── package.json
└── README.md

Build

The make build command is dependent on 2 repositories and their speciefied version:

Other than creating the proto-code, build also installs the dev-dependencies and changes the owner of the proto-code-files from root to the current user.

✅ The js-compiler (version ~4.1.1) will prompt to download webpack -- write yes / y to finish the build

GitHub Repository - Release Automation

The repository is published to GitHub and NPM by the Automated Release Process of ONDEWO.

TODO after PR merge:

  • checkout master

    git checkout master
  • pull newest state

    git pull
  • Adjust ONDEWO_CSI_VERSION in the Makefile

  • Add new Release Notes to src/RELEASE.md in following format:

    ## Release ONDEWO CSI Js Client X.X.X    <----- Beginning of Notes
    
    ...<NOTES>...
    
    *****************                             <----- End of Notes
    
  • release

    make ondewo_release

    The release process can be divided into 6 Steps:
  1. build specified version of the ondewo-csi-api
  2. commit and push all changes in code resulting from the build
  3. Publish the created npm folder to npmjs.com
  4. Create and push the release branch e.g. release/1.3.20
  5. Create and push the release tag e.g. 1.3.20
  6. Create a new Release on GitHub

⚠️ The Release Automation checks if the build has created all the proto-code files, but it does not check the code-integrity. Please build and test the generated code prior to starting the release process.