Skip to content
This repository has been archived by the owner on Apr 20, 2019. It is now read-only.

outmoded/rejoice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rejoice

hapi.js CLI.

Build Status

Lead Maintainer - Lloyd Benson

Rejoice is a CLI tool for hapi which requires a js/json file with the config. It relies on the composer library called glue (http://github.com/hapijs/glue).

To start it up simply:

rejoice -c app.json

// or using regular JS file
// where app.js must export the config object
rejoice -c app.js

where app.json may look something like:

{
    server: {
        cache: 'redis',
        port: 8000
    },
    register: {
        plugins: [
            './awesome-plugin.js',
            {
                plugin: require('myplugin'),
                options: {
                    uglify: true
                }
            },
            {
                plugin: './ui-user'
            },
            {
                plugin: './ui-admin',
                options: {
                    sessiontime: 500
                },
                routes: {
                    prefix: '/admin'
                }
            }
        ],
        options: {
            once: false
        }
    }
}

For more information about manifests, see Glue's API.

You can specify a specific path to be passed to Glue as the relativeTo option by using the -p flag.

rejoice -c app.json -p /full/path/to/project/plugin/dir

If you need a module required before your application is loaded you can use the -r flag.

rejoice -c app.json -r `module`

Multiple modules can be required by using the -r flag as many times as needed. This example requires two modules from an implied source of node_modules.

rejoice -c app.json -r babel/register -r dotenv/config

When using -r with the -p flag, the -p flag takes on an additional meaning. In this case, the -p specifies the path where the module specified in -r will be found.

rejoice -c app.json -r `module` -p /base/path/to/required/module

The resulting search path for module would be /base/path/to/required/module/node_modules.

To specify both a -p option to be passed to Glue and specify a path to locate the -r module use an absolute path for -r.

rejoice -c app.json -p ./lib -r /absolute/path/to/module