oro-sdk
ORO SDK package is intended to be run in browser only. It contains everything needed to interact with backend services, especially the vault.
Requirements
- npm >=6.14.13
Powered by tsdx
Local development
If you cannot see Jest types try opening this folder in a seperate VSCode window.
Set up project
npm install
Then, it's possible to either build/watch component by using
npm start # watch
npm build # build
Linking and running the app with sdk
First you need to publish locally the oro-sdk
Two cases are possible:
-
You are updating
oro-apis/sdk/ts
:In
oro-apis/sdk/ts
:npm install npm run link:watch
-
You are updating
oro-apis/sdk/apis
:In
oro-apis/sdk/apis
:npm install npm run link:watch
In
oro-apis/sdk/ts
:npm install npm uninstall oro-sdk-apis # optional npm run link:watch:apis
Make sure that you are using the same version of node and npm in the SDK and in the service that you are trying to link.
Then you need to link it locally to the app
In oro-apps/web
:
npm uninstall oro-sdk # optional
npm run dev:link
Publishing package
- (Only first time) Locally run
npm login
and use the creds in 1password (tech-team-oro) . This will create ~/.npmrc . You will require a OTP but it's sent on tech@orohealth.me so you should all have it. - Run
docker-compose up --build sdk-publisher
Versioning of oro-sdk
and oro-sdk-apis
As oro-sdk-apis
is a dependency of oro-sdk
, if you do some changes on oro-sdk-apis
you will need to update oro-sdk
and web app as well.
The versionning should be the same for oro-sdk-apis
and oro-sdk
. In other words, as we are using semantic versioning if we update patch/minor/major version of oro-sdk-apis
we must update the same on oro-sdk
.
Example:
I want to update the minor version of
oro-sdk-apis
: 1.2.5 -> 1.3.0Then I also need to update
package.json
oforo-sdk
with the dependencyoro-sdk-apis@1.3.0
and I update the minor version oforo-sdk
: 2.3.2 -> 2.4.0
You then need to publish packages in following order: oro-sdk-apis
, oro-sdk
:
Then, you update web app dependencies with oro-sdk@2.4.0
Done.