Adding Violation History to DIO
[aai/sparky-fe.git] / webpack.config.js
1 /*
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017 Amdocs
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *       http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  *
21  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  */
23 'use strict';
24
25 var path = require('path');
26 var webpack = require('webpack');
27 var devPort = process.env.PORT || 8001;
28
29 module.exports = {
30         devtool: 'eval-source-map',
31         entry: {
32                 bundle: [
33                         'app/main.app.jsx',
34             'webpack/hot/only-dev-server'
35                 ],
36                 'editAttributes/editAttributesBundle': [
37                         'editAttributes/main.app.jsx',
38                         'webpack/hot/only-dev-server'
39                 ]
40         },
41         output: {
42                 path: path.join(__dirname, 'dist'),
43                 publicPath: `http://localhost:${devPort}/services/aai/webapp`,
44                 filename: '[name].js'
45         },
46         resolve: {
47                 root: [path.resolve('.')],
48                 alias: {
49                         app: 'src/app',
50                         'generic-components': 'src/generic-components',
51                         utils: 'src/utils',
52                         images: 'resources/images',
53                         editAttributes: 'src/editAttributes'
54                 }
55         },
56         devServer: {
57                 port: devPort,
58                 historyApiFallback: true,
59                 publicPath: `http://localhost:${devPort}/`,
60                 contentBase: path.join(__dirname, 'dist'),
61                 hot: true,
62                 progress: true,
63                 inline: true,
64                 debug: true,
65                 stats: {
66                         colors: true
67                 }
68         },
69         module: {
70                 preLoaders: [{
71                         test: /\.(js|jsx)$/,
72                         loader: 'source-map-loader'
73                 }],
74                 loaders: [
75                         {test: /\.(js|jsx)$/, loaders: ['babel-loader', 'eslint-loader'], exclude: /node_modules/},
76                         {test: /\.(css|scss)$/, loaders: ['style', 'css?sourceMap', 'sass?sourceMap']},
77                         // required for font icons
78                         {test: /\.(woff|woff2)(\?.*)?$/, loader: 'url-loader?limit=16384&mimetype=application/font-woff'},
79                         {test: /\.(ttf|eot|otf)(\?.*)?$/, loader: 'file-loader'},
80                         {test: /\.(png|jpg|svg)(\?.*)?$/, loader: 'url-loader?limit=16384'},
81                         {test: /\.json$/, loaders: ['json']}
82                 ]
83         },
84         eslint: {
85                 configFile: './.eslintrc',
86                 emitError: true,
87                 emitWarning: true
88         },
89         plugins: [
90                 new webpack.DefinePlugin({
91                         DEBUG: true
92                 }),
93
94                 new webpack.HotModuleReplacementPlugin()
95         ]
96 };