node package manager


Build Status Coverage Status

Garðr Builder

Created for fast and easy building of a Garðr project with optional plugins. It can be used as a node module or command line utility (CLI).


  • Node.js version 0.12.0 or higher
  • npm in version 2.0.0 or higher (optional for CLI)


For CLI, clone this repository into whatever directory you like and run npm install command inside cloned directory.

For node module, install it with npm install gardr-builder.

Node Module Usage


var gardrBuilder = require('gardr-builder')(/* config */);{
    minify: true,
    plugins: ['gardr-plugin-host-resize']
}).then(function(result) {
    console.log('host built at ' + result.filePath);


Most of the time you don't need to touch main config (passed here as /* config */), which controls things like output directory etc., but if you need to, take a look at config.js file for default values.


Use .host .ext .iframe methods of builder.


plugins: Array<String> - plugins list as array of strings (host/ext)

allowedDomains: Array<String> - list of allowed domains as array of strings (ext)

minify: Boolean - wether or not result should be minified (host/ext/iframe)

CLI Usage


$> npm run make host minify


Go to /config directory and create files there:

ext-plugins-default.txt - plugins that are loaded into ext by default

host-plugins-default.txt - plugins that are loaded into host by default

ext-allowed-domains.txt - domains that are allowed for ext by default

All those files should be a new line delimited lists. /config directory contains examples of them.


Use this command to build the component: npm run make [host|ext|iframe] [options]

Your built files will be placed inside /output directory. Global Gardr objects will be exposed as gardrHost and gardrExt.


minify - to additionally create minified version of a component

plugins=[path] - project root relative path to plugins list file that should be used instead of ./config/[host|ext]-plugins-default.txt

allowedDomains=[path] - project root relative path to allowed domains list file that should be used instead of ./config/ext-allowed-domains-default.txt