diff --git a/src/Umbraco.Web.UI.Client/gulp/config.js b/src/Umbraco.Web.UI.Client/gulp/config.js index c27a2c5f53..752e1cec84 100755 --- a/src/Umbraco.Web.UI.Client/gulp/config.js +++ b/src/Umbraco.Web.UI.Client/gulp/config.js @@ -31,9 +31,14 @@ module.exports = { umbraco: {files: ["./src/views/**/*.html"], folder: ""}, installer: {files: ["./src/installer/steps/*.html"], folder: "install/"} }, + + plugins:{ + app: {files: ["./src/App_Plugins/**/*"], folder: ""} + }, //globs for file-watching globs:{ + plugins: "./src/App_Plugins/**", views: "./src/views/**/*.html", less: "./src/less/**/*.less", js: "./src/*.js", @@ -41,12 +46,13 @@ module.exports = { assets: "./src/assets/**" } }, - root: "../Umbraco.Web.UI/Umbraco/", + root: "../Umbraco.Web.UI/", targets: { - js: "js/", - lib: "lib/", - views: "views/", - css: "assets/css/", - assets: "assets/" + js: "Umbraco/js/", + lib: "Umbraco/lib/", + views: "Umbraco/views/", + plugins: "App_Plugins/", + css: "Umbraco/assets/css/", + assets: "Umbraco/assets/" } }; diff --git a/src/Umbraco.Web.UI.Client/gulp/tasks/fastdev.js b/src/Umbraco.Web.UI.Client/gulp/tasks/fastdev.js index 888ed38fec..bc6448a9bf 100644 --- a/src/Umbraco.Web.UI.Client/gulp/tasks/fastdev.js +++ b/src/Umbraco.Web.UI.Client/gulp/tasks/fastdev.js @@ -9,5 +9,5 @@ gulp.task('fastdev', function(cb) { global.isProd = false; - runSequence(["dependencies", "js", "less", "views"], "watch", cb); -}); \ No newline at end of file + runSequence(["dependencies", "js", "less", "views", "plugins"], "watch", cb); +}); diff --git a/src/Umbraco.Web.UI.Client/gulp/tasks/plugins.js b/src/Umbraco.Web.UI.Client/gulp/tasks/plugins.js new file mode 100644 index 0000000000..665c5d2c4f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/gulp/tasks/plugins.js @@ -0,0 +1,25 @@ +'use strict'; + +var config = require('../config'); +var gulp = require('gulp'); + +var _ = require('lodash'); +var MergeStream = require('merge-stream'); + +gulp.task('plugins', function () { + + var stream = new MergeStream(); + + _.forEach(config.sources.plugins, function (group) { + + console.log("copying " + group.files + " to " + config.root + config.targets.plugins + group.folder) + + stream.add ( + gulp.src(group.files) + .pipe( gulp.dest(config.root + config.targets.plugins + group.folder) ) + ); + + }); + + return stream; +}); diff --git a/src/Umbraco.Web.UI.Client/gulp/tasks/watch.js b/src/Umbraco.Web.UI.Client/gulp/tasks/watch.js index a5c476f7d2..03f34cdc9e 100644 --- a/src/Umbraco.Web.UI.Client/gulp/tasks/watch.js +++ b/src/Umbraco.Web.UI.Client/gulp/tasks/watch.js @@ -48,11 +48,18 @@ gulp.task('watch', function () { .pipe(gulp.dest(config.root + config.targets.views)) ); + //watch all app js files that will not be merged - copy single file changes stream.add( watch(config.sources.globs.js, { interval: watchInterval }) .pipe(gulp.dest(config.root + config.targets.js)) ); - + + //watch all views - copy single file changes + stream.add( + watch(config.sources.globs.plugins, { interval: watchInterval }) + .pipe(gulp.dest(config.root + config.targets.plugins)) + ); + return stream; });