UNPKG

1.75 kBJavaScriptView Raw
1const webpack = require('webpack');
2const WebpackDevServer = require('webpack-dev-server');
3
4const setupProxy = require('./dist/outproxy/proxy').setupProxy;
5const defaultLoggerFactory = require('./dist/outproxy/logging').defaultLoggerFactory;
6
7function startDevServer({ port, logger, bundleFile, mockFile, devServerConfigFactory }) {
8 const webpackConfig = devServerConfigFactory({ bundleFile, mockFile });
9 webpackConfig.mode = 'development'
10
11 const devServeroptions = {
12 contentBase: __dirname + "/build",
13 stats: "errors-only",
14 port,
15 host: 'localhost',
16 before: (app) => setupProxy(app, logger),
17 watchContentBase: true,
18 };
19
20 logger.info('starting webpack dev server');
21 WebpackDevServer.addDevServerEntrypoints(webpackConfig, devServeroptions);
22 const compiler = webpack(webpackConfig)
23 const server = new WebpackDevServer(compiler, devServeroptions);
24 server.listen(port, 'localhost', function (err) {
25 if (err) {
26 logger.error(err);
27 }
28 logger.info('WebpackDevServer listening at localhost:' + port);
29 });
30}
31
32function startDisplayTool({ port, loggerFactory, bundleFile, mockFile }) {
33 loggerFactory = loggerFactory || defaultLoggerFactory;
34 port = port || 5555;
35
36 if (!bundleFile || !mockFile) {
37 throw new Error("error: Missing parameter(s). You must provide paths to bundleFile & mockFile");
38 }
39
40 const devServerConfigFactory = require('./webpack.config.wdp');
41 startDevServer({ port, logger: loggerFactory("display-tool-webpack"), bundleFile, mockFile, devServerConfigFactory });
42}
43
44module.exports = startDisplayTool;
45
46if (require.main === module) {
47 startDisplayTool({
48 bundleFile: process.argv[2],
49 mockFile: process.argv[3],
50 });
51}
\No newline at end of file