base-target

0.1.1 • Public • Published

base-target NPM version NPM downloads Build Status

Plugin that adds support for defining declarative target configurations that directly map to functional tasks.

You might also be interested in expand-target.

Install

Install with npm:

$ npm install --save base-target

Usage

Can be used with gulp or any supporting base application.

var target = require('base-target');
var each = require('base-files-each'); 
var Base = require('base-app');
var app = new Base();
app.use(target());
app.use(each());
 
// create a "target" configuration
var site = app.target('site', {
  options: {
    data: {
      site: { title: 'My Blog' }
    }
  },
  src: 'templates/*.hbs',
  dest: 'site',
});
 
// build the target
app.task('default', function(cb) {
  app.each(site, cb);
});

See the expand-target library for additional information and API documentation.

API

.isTarget

Returns true if the given value is a valid Target.

Params

  • val {any}
  • returns {Boolean}

Example

app.isTarget('foo');
//=> false
 
var Target = require('expand-target');
var target = new Target();
app.isTarget(target);
//=> true

.target

Get target name from app.targets, or set target name with the given config.

Params

  • name {String|Object|Function}
  • config {Object|Fucntion}
  • returns {Object}: Returns the app instance when setting a target, or the target instance when getting a target.

Example

app.target('foo', {
  options: {},
  files: {
    src: ['*'],
    dest: 'foo'
  }
});
 
// or
var target = app.target('foo');

.setTarget

Add target name to app.targets.

Params

  • name {String}
  • config {Object|Function}

Example

app.addTarget('foo', {
  options: {},
  files: {
    src: ['*'],
    dest: 'foo'
  }
});

.getTarget

Get target name from app.targets, or return a normalized instance of Target if an object or function is passed.

Params

  • name {String}
  • options {Object}

Example

var target = app.getTarget('foo');
 
// or create an instance of `Target` using the given object
var target = app.getTarget({
  options: {},
  files: {
    src: ['*'],
    dest: 'foo'
  }
});

app.Target

Get or set the Target constructor. Exposed as a getter/setter to allow it to be customized before or after instantiation.

Example

// set
app.Target = require('expand-target'); // or something custom
 
// get
var target = new app.Target();

Compatibility

This plugin can be used with base, or any of the following base applications:

  • assemble: Get the rocks out of your socks! Assemble makes you fast at creating web projects… more | homepage
  • generate: Command line tool and developer framework for scaffolding out new GitHub projects. Generate offers the… more | homepage
  • update: Be scalable! Update is a new, open source developer framework and CLI for automating updates… more | homepage
  • verb: Documentation generator for GitHub projects. Verb is extremely powerful, easy to use, and is used… more | homepage

About

Related projects

  • base-boilerplate: Plugin that adds support for generating project files from a declarative boilerplate configuration. | homepage
  • base-scaffold: Base plugin that adds support for generating files from a declarative scaffold configuration. | homepage

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

(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 && verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb, v0.9.0, on July 18, 2016.

Package Sidebar

Install

npm i base-target

Weekly Downloads

1

Version

0.1.1

License

MIT

Last publish

Collaborators

  • jonschlinkert