Plugin that adds support for generating project files from a declarative boilerplate configuration.
Install with npm:
$ npm install --save base-boilerplatevar boilerplate = require('base-boilerplate');
var App = require('base-app');
var app = new App();
app.use(boilerplate());Download h5bp
To run the example, first you'll need to git clone html5-boilerplate with the following command:
$ git clone https://github.com/h5bp/html5-boilerplate.git vendor/h5bpConfiguration
The following examples returns a normalized configuration object that includes every file in the html5-boilerplate project, organized exactly the way the project itself is organized.
var Boilerplate = require('boilerplate');
var boilerplate = new Boilerplate({
options: {
cwd: 'vendor/h5bp/dist',
destBase: 'src'
},
site: {
root: {src: ['{.*,*.*}'], dest: 'root'},
css: {src: ['css/*.css'], dest: 'assets/css'},
js: {src: ['js/**/*.js'], dest: 'assets/js'},
doc: {src: ['doc/*.md'], dest: 'docs'}
},
});Generate
Pass the configuration to the .boilerplate or .boilerplateStream method to "build" the boilerplate. In this example we're not doing any additional processing, so the source files will simply be copied to the specified destination directories.
// stream
app.boilerplateStream(boilerplate)
.on('end', function() {
console.log('done');
});
// async callback
app.boilerplate(boilerplate, function(err) {
if (err) return console.error(err);
console.log('done');
});Get boilerplate name from app.boilerplates, or set boilerplate name with the given config.
Params
name{String|Object|Function}config{Object|Fucntion}returns{Object}: Returns the app instance when setting a boilerplate, or the boilerplate instance when getting a boilerplate.
Example
app.boilerplate('foo', {
docs: {
options: {},
files: {
src: ['*'],
dest: 'foo'
}
}
});
// or
var boilerplate = app.boilerplate('foo');Params
name{String}config{Object|Function}
Example
app.addBoilerplate('foo', {
docs: {
options: {},
files: {
src: ['*'],
dest: 'foo'
}
}
});Params
name{String}options{Object}
Example
var boilerplate = app.getBoilerplate('foo');
// or create an instance of `Boilerplate` using the given object
var boilerplate = app.getBoilerplate({
docs: {
options: {},
files: {
src: ['*'],
dest: 'foo'
}
}
});Returns true if the given value is a valid Boilerplate.
Params
val{any}returns{Boolean}
Example
isBoilerplate('a');
//=> false
isBoilerplate({});
//=> false
isBoilerplate({ files: [] })
//=> false
isBoilerplate(new Boilerplate({ src: ['*.js'] }))
//=> trueGet or set the Boilerplate constructor. Exposed as a getter/setter to allow it to be customized before or after instantiation.
Example
// set
app.Boilerplate = function MyBoilerplateCtor() {};
// get
var scaffold = new app.Boilerplate();- base-generators: Adds project-generator support to your
baseapplication. | homepage - base-scaffold: Base plugin that adds support for generating files from a declarative scaffold configuration. | homepage
- base-task: base plugin that provides a very thin wrapper around https://github.com/doowb/composer for adding task methods to… more | homepage
- base: base is the foundation for creating modular, unit testable and highly pluggable node.js applications, starting… more | homepage
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)
To generate the readme and API documentation with verb:
$ npm install -g verb verb-generate-readme && verbInstall dev dependencies:
$ npm install -d && npm testJon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v0.9.0, on July 21, 2016.