Protocol-common is a shared library of commonly used functions in protocol web services such as Aries-Guardianship-Agency.
Protocol-common is distributed through npm packages. Please use this npm package for your work.
If you'd like to use a local version of protocol-common instead of the version available through npm packages, we've added some handy scripts to help you do so.
- In protocol-common, run the command
npm run build:pack
- This will compile your code into a dist/ directory and create a
.tgz
installable binary of protocol-common. - Note the path to the
.tgz
, this will be important for the next step!
- This will compile your code into a dist/ directory and create a
- In the project that will use protocol-common, run the command
npm install <path to .tgz>
. - Try it out!
Typically, you'll need to update this repo when you want to change code that's shared among multiple services.
- Create a branch.
- Make your code changes.
- (optional) Test your changes by using protocol-common locally with some other project that depends on it.
- Update the "version" in package.json using Major.Minor.Patch semantic versioning.
- Commit your change to the branch and create a new PR in Github.
- Once approved and merged, CircleCI will automatically push an npm package with the version number you specified.
- (optional) Update repos that consume protocol-common.
github info
npm package how-to
using experimental features in packages
To use the ConfigModule, data needs to be passed in. The data needs to be a specific format. This is an example of that format.
{
"default": {
"SERVICE_NAME": "authservice"
},
"local": {
"WALLET_SYNC_SERVICE_URL": "http://protocol-wallet-sync-service:3004",
"IDENTITY_SERVICE_URL": "http://protocol-identity-service:8080",
"IDENTITY_SERVICE_BACKEND": "ncratemplate",
"MAX_LOG_LENGTH": 5000,
"JAEGER_ENDPOINT": "http://jaeger:14268/api/traces",
"JWT_EXPIRE_SECONDS": 36000,
"TRACER": "",
"RESTFUL_CLIENT_DELAY": 250,
"RESTFUL_CLIENT_RETRY": 5
},
"dev": {},
"qa": {},
"sand": {},
"prod": {}
}
Looking to use the latest version of protocol-common, but currently using an older version? See this doc for migration instructions.