Merge branch 'master' of github.com:gruntjs/grunt-contrib-watch

* 'master' of github.com:gruntjs/grunt-contrib-watch:
  Lint tweaks.
This commit is contained in:
Kyle Robinson Young 2016-01-29 19:26:34 -08:00
commit 0d7c0986cf
4 changed files with 53 additions and 22 deletions

View File

@ -43,7 +43,9 @@ module.exports = function(grunt) {
process.exit(1);
});
this.server.listen(options.port, options.host, function(err) {
if (err) { return grunt.fatal(err); }
if (err) {
return grunt.fatal(err);
}
grunt.log.verbose.writeln('Live reload server started on ' + host);
});
servers[host] = this.server;

View File

@ -39,7 +39,9 @@ module.exports = function(grunt) {
var self = this;
// Dont run if already running
if (self.startedAt !== false) { return; }
if (self.startedAt !== false) {
return;
}
// Start this task run
self.startedAt = Date.now();
@ -55,7 +57,9 @@ module.exports = function(grunt) {
}
// If no tasks just call done to trigger potential livereload
if (self.tasks.length < 1) { return done(); }
if (self.tasks.length < 1) {
return done();
}
if (self.options.spawn === false || self.options.nospawn === true) {
grunt.task.run(self.tasks);
@ -67,10 +71,10 @@ module.exports = function(grunt) {
// Run from current working dir and inherit stdio from process
opts: {
cwd: self.options.cwd.spawn,
stdio: 'inherit',
stdio: 'inherit'
},
// Run grunt this process uses, append the task to be run and any cli options
args: self.tasks.concat(self.options.cliArgs || []),
args: self.tasks.concat(self.options.cliArgs || [])
}, function(err, res, code) {
self.spawnTaskFailure = (code !== 0);
if (self.options.interrupt !== true || (code !== 130 && code !== 1)) {

View File

@ -57,7 +57,7 @@ module.exports = function(grunt) {
self.name = name || grunt.task.current.name || 'watch';
self.options = self._options(grunt.config([self.name, 'options']) || {}, defaults || {});
self.reload = false;
self.nameArgs = (grunt.task.current.nameArgs) ? grunt.task.current.nameArgs : self.name;
self.nameArgs = grunt.task.current.nameArgs ? grunt.task.current.nameArgs : self.name;
// Normalize cwd option
if (typeof self.options.cwd === 'string') {
@ -121,10 +121,12 @@ module.exports = function(grunt) {
grunt.task.current.requiresConfig(name);
var config = grunt.config(name);
var onlyTarget = (self.options.target) ? self.options.target : false;
var onlyTarget = self.options.target ? self.options.target : false;
var targets = (onlyTarget ? [onlyTarget] : Object.keys(config)).filter(function(key) {
if (key === 'options') { return false; }
if (key === 'options') {
return false;
}
return typeof config[key] !== 'string' && !Array.isArray(config[key]);
}).map(function(target) {
// Fail if any required config properties have been omitted
@ -142,7 +144,7 @@ module.exports = function(grunt) {
files: config.files,
tasks: config.tasks,
name: defaultTargetName,
options: self._options(config.options || {}, self.options),
options: self._options(config.options || {}, self.options)
};
targets.push(cfg);
self.add(cfg);
@ -163,7 +165,7 @@ module.exports = function(grunt) {
spawn: true,
atBegin: false,
event: ['all'],
target: null,
target: null
});
return _.defaults.apply(_, args);
};
@ -198,7 +200,9 @@ module.exports = function(grunt) {
}
// If we should reload
if (self.reload) { return self.reloadTask(); }
if (self.reload) {
return self.reloadTask();
}
// Trigger that tasks runs have started
self.emit('start');
@ -208,7 +212,9 @@ module.exports = function(grunt) {
var shouldComplete = true;
async.forEachSeries(self.queue, function(name, next) {
var tr = self.targets[name];
if (!tr) { return next(); }
if (!tr) {
return next();
}
// Re-grab options in case they changed between runs
tr.options = self._options(grunt.config([self.name, name, 'options']) || {}, tr.options, self.options);
@ -235,8 +241,12 @@ module.exports = function(grunt) {
// Private method for getting latest config for a watch target
target._getConfig = function(name) {
var cfgPath = [self.name];
if (target.name !== defaultTargetName) { cfgPath.push(target.name); }
if (name) { cfgPath.push(name); }
if (target.name !== defaultTargetName) {
cfgPath.push(target.name);
}
if (name) {
cfgPath.push(name);
}
return grunt.config(cfgPath);
};
@ -262,13 +272,17 @@ module.exports = function(grunt) {
// Do this when queued task runs have completed/scheduled
Runner.prototype.complete = function complete() {
var self = this;
if (self.running === false) { return; }
if (self.running === false) {
return;
}
self.running = false;
var time = 0;
for (var i = 0, len = self.queue.length; i < len; ++i) {
var name = self.queue[i];
var target = self.targets[name];
if (!target) { return; }
if (!target) {
return;
}
if (target.startedAt !== false) {
time += target.complete();
self.queue.splice(i--, 1);
@ -291,7 +305,9 @@ module.exports = function(grunt) {
var self = this;
self.queue.forEach(function(name) {
var target = self.targets[name];
if (!target) { return; }
if (!target) {
return;
}
target.complete();
});
};

View File

@ -6,6 +6,8 @@
* Licensed under the MIT license.
*/
'use strict';
var path = require('path');
var Gaze = require('gaze').Gaze;
var _ = require('lodash');
@ -14,7 +16,6 @@ var changedFiles = Object.create(null);
var watchers = [];
module.exports = function(grunt) {
'use strict';
var taskrun = require('./lib/taskrunner')(grunt);
@ -77,13 +78,17 @@ module.exports = function(grunt) {
dateFormat = df;
}
if (taskrun.running === false) { grunt.log.writeln(waiting); }
if (taskrun.running === false) {
grunt.log.writeln(waiting);
}
// Initialize taskrun
var targets = taskrun.init(name, {target: target});
targets.forEach(function(target) {
if (typeof target.files === 'string') { target.files = [target.files]; }
if (typeof target.files === 'string') {
target.files = [target.files];
}
// Process into raw patterns
var patterns = _.chain(target.files).flatten().map(function(pattern) {
@ -108,7 +113,9 @@ module.exports = function(grunt) {
// Create watcher per target
watchers.push(new Gaze(patterns, target.options, function(err) {
if (err) {
if (typeof err === 'string') { err = new Error(err); }
if (typeof err === 'string') {
err = new Error(err);
}
grunt.log.writeln('ERROR'.red);
grunt.fatal(err);
return taskrun.done();
@ -172,7 +179,9 @@ module.exports = function(grunt) {
// On watcher error
this.on('error', function(err) {
if (typeof err === 'string') { err = new Error(err); }
if (typeof err === 'string') {
err = new Error(err);
}
grunt.log.error(err.message);
});
}));