1 | var fs = require('fs');
|
2 | var path = require('path');
|
3 | var browserify = require('browserify');
|
4 | var express = require('express');
|
5 |
|
6 | var expressApp = express();
|
7 | expressApp.use(express.static(__dirname + '/public'));
|
8 | expressApp.use(express.static(__dirname + '/../node_modules/mocha'));
|
9 |
|
10 | expressApp.get('/test.js', function(req, res, next) {
|
11 | var bundle = browserify({debug: true});
|
12 | addScripts(bundle, __dirname + '/all', function(err) {
|
13 | if (err) return next(err);
|
14 | addScripts(bundle, __dirname + '/browser', function(err) {
|
15 | if (err) return next(err);
|
16 | bundle.bundle(function(err, code) {
|
17 | if (err) return next(err);
|
18 | res.type('js');
|
19 | res.send(code);
|
20 | });
|
21 | });
|
22 | });
|
23 | });
|
24 |
|
25 | function addScripts(bundle, dir, callback) {
|
26 | fs.readdir(dir, function(err, files) {
|
27 | if (err) return callback(err);
|
28 | for (var i = 0; i < files.length; i++) {
|
29 | var file = files[i];
|
30 | if (path.extname(file) !== '.js') continue;
|
31 | bundle.add(path.join(dir, file));
|
32 | }
|
33 | callback();
|
34 | });
|
35 | }
|
36 |
|
37 | var port = process.env.PORT || 5555;
|
38 | var server = expressApp.listen(port, function(err) {
|
39 | console.log('%d listening. Go to: http://localhost:%d/', process.pid, port);
|
40 | });
|