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
.
var gardrBuilder = require('gardr-builder')(/* config */);
gardrBuilder.host({
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)
$> 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