hapi.js CLI
Clone or download
Latest commit 4a0d6bd May 7, 2018
Failed to load latest commit information.
bin fix some edge case failures May 7, 2018
lib finish it up May 7, 2018
test finish up barrier tests May 7, 2018
.gitignore Initial commit Oct 12, 2014
.npmignore Add bin to npmignore Aug 16, 2016
.travis.yml need to upgrade travis May 7, 2018
LICENSE Initial commit Oct 12, 2014
README.md rebase May 7, 2018
package.json fix some edge case failures May 7, 2018



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: [
                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