client/gulpfile.js
changeset 13 435d5c15275a
parent 5 90a7c431b979
child 22 986ee928a866
--- a/client/gulpfile.js	Fri Oct 10 17:08:31 2014 +0200
+++ b/client/gulpfile.js	Mon Oct 13 12:43:47 2014 +0200
@@ -1,20 +1,22 @@
 var gulp = require('gulp');
+var del = require('del');
 var gutil = require('gulp-util')
 var plugins = require("gulp-load-plugins")({lazy:false});
-//var flatten = require('gulp-flatten');
-//var uglify = require('gulp-uglify');
-//var clean = require('gulp-clean');
-//var rename = require('gulp-rename');
-//var filesize = require('gulp-filesize');
-//var cssmin  = require('gulp-cssmin');
 
 var templateFolder = '../annot-server/templates/';
 var templateFileDest = '../annot-server/templates/annotationclient.html';
 var staticFolder = '../annot-server/static';
 
-gulp.task('clean', function () {
-  gulp.src(templateFileDest, {read: false}).pipe(clean());
-  gulp.src(staticFolder, {read: false}).pipe(clean());
+var clientBaseName = 'app';
+var vendorBaseName = 'lib';
+
+gulp.task('clean', function (cb) {
+    del([
+        templateFileDest,
+        staticFolder + "/css/app*",
+        staticFolder + "/js/app*",
+        staticFolder + "/data/categories.json",
+    ],{'force':true}, cb);
 });
 
 var scriptsSrc = ['!./app/**/*_test.js','./app/**/*.js'];
@@ -25,34 +27,26 @@
         .pipe(plugins.jshint())
         .pipe(plugins.jshint.reporter('default'))
         .pipe(plugins.jshint.reporter('fail'))
-        .pipe(plugins.concat('app.js'))
+        .pipe(plugins.concat(clientBaseName+'.js'))
         .pipe(gulp.dest(staticFolder+'/js'))
         .pipe(plugins.filesize())
         .pipe(plugins.uglify())
-        .pipe(plugins.rename('app.min.js'))
+        .pipe(plugins.rename(clientBaseName+'.min.js'))
         .pipe(gulp.dest(staticFolder+'/js'))
         .pipe(plugins.filesize())
         .on('error', gutil.log);
 });
 
 
-//gulp.task('templates',function(){
-//    //combine all template files of the app into a js file
-//    gulp.src(['!./app/index.html',
-//        './app/**/*.html'])
-//        .pipe(plugins.angularTemplatecache('templates.js',{standalone:true}))
-//        .pipe(gulp.dest(staticFolder+'/js'));
-//});
-
 gulp.task('css', function(){
     gulp.src('./app/**/*.css')
-//        .pipe(plugins.csslint())
-//        .pipe(plugins.csslint.reporter())
-        .pipe(plugins.concat('app.css'))
+        .pipe(plugins.csslint({ 'box-sizing': false }))
+        .pipe(plugins.csslint.reporter())
+        .pipe(plugins.concat(clientBaseName+'.css'))
         .pipe(gulp.dest(staticFolder+'/css'))
         .pipe(plugins.filesize())
         .pipe(plugins.minifyCss({keepBreaks:true}))
-        .pipe(plugins.rename('app.min.css'))
+        .pipe(plugins.rename(clientBaseName+'.min.css'))
         .pipe(gulp.dest(staticFolder+'/css'))
         .pipe(plugins.filesize());
 });
@@ -85,11 +79,11 @@
     //concatenate vendor CSS files
     gulp.src(['!./bower_components/**/*.min.css',
         './bower_components/**/*.css'])
-        .pipe(plugins.concat('lib.css'))
+        .pipe(plugins.concat(vendorBaseName+'.css'))
         .pipe(gulp.dest(staticFolder+'/css'))
         .pipe(plugins.filesize())
         .pipe(plugins.minifyCss({keepBreaks:true}))
-        .pipe(plugins.rename('lib.min.css'))
+        .pipe(plugins.rename(vendorBaseName+'.min.css'))
         .pipe(gulp.dest(staticFolder+'/css'))
         .pipe(plugins.filesize());
 });
@@ -122,10 +116,9 @@
         staticFolder+'/**/*.css'
     ], function(event) {
         return gulp.src(event.path)
-            .pipe(plugins.connect.reload());
+            .pipe(plugins.webserver.reload());
     });
     gulp.watch(['./app/**/*.js','!./app/**/*test.js'],['scripts']);
-    //gulp.watch(['!./app/index.html','./app/**/*.html'],['templates']);
     gulp.watch('./app/**/*.css',['css']);
     gulp.watch('./app/annotationclient.html',['copy-index']);
     gulp.watch('./data/**/*',['copy-data']);
@@ -133,11 +126,13 @@
 
 });
 
-gulp.task('connect', plugins.connect.server({
-    root: ['build'],
-    port: 9000,
-    livereload: true
-}));
+gulp.task('connect', function() {
+    gulp.src('build').pipe(
+        plugins.webserver({
+            port: 9000,
+            livereload: true
+        })
+    );
+});
 
-//gulp.task('default',['connect','scripts','templates','css','copy-index','copy-data','copy-img','vendorJS','vendorCSS','vendorFonts','watch']);
-gulp.task('default',['scripts','css','copy-index','copy-data','copy-img','vendorJS','vendorCSS','vendorFonts','watch']);
+gulp.task('default',['scripts','css','copy-index','copy-data','copy-img','vendorJS','vendorCSS','vendorFonts']);