gulpish

0.1.7 • Public • Published

Gulpish

Build Status Dependency Status

Introduction

Gulpish is a modular gulp.js task organization that can autoload gulp dependencies and tasks.

Complete example demo can be found here.

Installation

npm install --save gulpish

Usage

Create a tasks folder

var gulp = require('gulp'),
gulpish = require('gulpish');

gulpish(gulp);

This will load and register tasks for all files defined inside ./tasks directory

Options

You can pass in options by creating a gulpish.json with keys as shown below. The values shown below are the defaults.

{
  task: {
    taskDirectory: './tasks',
    filenameDeliISCer: '-',
    tasknameDeliISCer: ':'
  },
  plugin: {
    debug: false,
    pattern: [
      'gulp-*',
      'gulp.*'
    ],
    scope: [
      'dependencies',
      'devDependencies',
      'peerDependencies'
    ],
    replaceString: /^gulp(-|\.)/,
    camelize: true,
    lazy: true,
    plugins: {
      bump: require('gulp-bump'),
      mocha: require('mocha')
    }
  }
}

Structuring a task

All tasks should be functions that receive the parameters gulp, config, and plugins.

There are 2 ways to structure a task -- returning a function that executes the task, or returning an object that contains dependencies, parameters, and the function that executes the task.

Basic tasks

This is a typical function as you are used to with gulp.

'use strict';

module.exports = function(gulp, config, plugins) {
  return function([callback]) {};
};

Tasks with dependencies and/or parameters

All 3 object keys (deps, params, and fn) are optional. This allows you to create a task that strictly calls other tasks, a task that is parameterized, or a task that just acts like a normal task.

If there are no dependencies or parameters for the task you can use the above "Basic task" format for creating a basic task.

The values shown below are the defaults.

'use strict';

module.exports = function(gulp, config, plugins) {
  return {
    deps: [],
    params: [],
    fn: function([callback]) {}
  };
};

The ISC License (ISC)

Copyright (c) 2016, Periphore

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Readme

Keywords

Package Sidebar

Install

npm i gulpish

Weekly Downloads

2

Version

0.1.7

License

ISC

Last publish

Collaborators

  • geekhero