Skip to content

mohuk/koa2-ts-init

Repository files navigation

koa2-ts-init

Typescript fork of koa2-kickstarter. Wondering why Typescript ? Read this post on StackOverflow

Setup

  # clone the repository
  λ git clone https://github.com/mohuk/koa2-ts-init
  # change the current directory
  λ cd koa2-ts-init
  # install all dependencies
  λ yarn
  # run the project
  λ npm run start

Structure

├── README.md           # you're here
├── bin                 # folder that bootstraps the application
├── src                 # contains source files
│   ├── conf            # wraps configurations files
│   ├── controller      # contains all controllers in the application
│   ├── custom-typings      # contains all controllers in the application
│   ├── middleware      # folder with all middlewares
│   ├── route           # wraps all the routes and exports a single composed middleware
│   └── service         # contains all the service logic
└── test                # unit tests

Suggestion: Every folder name is singular like route, middleware instead of routes, middlewares. If you want to add more folders as per your need, make sure they should be singular too (for e.g. util, helper etc) only for the sake of consistency.

Included

  • Koa Well, duh.
  • Koa Router For routing and all.
  • Debug Debug messages in the development environment.
  • Bunyan Extensive logging module.
  • Ava For unit tests.
  • Boom HTTP Errors.
  • Convict Configuration management.
  • Typescript Typed superset of Javascript. Supports ES6/ES7 features.
  • TSLint Linting purposes.
  • Nodemon Restart the server automatically (hot-reloading).

And many more small packages.

Scripts

  • npm start - simply starts the server
  • npm test - execute all unit tests
  • npm run lint - lints all the files in src/ folder
  • npm run lint:fix - fixes all the possible linting errors
  • npm run watch - starts the server with hot-reloading

Suggestion: To turn on debug messages, set DEBUG environment variable to kickstarter:*

Docker

Dockerfile for the project has been packaged. Running instructions are standard and can be found below:

Build

λ docker build -t koa .

Run

# you can set the DEBUG environment variable through -e DEBUG={value} 
λ docker run -dp 4000:4000 koa

About

NodeJS starter with Koa2 on Typescript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published