Files
Umbraco-CMS/src/Umbraco.Web.UI.Client/gulp/tasks/watchTask.js
Bjarke Berg 58d7fc1817 Merge remote-tracking branch 'origin/v8/dev' into netcore/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/gulp/tasks/watchTask.js
2020-06-05 08:05:50 +02:00

56 lines
1.8 KiB
JavaScript

'use strict';
const config = require('../config');
const {watch, series, parallel, dest, src} = require('gulp');
var _ = require('lodash');
var MergeStream = require('merge-stream');
var processJs = require('../util/processJs');
var processLess = require('../util/processLess');
var {js} = require('./js');
function watchTask(cb) {
var watchInterval = 500;
//Setup a watcher for all groups of JS files
_.forEach(config.sources.js, function (group) {
if(group.watch !== false) {
watch(group.files, { ignoreInitial: true, interval: watchInterval }, function JS_Group_Compile() { return processJs(group.files, group.out);});
}
});
//Setup a watcher for all groups of LESS files
_.forEach(config.sources.less, function (group) {
if(group.watch !== false) {
watch(group.watch, { ignoreInitial: true, interval: watchInterval }, function Less_Group_Compile() { return processLess(group.files, group.out); });
}
});
//Setup a watcher for all groups of view files
var viewWatcher;
_.forEach(config.sources.views, function (group) {
if(group.watch !== false) {
viewWatcher = watch(group.files, { ignoreInitial: true, interval: watchInterval },
parallel(
function MoveViewsAndRegenerateJS() {
var task = src(group.files);
_.forEach(config.roots, function(root){
console.log("copying " + group.files + " to " + root + config.targets.views + group.folder);
task = task.pipe( dest(root + config.targets.views + group.folder) );
});
},
js
)
);
}
});
return cb();
};
module.exports = { watchTask: watchTask };