1 | "use strict";
|
2 |
|
3 | let args = require('minimist');
|
4 | let path = require('path');
|
5 | let _ = require('lodash');
|
6 | let as = require('async');
|
7 |
|
8 | let helpers = require('./lib/helpers.js');
|
9 | let content = require('./lib/content.js');
|
10 | let server = require('./lib/server.js');
|
11 | let build = require('./lib/build.js');
|
12 |
|
13 | module.exports = (opts, cb) => {
|
14 | opts = args(opts, {
|
15 | 'alias': {
|
16 | 'p': 'port',
|
17 | 's': 'source',
|
18 | 'c': 'cache'
|
19 | },
|
20 | 'default': {
|
21 |
|
22 | 's': './example/',
|
23 |
|
24 | 'c': 60 * 24
|
25 | }
|
26 | });
|
27 |
|
28 | opts.source = path.resolve(opts.source);
|
29 |
|
30 |
|
31 | if (!_.isFunction(cb)) cb = _.identity;
|
32 |
|
33 | as.waterfall([
|
34 |
|
35 | _.partial(helpers, opts),
|
36 |
|
37 | _.partial(content, opts),
|
38 |
|
39 | _.partial(build, opts),
|
40 |
|
41 | _.partial(server, opts),
|
42 | ], cb);
|
43 | };
|