Plugin for automatically creating tasks from declarative target
configurations. Works with generate, assemble, verb, or any other base application with plugin support.
Can be used with any base application, including assemble, generate, and update.
var target = require('generate-target');
var Base = require('base');
var targets = require('base-target');
var app = new Base({isApp: true});
app.use(targets());
// create a target
app.target('abc', {
src: 'templates/*.hbs',
dest: 'site',
});
// get a target
app.target('abc')
.generate({cwd: 'fo'}) // build the files in a target
.on('error', console.error)
.on('end', function() {
console.log('done!');
});
See the expand-target library for additional information and API documentation.
Asynchronously generate files from a declarative target configuration.
Params
target
{Object}: Target configuration object.next
{Function}: Optional callback function. If not passed,.targetStream
will be called and a stream will be returned.
Example
var Target = require('target');
var target = new Target({
options: {cwd: 'source'},
src: ['content/*.md']
});
app.targetSeries(target, function(err) {
if (err) console.log(err);
});
Generate files from a declarative target configuration.
Params
target
{Object}: target configuration object.returns
{Stream}: returns a stream with all processed files.
Example
var Target = require('target');
var target = new Target({
options: {},
files: {
src: ['*'],
dest: 'foo'
}
});
app.targetStream(target)
.on('error', console.error)
.on('end', function() {
console.log('done!');
});
If the instance has a task
method, a task is automatically created for each target.
Example
app.target('docs', {src: 'src/docs/*.md', dest: 'docs'});
app.target('site', {src: 'src/site/*.hbs', dest: 'site'});
app.build(['docs', 'site'], function(err) {
if (err) return console.log(err);
console.log('done!');
});
Disable auto-tasks
Pass options to the plugin to disable this feature.
app.use(targets({tasks: false}));
- base-scaffold: Base plugin that adds support for generating files from a declarative scaffold configuration. | homepage
- base-target: Plugin that adds support for defining declarative
target
configurations that directly map to functional tasks. | homepage - generate-scaffold: Generate a scaffold from a declarative configuration. | homepage
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v0.9.0, on July 19, 2016.