UNPKG

1.16 kBJavaScriptView Raw
1'use strict';
2
3var path = require('path'),
4 util = require('gulp-util'),
5 browserSync = require('browser-sync');
6
7function append(snippet) {
8 return snippet;
9}
10
11function numpad(value) {
12 return value < 10 ? '0' + value : value;
13}
14
15function ctime() {
16 var now = new Date(),
17 time = [now.getHours(), now.getMinutes(), now.getSeconds()].map(numpad).join(':');
18
19 return '[' + util.colors.gray(time) + '] ';
20}
21
22module.exports = function(options) {
23 var config = {
24 files: [path.join(options.paths.dest, '**/*.*')],
25 port: typeof options.env.port === 'number' ? options.env.port : 3000,
26 open: options.env.open === true,
27 snippetOptions: {
28 rule: { match: /$/, fn: append }
29 },
30 injectChanges: true,
31 logFileChanges: false,
32 logConnections: false,
33 logSnippet: false,
34 logLevel: 'info',
35 logPrefix: ctime,
36 ghostMode: false,
37 watchTask: true,
38 online: false,
39 notify: true
40 };
41
42 if (options.proxy) {
43 config.proxy = options.proxy;
44 } else {
45 config.server = {
46 baseDir: options.paths.dest,
47 directory: true
48 };
49 }
50
51 return function(done) {
52 browserSync(config, done);
53 };
54};