Koa with superpowers! Effortless clustering, CLI logging, response time & colors with Koa.
Installation
Install Koa Power with npm:
npm install --save koa-power
Usage & Examples
Minimal example - examples/minimal.js
const Power = ;const log = Power; const main = { app;}; Power;
Extended Example - examples/extended.js
const Power = ;const log = Power; let options = appName: 'Lorem Ipsum Dolor Sit Amet' appNameColor: 'rainbow' mid: // Koa middleware array - e.g. [ compress(), bodyParser() ] numWorkers: 3 enableLog: true; const main = { app; app;}; Power;
In production, usage of pm2 to run your Koa Power app is strongly recommended.
Options
Power options you can use in Power.load(main, options);
Option | Default Value | What it does |
---|---|---|
appName | 'Koa Power App' | Sets the app name |
appNameColor | 'italy' | Sets the app name color |
mid | [] | Array of koa middleware |
numWorkers | 2 | Number of workers |
locale | 'en' | moment locale |
enableLog | false | Enable logging to file |
logFileName | appDirectory + '/power.log' | Log filename |
afterFork | () => {} | Callback after fork or re-fork |
Full Reference
Require Koa Power this way:
const Power = require('koa-power');
Now, the exported elements are:
const {load, log, italy, space, name} = Power;
Let's see them in detail:
Element | What it does | Proto |
---|---|---|
load | Powers Koa | load(worker, options) |
log | Power logs to console | log(text) |
italy | Colors text as Italian flag | italy(text) / text.italy |
space | Spaces text in a row | space(text, width) |
name | Changes the worker name | name(text) |
Power options you can use in load(main, options);
Option | Default Value | What it does |
---|---|---|
appName | 'Koa Power App' | Sets the app name |
appNameColor | 'italy' | Sets the app name color |
mid | [] | Array of koa middleware |
numWorkers | 2 | Number of workers |
locale | 'en' | moment locale |
enableLog | false | Enable logging to file |
logFileName | appDirectory + '/power.log' | Log filename |
afterFork | () => {} | Callback after fork or re-fork |
Notice: this package uses Colors internally, which extends the String prototype.
Contributing
Feel free to open an Issue or send me a direct message.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Daniele Molinari - Sadkit
License
This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.