gulp-runtime

an alternate interface to vinly-fs

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
gulp-runtime
2612.0.08 years ago10 years agoMinified + gzip package size for gulp-runtime in KB

Readme

gulp-runtime !NPM versionbadge-versionnpm !downloadsbadge-downloadsnpm

!buildbadge-buildtravis-build
image
documentation - install - setup - why

features

- gulp API and more - customizable logging - REPL with autocomplete - Tasks :names with :parameters - pass arguments from the task runner

samples

CLI as tasks

var gulp = require('gulp-runtime').create();

gulp.task('default', ['--tasks', '--version']);

task :parameters

var gulp = require('gulp-runtime').create();

gulp.task('build :src :dest', function () {
  return gulp.src(this.params.src)
    // transform, compress, etc.
    .pipe(gulp.dest(this.params.dest));
});

gulp.task('default',
  gulp.parallel('build src/**/*.js build')
);

passing arguments

var gulp = require('gulp-runtime').create();

gulp.task('read src', function (callback, src, dest) {
  dest = path.join(dest, new Date().toISOString());
  console.log('from', src, 'to', dest);

  var stream = gulp.src(src);

  callback(null, stream, dest);
});

gulp.task('write', function (done, stream, dest) {
  return stream.pipe(gulp.dest(dest));
});

// the default takes any arguments after '--' from the terminal
gulp.task('default',
  gulp.series('read src', 'write')
);

write
node gulplfile.js -- src/**/*.js build

and arguments after -- will be passed to the default task.

functions as tasks

Just as gulp#4.0
var gulp = require('gulp-runtime').create();

function build (done, src, dest) {
  console.log('from', src, 'to', dest);
  return gulp.src(src)
    // some build step
    .pipe(gulp.dest(dest));
}

function minify (done, src, dest) {
  return gulp.src(src)
    // minify
    .pipe(gulp.dest(dest));
}

gulp.task('default',
  gulp.series(build, minify)
);

split builds in instances

var styles = require('gulp-runtime').create();

styles.task('less', function (done, sources, dest) {
  var less = require('gulp-less');
  var options = require('./build/options');

  return gulp.src(sources)
    .pipe(less(options.less))
    .pipe(gulp.dest(dest));
});

styles.task('default', ['less']);

exports = module.exports = styles;

a REPL after default has finished

var gulp = require('gulp-runtime').create({ repl: true });

gulp.task(':number', function (done) {
  setTimeout(done, 100);
});

gulp.task('default', ['one', 'two']);

go to the terminal and do
node gulpfile.js

which will run a REPL with the tasks defined.

install

With npmnpm
npm install --save-dev gulp-runtime

why

Soon after I started to use gulp it came to mind
I want a REPL for this

Mainly because a REPL is the closest to define and use as you like. If that was possible then writing task names in this REPL will run them just as doing the same from the command line.
Then I realized that what I really liked from gulp is the way you can bundle and compose async functions and how its this done under the hood. For that I had to try to do it by myself.
The above has lead to gulp-replgulp-repl, parthparth, runtimeruntime and finally gulp-runtimenpm.
So yeah, it got out of hand :D.
But well oh well, here we are.

license

!Licensebadge-licenselicense