Skip to content

jonschlinkert/expand-config

Repository files navigation

expand-config NPM version Build Status

Expand tasks, targets and files in a declarative configuration.

TOC

(TOC generated by verb using markdown-toc)

Install

Install with npm:

$ npm i expand-config --save

Usage

Expand a declarative configuration with tasks, targets and files mappings. Optionally pass a name as the first argument.

var config = require('expand-config');

config({
  site: {
    src: 'templates/*.hbs',
    dest: 'site/'
  },
  blog: {
    src: 'content/*.md',
    dest: 'site/blog/'
  }
});

API

Expand a declarative configuration with tasks and targets. Create a new Config with the given options

Params

  • options {Object}

Example

var config = new Config();

// example usage
config.expand({
  jshint: {
    src: ['*.js', 'lib/*.js']
  }
});

Expand and normalize a declarative configuration into tasks, targets, and options.

Params

  • config {Object}: Config object with tasks and/or targets.
  • returns {Object}

Example

config.expand({
  options: {},
  assemble: {
    site: {
      mapDest: true,
      src: 'templates/*.hbs',
      dest: 'site/'
    },
    docs: {
      src: 'content/*.md',
      dest: 'site/docs/'
    }
  }
});

Add a task to the config, while also normalizing targets with src-dest mappings and expanding glob patterns in each target.

Params

  • name {String}: the task's name
  • config {Object}: Task object where each key is a target or options.
  • returns {Object}

Example

task.addTask('assemble', {
  site: {src: '*.hbs', dest: 'templates/'},
  docs: {src: '*.md', dest: 'content/'}
});

Add a target to the config, while also normalizing src-dest mappings and expanding glob patterns in the target.

Params

  • name {String}: The target's name
  • target {Object}: Target object with a files property, or src and optionally a dest property.
  • returns {Object}

Example

config.addTarget({src: '*.hbs', dest: 'templates/'});

Plugins

See the plugins documentation.

Docs

The unit tests have lots of good usage examples. You can visit the following libraries if you want to dive deeper into the API/features and options for each configuration type.

Tasks

Visit expand-task to see the docs and full range of options for task expansion.

Targets

Visit expand-target to see the docs and full range of options for target expansion.

Files

Visit expand-files to see the docs and full range of options for files expansion.

Related projects

Running tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

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

Author

Jon Schlinkert

License

Copyright © 2014-2016 Jon Schlinkert Released under the MIT license.


This file was generated by verb on January 06, 2016.

About

Expand tasks, targets and files in a declarative configuration.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published