64 lines
1.5 KiB
JavaScript
64 lines
1.5 KiB
JavaScript
|
'use strict';
|
||
|
|
||
|
var util = require('util');
|
||
|
var Orchestrator = require('orchestrator');
|
||
|
var gutil = require('gulp-util');
|
||
|
var deprecated = require('deprecated');
|
||
|
var vfs = require('vinyl-fs');
|
||
|
|
||
|
function Gulp() {
|
||
|
Orchestrator.call(this);
|
||
|
}
|
||
|
util.inherits(Gulp, Orchestrator);
|
||
|
|
||
|
Gulp.prototype.task = Gulp.prototype.add;
|
||
|
Gulp.prototype.run = function () {
|
||
|
// run() is deprecated as of 3.5 and will be removed in 4.0
|
||
|
// use task dependencies instead
|
||
|
|
||
|
// impose our opinion of "default" tasks onto orchestrator
|
||
|
var tasks = arguments.length ? arguments : ['default'];
|
||
|
|
||
|
this.start.apply(this, tasks);
|
||
|
};
|
||
|
|
||
|
Gulp.prototype.src = vfs.src;
|
||
|
Gulp.prototype.dest = vfs.dest;
|
||
|
Gulp.prototype.watch = function (glob, opt, fn) {
|
||
|
if (typeof opt === 'function' || Array.isArray(opt)) {
|
||
|
fn = opt;
|
||
|
opt = null;
|
||
|
}
|
||
|
|
||
|
// array of tasks given
|
||
|
if (Array.isArray(fn)) {
|
||
|
return vfs.watch(glob, opt, function () {
|
||
|
this.start.apply(this, fn);
|
||
|
}.bind(this));
|
||
|
}
|
||
|
|
||
|
return vfs.watch(glob, opt, fn);
|
||
|
};
|
||
|
|
||
|
// let people use this class from our instance
|
||
|
Gulp.prototype.Gulp = Gulp;
|
||
|
|
||
|
// deprecations
|
||
|
deprecated.field('gulp.env has been deprecated. ' +
|
||
|
'Use your own CLI parser instead. ' +
|
||
|
'We recommend using yargs or minimist.',
|
||
|
console.warn,
|
||
|
Gulp.prototype,
|
||
|
'env',
|
||
|
gutil.env
|
||
|
);
|
||
|
|
||
|
Gulp.prototype.run = deprecated.method('gulp.run() has been deprecated. ' +
|
||
|
'Use task dependencies or gulp.watch task triggering instead.',
|
||
|
console.warn,
|
||
|
Gulp.prototype.run
|
||
|
);
|
||
|
|
||
|
var inst = new Gulp();
|
||
|
module.exports = inst;
|