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 install
During development, the /app
folder is being watched for changes.
All changes invoke the TypeScript compiler, which restarts the app upon completion.
npm run watch
To compile the TypeScript code and place into the /dist
folder:
npm build
A TypeScript linter has been added to keep code consistent among developers.
npm run lint
To autofix linting errors (not all errors are auto-fixable):
npm run fix
The test coverage percentage should be 90% or greater for any submitted PRs.
For TDD, invoke testing by:
npm test
For an html and text coverage report (html located in the /coverage
folder):
npm run coverage
To build a container using the dockerfile
:
npm run image:build -- --no-cache
For a swagger version of this documention, see http://localhost:3000/swagger (requires this server to be running).