Awesome
KOA2 TypeScript Starter
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
Prerequisites
- Node.js (8+): recommend using nvm
- Docker (if building a docker image) https://www.docker.com/docker-mac
Installation
First, clone this repo and cd
into the main directory. Then:
npm install
Development
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
Build the Server
To compile the TypeScript code and place into the /dist
folder:
npm build
Code Linter
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
Tests and Coverage
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
Docker
To build a container using the dockerfile
:
npm run image:build -- --no-cache
API
For a swagger version of this documention, see http://localhost:3000/swagger (requires this server to be running).