3.0 KiB
Executable File
3.0 KiB
Executable File
BRAID v1.3.1
Websocket server for the Measure platform
Essential Information:
- braid uses mocha (test framework), chai (BDD/TDD assertion library), sinnon (spies, stubs, and mocks), nyc (code coverage calculator) for our unit testing. Get aquainted with these packages to have a smooth unit testing experience.
- for schema management/validation, braid uses joi.
- For web sockets braid uses ws
- braid uses typescript for our primary code development because of it's opinionated type management among other things. Get a good understanding of what typescript is, it's benifits, drawbacks, and dev flow
Setting up
- install npm
- install typescript globally (
npm i -g typescript
). This is important because it is needed to transpile, so you can run your changes locally (using commandtsc
) - run
npm install
- download the braid repo into a folder in the same directory as the primary yardstick folder
Building to Docker Hub (this has been retired, new methodolgy will be outlined soon)
- run
./build
- when complete you'll see something like this
Your new docker tag: yardstick/braid:tagid
- copy this tag id, and in the yardstick
docker-compose.yml
file change theimage
field to have the new tag, for example:
braid:
image: yardstick/braid:{add the new tag here}
environment:
VIRTUAL_HOST: ysbraid.localhost
HTTPS_METHOD: noredirect
- once complete and confirmed to function, create a new PR for the measure repo, with the new tag and await ultimate judgement
Local Development
vagrant up
in the primary yardstick folder- run the command
compose stop braid && compose rm braid && tsc && compose build braid && compose up -d
in the braid foldercompose stop
stops the default braid container thatvagrant up
buildscompose rm braid
removes the default braid containertsc
transpiles the typescript in braid into javascriptcompose build braid
builds the braid image based on the latest transpiled javascript filescomopose up -d
starts the braid container based on the files in the braid folder, overriding the default braid build container
- you can see if braid is running by typing in
https://ysbraid.localhost
- to connect to braid you need to use the url
ws://ysbraid.localhost
- to test your changes before pushing you can run
tsc && npm test
- to check code coverage run
nyc npm test
, we must maintain above 90% code coverage