make watch for views work again.

This commit is contained in:
Niels Lyngsø
2020-05-29 11:23:02 +02:00
parent 71fbf2769a
commit ade4502533
6 changed files with 55 additions and 19 deletions

View File

@@ -3,10 +3,16 @@
module.exports = {
compile: {
build: {
sourcemaps: false
sourcemaps: false,
embedtemplates: true
},
dev: {
sourcemaps: true
sourcemaps: true,
embedtemplates: true
},
test: {
sourcemaps: false,
embedtemplates: true
}
},
sources: {
@@ -17,7 +23,7 @@ module.exports = {
installer: { files: "./src/less/installer.less", watch: "./src/less/**/*.less", out: "installer.css" },
nonodes: { files: "./src/less/pages/nonodes.less", watch: "./src/less/**/*.less", out: "nonodes.style.min.css"},
preview: { files: "./src/less/canvas-designer.less", watch: "./src/less/**/*.less", out: "canvasdesigner.css" },
umbraco: { files: "./src/less/belle.less", watch: "./src/less/**/*.less", out: "umbraco.css" },
umbraco: { files: "./src/less/belle.less", watch: "./src/**/*.less", out: "umbraco.css" },
rteContent: { files: "./src/less/rte-content.less", watch: "./src/less/**/*.less", out: "rte-content.css" }
},

View File

@@ -10,4 +10,14 @@ function setDevelopmentMode(cb) {
return cb();
};
module.exports = { setDevelopmentMode: setDevelopmentMode };
function setTestMode(cb) {
config.compile.current = config.compile.test;
return cb();
};
module.exports = {
setDevelopmentMode: setDevelopmentMode,
setTestMode: setTestMode
};

View File

@@ -6,11 +6,24 @@ var karmaServer = require('karma').Server;
* Build tests
**************************/
// Karma test
// Karma test
function testUnit() {
return new karmaServer({
configFile: __dirname + "/../../test/config/karma.conf.js"
})
.start();
};
// Run karma test server
function runUnitTestServer() {
return new karmaServer({
configFile: __dirname + "/../../test/config/karma.conf.js",
autoWatch: true,
port: 9999,
singleRun: false,
browsers: ['ChromeDebugging'],
keepalive: true
})
.start();
@@ -24,4 +37,4 @@ function testE2e() {
.start();
};
module.exports = { testUnit: testUnit, testE2e: testE2e };
module.exports = { testUnit: testUnit, testE2e: testE2e, runUnitTestServer: runUnitTestServer };

View File

@@ -1,7 +1,7 @@
'use strict';
const config = require('../config');
const {watch, parallel, dest, src} = require('gulp');
const {watch, series, parallel, dest, src} = require('gulp');
var _ = require('lodash');
var MergeStream = require('merge-stream');
@@ -9,9 +9,7 @@ var MergeStream = require('merge-stream');
var processJs = require('../util/processJs');
var processLess = require('../util/processLess');
//const { less } = require('./less');
//const { views } = require('./views');
var {js} = require('./js');
function watchTask(cb) {
@@ -35,10 +33,17 @@ function watchTask(cb) {
var viewWatcher;
_.forEach(config.sources.views, function (group) {
if(group.watch !== false) {
viewWatcher = watch(group.files, { ignoreInitial: true, interval: watchInterval });
viewWatcher.on('change', function(path, stats) {
viewWatcher = watch(group.files, { ignoreInitial: true, interval: watchInterval }, function() {
console.log("copying " + group.files + " to " + config.root + config.targets.views + group.folder);
src(group.files).pipe( dest(config.root + config.targets.views + group.folder) );
return parallel(
function MoveViewsAndRegenerateJS() {
return src(group.files).pipe( dest(config.root + config.targets.views + group.folder) );
},
js
)();
});
}
});

View File

@@ -25,7 +25,9 @@ module.exports = function (files, out) {
.pipe(sort());
//in production, embed the templates
task = task.pipe(embedTemplates({ basePath: "./src/", minimize: { loose: true } }))
if(config.compile.current.embedtemplates === true) {
task = task.pipe(embedTemplates({ basePath: "./src/", minimize: { loose: true } }));
}
task = task.pipe(concat(out))
.pipe(wrap('(function(){\n%= body %\n})();'))

View File

@@ -13,11 +13,11 @@
const { src, dest, series, parallel, lastRun } = require('gulp');
const config = require('./gulp/config');
const { setDevelopmentMode } = require('./gulp/modes');
const { setDevelopmentMode, setTestMode } = require('./gulp/modes');
const { dependencies } = require('./gulp/tasks/dependencies');
const { js } = require('./gulp/tasks/js');
const { less } = require('./gulp/tasks/less');
const { testE2e, testUnit } = require('./gulp/tasks/test');
const { testE2e, testUnit, runUnitTestServer } = require('./gulp/tasks/test');
const { views } = require('./gulp/tasks/views');
const { watchTask } = require('./gulp/tasks/watchTask');
@@ -31,6 +31,6 @@ exports.build = series(parallel(dependencies, js, less, views), testUnit);
exports.dev = series(setDevelopmentMode, parallel(dependencies, js, less, views), watchTask);
exports.watch = series(watchTask);
//
exports.runTests = series(js, testUnit);
exports.testUnit = series(testUnit);
exports.testE2e = series(testE2e);
exports.runTests = series(setTestMode, parallel(js, testUnit));
exports.runUnit = series(setTestMode, parallel(js, runUnitTestServer), watchTask);
exports.testE2e = series(setTestMode, parallel(testE2e));