Blame view

gulp/server.js 1.34 KB
66ee5529f   Palak Handa   initial commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  'use strict';
  
  var gulp = require('gulp');
  
  var paths = gulp.paths;
  
  var util = require('util');
  
  var browserSync = require('browser-sync');
  
  var middleware = require('./proxy');
  
  function browserSyncInit(baseDir, files, browser) {
    browser = browser === undefined ? 'default' : browser;
  
    var routes = null;
    if(baseDir === paths.src || (util.isArray(baseDir) && baseDir.indexOf(paths.src) !== -1)) {
      routes = {
        '/bower_components': 'bower_components'
      };
    }
  
    browserSync.instance = browserSync.init(files, {
      startPath: '/',
      server: {
        baseDir: baseDir,
        middleware: middleware,
        routes: routes
      },
      browser: browser
    });
  }
  
  gulp.task('serve', ['watch'], function () {
    browserSyncInit([
      paths.tmp + '/serve',
      paths.src
    ], [
      paths.tmp + '/serve/{app,components}/**/*.css',
      paths.src + '/{app,components}/**/*.js',
      paths.src + 'src/assets/images/**/*',
      paths.tmp + '/serve/*.html',
      paths.tmp + '/serve/{app,components}/**/*.html',
      paths.src + '/{app,components}/**/*.html'
    ]);
  });
  
  gulp.task('serve:dist', ['build'], function () {
    browserSyncInit(paths.dist);
  });
  
  gulp.task('serve:e2e', ['inject'], function () {
    browserSyncInit([paths.tmp + '/serve', paths.src], null, []);
  });
  
  gulp.task('serve:e2e-dist', ['build'], function () {
    browserSyncInit(paths.dist, null, []);
  });