UNPKG

1.77 kBJavaScriptView Raw
1/**
2 * @file start commander, entry file
3 * @author zhangpeng53
4 */
5
6const wpconfig = require('../webpack.config');
7const webpack = require('webpack');
8const walkmd = require('./walkmd');
9const sh = require('child_process').execSync;
10const path = require('path');
11
12const node_modules = path.resolve(__dirname, '../node_modules');
13const wpconfigPath = path.resolve(__dirname, '../webpack.config.js');
14
15const parseWPConfig = (config, isProduction) => {
16 let res = wpconfig(isProduction);
17 if (config.setWebpackConfig) {
18 res = config.setWebpackConfig(res);
19 }
20 return res;
21};
22
23const before = (config) => {
24 if (config.theme == 'default' || !config.theme) {
25 config.theme = path.resolve(__dirname, '../theme_default/');
26 } else {
27 config.theme = path.resolve(process.pwd(), config.theme);
28 }
29};
30
31exports.build = config => {
32 before(config);
33
34 walkmd(config, () => {
35 const site = path.resolve(process.cwd(), 'site');
36 sh(`rm -rf ${site}`);
37
38 const compiler = webpack(parseWPConfig(config, true));
39 compiler.run((err, stats) => {
40 // console.log(stats);
41 });
42 });
43}
44
45exports.dev = config => {
46 before(config);
47 walkmd(config, () => {
48
49 // const server = new webdevServer(compiler, wpconfig.devServer);
50 // server.listen(wpconfig.devServer.port, "localhost", ()=> {
51 // console.log('====start-dev-server====');
52 // });
53
54 // TODO
55 // const db = require("./tmp/__md__");
56
57 return;
58 const server = require('./server');
59 const wpConfig = parseWPConfig(config, false);
60 server(config, wpConfig);
61 // sh(`${node_modules}/.bin/webpack-dev-server --config ${wpconfigPath}`);
62 });
63}
\No newline at end of file