gulp-to-go

0.1.2 • Public • Published

gulp-to-go

Create a portable Gulp environment

Travis npm

Sometimes you want to use Gulp's handy streaming, tasking, asyncing features without the usual gulp command and Gulpfile.js. And maybe you want that build system to be configurable. gulp-to-go has your back.

Installation

npm install gulp-to-go

Usage

Gulp 4.0's API is used.

import GulpToGo from 'gulp-to-go';
 
// Build a Gulpfile in this callback, defining public tasks with `gulp.task()`
// You can also specify custom options to be passed to the tasks at runtime
const gulp = GulpToGo((gulp, options) => {
  gulp.task('build', gulp.series(copy));
 
  gulp.task('default', gulp.parallel('build', watch));
 
  function copy() {
    gulp.src(options.src).pipe(gulp.dest(options.dist));
  }
 
  function watch() {
    gulp.watch(options.src, copy);
  }
});
 
// Now you can run public tasks and monitor them
gulp('build', {
  src: 'src/**/*',
  dist: 'dist',
}).then(() => {
  console.log('build task done!');
}).then(err => {
  console.log('build task done goofed!');
});

API

GulpToGo(fn)

Create a function that bootstraps a Gulp build process.

  • fn (Function): function to set up build process. Accepts these parameters:
    • gulp (Object): instance of Gulp. Use it to access src, dest, watch, and so on.
    • options (Object): options passed by the bootstrapping function.

Returns a function that accepts these parameters:

  • task (String): Optional. task to run. Must be a task defined with gulp.task in the bootstrap function.
  • options (Object): Optional. Options to pass to the bootstrap function.

By omitting the task name from the function call, the default task will be run. You can also pass in an options object only, which will cause the default task to be run as well.

That function returns a Promise which resolves when the given task has been run, or rejects if there's an error in the process. Note that if the task being called includes a step that runs indefinitely, such as a watch() function, the Promise will never resolve, unless an error is encountered, in which case it will reject.

Known Issues

  • Gulp's CLI handles all of the logging and such that you're used to when working with Gulp, which this library doesn't yet have. Stream errors will be reported, but not with the same output as Gulp's CLI.

Local Development

git clone https://github.com/spacedoc/gulp-to-go
cd gulp-to-go
npm install
npm test

License

MIT © Geoff Kimball

Readme

Keywords

Package Sidebar

Install

npm i gulp-to-go

Weekly Downloads

0

Version

0.1.2

License

MIT

Last publish

Collaborators

  • gakimball