Meet npm Pro: unlimited public & private packages + package-based permissions.Learn more »

koa-power

1.2.0 • Public • Published

koa-power npm

Koa with superpowers! Effortless clustering, CLI logging, response time & colors with Koa.

Koa Power

Installation

Install Koa Power with npm:

npm install --save koa-power

Usage & Examples

Minimal example - examples/minimal.js

const Power = require('koa-power');
const {log} = Power;
 
const main = app => {
    app.listen(80, () => log(`App listening on port ${'80'.green}.`));
};
 
Power.load(main);

Extended Example - examples/extended.js

const Power = require('koa-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.use(ctx => {
        ctx.status = 200;
        ctx.body = 'Hello, world!';
    });
 
    app.listen(80, () => log(`App listening on port ${'80'.green}.`));
};
 
Power.load(main, options);

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

License

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

Install

npm i koa-power

DownloadsWeekly Downloads

5

Version

1.2.0

License

Apache-2.0

Unpacked Size

22.4 kB

Total Files

8

Last publish

Collaborators

  • avatar