A Gulp plugin to execute functions within a Gulp task pipeline.
Go to file
2018-12-09 01:27:24 +01:00
test fix(core): update to latest gitzone standards 2018-12-09 01:19:01 +01:00
ts fix(core): update to latest gitzone standards 2018-12-09 01:19:01 +01:00
.gitignore update docs and .gitignore 2017-04-30 17:23:22 +02:00
.gitlab-ci.yml fix(core): update to latest gitzone standards 2018-12-09 01:19:01 +01:00
.npmignore updated deps 2016-04-05 00:59:21 +02:00
LICENSE.md fix(license): switch to company name from brand name 2018-12-09 01:19:44 +01:00
npmextra.json update ci 2018-01-29 23:53:58 +01:00
package-lock.json 2.2.16 2018-12-09 01:19:44 +01:00
package.json BREAKING CHANGE(npm scope): update 2018-12-09 01:27:24 +01:00
README.md BREAKING CHANGE(npm scope): update 2018-12-09 01:27:24 +01:00
tslint.json fix(core): update to latest gitzone standards 2018-12-09 01:19:01 +01:00

gulp-function

accepts a function call as parameter to execute in gulp pipeline

Availabililty

npm git git docs

Status for master

build status coverage report npm downloads per month Dependency Status TypeScript node JavaScript Style Guide Known Vulnerabilities

Usage

import gulp = require('gulp');
import gulpFunction from 'gulp-function'; // default ES6 export
// import {forFirst, forEach, atEnd} from 'gulp-function'

let myAsyncFunction = async (file, enc) => {
  // await some async stuff
};

gulp.task('gulpTest', function() {
  let stream = gulp
    .src('./mydir/*.something')
    .pipe(gulpFunction(myAsyncFunction, 'forEach')) //read the notes below
    // .pipe(forEach(myAsyncFunction)) // if imported as >> import { forEach } from 'gulp-function' <<
    .pipe(gulp.dest('./build/'));
  return stream; // by returning the stream gulp knows when our task has finished.
});

Notes

  • The first argument of gulpFunction can also be an array of multiple functionnames. Each function can return a promise. The pipe stop will finish when every promise is fullfilled. When providing an array of functions be careful with modifying the file object -> race condition
  • The second argument can be empty, it defaults to "forEach"
  • The following options are available:
    • "forFirst" - executes when first chunk/vinylfile of the stream reaches the pipestop. file is pushed further down the line when function's returned promise is fullfilled.
    • "forEach" - executes like "forFirst" but with every chunk/vinylfile in the stream;
    • "atEnd" - executes after all chunks have passed and are processed in full. That means the stream's "finish" event fires before "atLast" is executed!!!

For further information read the linked docs at the top of this README.

MIT licensed | © Lossless GmbH | By using this npm module you agree to our privacy policy

repo-footer