Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/schibsted-tech-polska/gardr-builder
This module and command line tool allows for fast and easy building of a Garðr project with optional plugins.
https://github.com/schibsted-tech-polska/gardr-builder
Last synced: 3 days ago
JSON representation
This module and command line tool allows for fast and easy building of a Garðr project with optional plugins.
- Host: GitHub
- URL: https://github.com/schibsted-tech-polska/gardr-builder
- Owner: Schibsted-Tech-Polska
- Created: 2014-12-25T00:46:29.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2020-07-07T19:00:39.000Z (over 4 years ago)
- Last Synced: 2024-10-30T05:36:26.185Z (16 days ago)
- Language: JavaScript
- Homepage:
- Size: 50.8 KB
- Stars: 1
- Watchers: 11
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/Schibsted-Tech-Polska/gardr-builder.svg)](https://travis-ci.org/Schibsted-Tech-Polska/gardr-builder) [![Coverage Status](https://coveralls.io/repos/Schibsted-Tech-Polska/gardr-builder/badge.svg)](https://coveralls.io/r/Schibsted-Tech-Polska/gardr-builder)
# Garðr Builder
Created for fast and easy building of a [Garðr](http://gardr.github.io/) project with optional plugins.
It can be used as a node module or command line utility (CLI).## Prequisitions
* Node.js version 0.12.0 or higher
* npm in version 2.0.0 or higher (optional for CLI)## Installation
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
#### Example
```javascript
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);
});
```#### Configuration
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.#### Building
Use ```.host .ext .iframe``` methods of builder.
#### Options
```plugins: Array``` - plugins list as array of strings (host/ext)
```allowedDomains: Array``` - list of allowed domains as array of strings (ext)
```minify: Boolean``` - wether or not result should be minified (host/ext/iframe)
## CLI Usage
#### Example
```$> npm run make host minify```
#### Configuration
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.
#### Building
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```.
#### Options
```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```