A NodeJS server built with the KOA2 framework using TypeScript.
Technologies Used:
- KOA2
- TypeScript
- Travis CLI
- Coveralls
- Jasmine
- Chai
- Istanbul/NYC
- Lodash
- Nodemon
- Docker
- Swagger
- Bunyahn
- Koa Bunyan Logger
- Node.js (8+): recommend using nvm
- Docker (if building a docker image) https://www.docker.com/docker-mac
First, clone this repo and cd into the main directory. Then:
npm installDuring development, the /app folder is being watched for changes.
All changes invoke the TypeScript compiler, which restarts the app upon completion.
npm run watchTo compile the TypeScript code and place into the /dist folder:
npm buildA TypeScript linter has been added to keep code consistent among developers.
npm run lintTo autofix linting errors (not all errors are auto-fixable):
npm run fixThe test coverage percentage should be 90% or greater for any submitted PRs.
For TDD, invoke testing by:
npm testFor an html and text coverage report (html located in the /coverage folder):
npm run coverageTo build a container using the dockerfile:
npm run image:build -- --no-cacheFor a swagger version of this documention, see http://localhost:3000/swagger (requires this server to be running).