Uses Domain-Driven Design, Node.js, Typescript, Socket.io, Joi, Ava(for tests).
API docs are located here
To build the source and the tests run
yarn run build
This creates two versions of the build. One using CommonJS and another one using ES6 modules in the build/main
and build/module
directories respectively.
To run the CommonJS build run the yarn run start:main
command.
To run all the unit tests first build them and then run
yarn run ava
There is also a yarn run test:unit
command which also generates coverage data but is not recommended for local development as it breaks the source maps.
To automatically build on file edits run
yarn run watch
This will listen to changes on both the source and test files. There are also commands to do this separately: yarn run watch:build
and yarn run watch:test
We use ESLint, Prettier and CSpell for linting.
To lint all the source and test files run
yarn run test:lint
There is also a command to auto-fix errors: yarn run fix