UNPKG

1.17 kBJavaScriptView Raw
1var connect = require('connect');
2var async = require('async');
3var path = require('path');
4var config = require(__dirname + '/config.json');
5var _ = require('underscore');
6
7var folderMount = function folderMount(point) {
8 return connect.static(path.resolve(point));
9};
10
11var folderDir = function folderDir(point){
12 return connect.directory(path.resolve(point));
13}
14
15
16module.exports = {
17 middleware: function(buildDir, opts){
18 options = {
19 livereload : true,
20 serveStatic : true,
21 serveDir : true,
22 middleware: []
23 }
24 var livereload = require('connect-livereload')({
25 port : config.livereloadPort
26 });
27 var serveStatic = folderMount(buildDir);
28 var serveDir = folderDir(buildDir);
29
30 return function(req, res, next){
31 var middlewares = [];
32 if(options.livereload) middlewares.push(async.apply(livereload, req, res));
33 if(options.serveStatic) middlewares.push(async.apply(serveStatic, req, res));
34 if(options.serveDir) middlewares.push(async.apply(serveDir, req, res));
35 if(options.middleware) middlewares = middlewares.concat(options.middleware);
36 async.series(middlewares,next);
37 }
38 }
39}
\No newline at end of file