Merge "[1707-OS] Updated license text according to the"
[sdc.git] / openecomp-ui / webpack.config.js
1 'use strict';
2
3 const path = require('path');
4 const webpack = require('webpack');
5 const proxyServer = require('./proxy-server');
6
7 let localDevConfig = {};
8 try {
9         localDevConfig = require('./devConfig');
10 } catch (e) {}
11 let devConfig = Object.assign({}, require('./devConfig.defaults'), localDevConfig);
12 let devPort = process.env.PORT || devConfig.port;
13
14 let webpackCommon = require('./webpack.common');
15
16 function getEntrySources(sources) {
17         for (let i in sources) {
18                 if (sources.hasOwnProperty(i)) {
19                         sources[i].push('webpack-dev-server/client?http://localhost:' + devPort);
20                         sources[i].push('webpack/hot/only-dev-server');
21                 }
22         }
23         return sources;
24 }
25
26 let webpackDevConfig = Object.assign({}, webpackCommon, {
27         entry: getEntrySources(devConfig.bundles),
28         devtool: 'eval-source-map',
29         output: {
30                 path: path.join(__dirname, 'dist'),
31                 publicPath: `http://localhost:${devPort}/onboarding/`,
32                 filename: '[name].js'
33         },
34         devServer: {
35                 port: devPort,
36                 historyApiFallback: true,
37                 publicPath: `http://localhost:${devPort}/onboarding/`,
38                 contentBase: path.join(__dirname, 'dist'),
39                 hot: true,
40                 inline: true,
41                 stats: {
42                         colors: true,
43                         exclude: ['node_modules']
44                 },
45                 setup: proxyServer
46         },
47         plugins: [
48                 new webpack.DefinePlugin({
49                         DEV: true,
50                         DEBUG: true
51                 }),
52                 new webpack.HotModuleReplacementPlugin(),
53                 new webpack.LoaderOptionsPlugin({
54                         options: {
55                                 eslint: {
56                                         configFile: './.eslintrc',
57                                         emitError: true,
58                                         emitWarning: true
59                                 },
60                                 context: '/'
61                         }
62                 })
63         ]
64 });
65
66 module.exports = webpackDevConfig;