Hybrid Gulp
A node module that creates hybrid plugins that can function standalone or within a Gulp stream.
Installation
npm install hybrid-gulp --save
How it Works
Hybrid Gulp creates plugins that follow this format:
To be used standalone, the plugin is called with src
and dest
options:
// Plugin generated with hybrid-gulpvar plugin = ; ;
To be used inside Gulp, the plugin is called without src
or dest
options:
var plugin = ; gulp ;
Internally, your plugin defines a transform function which works the exact same in both situations. The transform gets an input file, and returns a modified output file.
Usage
Hybrid Gulp creates a plugin that accepts one parameter of configuration settings. Two of these settings will be the source and destination settings, named src
and dest
by default.
The transform function is a through2 object stream.
var hybrid = ;var MyLibrary = ; moduleexports =
srcOption
- Type: String
- Default:
'src'
Configuration setting your plugin uses to take in source files.
destOption
- Type: String
- Default:
'dest'
Configuration setting your plugin uses to set an output folder.
transform
- Type: Function
Function to manipulate input files. It's a through2 object stream that takes these parameters:
file
(Object): Vinyl object that corresponds to the current file being transformed. You can get the contents withfile.contents.toString()
.enc
(String): Encoding of the file.cb
(Function): Function to run when processing is done. Call it likecb(err, file)
, whereerr
is an error (ornull
if there was no error), andfile
is a modified Vinyl file.opts
(Object): Options passed to your plugin function.
onFinish
- Type: Function
- Default:
null
Function to run when the plugin finishes processing all files. It takes these parameters:
opts
(Object): Options passed to your plugin function.cb
(Function): Function to run when the function is done. Doesn't require any parameters.
callback
- Type: Boolean
- Default:
false
If true
, your plugin will use callbacks instead of promises, adding an extra parameter to the plugin for the callback.
var options = {}; ;