npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

expand-config

0.4.3

@jonschlinkert

npmHomeRepoSnykSocket
Downloads:241
$ npm install expand-config
DailyWeeklyMonthlyYearly

expand-config NPM version Build Status

Expand tasks, targets and files in a declarative configuration.

TOC

  • Install
  • Usage
  • API
    • Plugins
  • Docs
    • Tasks
    • Targets
    • Files
  • Related projects
  • Running tests
  • Contributing
  • Author
  • License

(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

Config

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

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/'
    }
  }
});

.addTask

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/'}
});

.addTarget

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

  • expand-config: Expand tasks, targets and files in a declarative configuration. | homepage
  • expand-files: Expand glob patterns in a declarative configuration into src-dest mappings. | homepage
  • expand-target: Expand target definitions in a declarative configuration. | homepage
  • expand-task: Expand and normalize task definitions in a declarative configuration. | homepage
  • expand-utils: Utils shared by the expand libs. | homepage
  • files-objects: Expand files objects into src-dest mappings. | homepage
  • normalize-config: Normalize a declarative configuration with any combination of src-dest mappings, files arrays, files objects and… more | homepage

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

  • github/jonschlinkert
  • twitter/jonschlinkert

License

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


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