Boilerplate for NodeJS HTTP RESTful API based on Koa.
Out of box support:
- Koa with koa-bodyparser and koa-router
- ESlint with Airbnb styleguide for linting
- Prettier for formatting code
- Lint-staged for run linting on staged files before commit
- Babel v7 with preset-env for transpiling your code
- Nodemon for autorestart app in development mode (but of course better way is TDD)
- Jest and supertest for testing
- Docker (Dockerfile, docker-compose)
- Coveralls reporing from CI
- Husky for run tests before commit
- Simple TravisCI config
- EditorConfig
- Twconf for managment app configuration
- JSON logging with Bunyan (in dev environment use human-readable output format)
- Semantic-release for automate publishing releases to npm (yes, it looks like an extra functionality for the http server, but you can easily remove it)
- Cross-env for sets and use environment variables across platforms