Nascent Plasticine Materialist

    pwny

    0.4.0 • Public • Published

    pwny

    Build Status

    Pwny (pronounced pony) helps makes your Express apps modular and maintainable.

    Installation

    $ npm install pwny

    Using pwny

    Rather than this moderate mess:

    var bodyParser = require('body-parser'),
        express    = require('express'),
        morgan     = require('morgan');
     
    var app        = express();
     
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));
     
    morgan.token('type', function(req, res){ req.headers['content-type']; });
     
    app.use(morgan('dev'));
     
    app.listen(process.env.PORT || 1337);

    You can clean things up using Pwny:

    app.js

    var express = require('express'),
        pwny    = require('pwny');
     
    var app     = express();
     
    pwny(app, {});
     
    app.listen(process.env.PORT || 1337);

    config/initializers/bodyParser.js

    var bodyParser = require('body-parser');
     
    module.exports = function(app, config) {
      app.use(bodyParser.json());
      app.use(bodyParser.urlencoded({ extended: false }));
    };

    config/initializers/morgan.js

    var morgan = require('morgan')
     
    module.exports = function(app, config) {
      morgan.token('type', function(req, res){ req.headers['content-type']; });
     
      app.use(morgan('dev'));
    };

    As you can see, Pwny allows you to keep your Express modules sparkly clean and logically separated.

    Configuration

    You can tell Pwny where to look by passing a path to the configPath option.

    pwny(app, { configPath: 'config/middleware' });

    Sometimes order matters. To specify an order in which your config files load you can pass in an order array.

    pwny(app, { order: ['morgan', 'bodyParser'] });

    Note that by specifying an order Pwny will only load specified files.

    pwny(app, { order: ['morgan'] }); // will not load bodyParser

    .pwnyrc

    You can also configure Pwny by adding a JSON .pwnyrc file to your app's root directory.

    {
      "configPath": "config/middleware",
      "order": ["morgan", "bodyParser"]
    }

    Keywords

    none

    Install

    npm i pwny

    DownloadsWeekly Downloads

    19

    Version

    0.4.0

    License

    MIT

    Unpacked Size

    6.6 kB

    Total Files

    13

    Last publish

    Collaborators

    • anthonator