aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-ui/webpack.config.js
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-ui/webpack.config.js')
-rw-r--r--openecomp-ui/webpack.config.js130
1 files changed, 37 insertions, 93 deletions
diff --git a/openecomp-ui/webpack.config.js b/openecomp-ui/webpack.config.js
index 2cccba8f0f..c723a7a86c 100644
--- a/openecomp-ui/webpack.config.js
+++ b/openecomp-ui/webpack.config.js
@@ -1,66 +1,33 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
'use strict';
-var path = require('path');
-var webpack = require('webpack');
+const path = require('path');
+const webpack = require('webpack');
+const proxyServer = require('./proxy-server');
-var localDevConfig = {};
+let localDevConfig = {};
try {
localDevConfig = require('./devConfig');
-} catch(e) {}
-var devConfig = Object.assign({}, require('./devConfig.defaults'), localDevConfig);
-var devPort = process.env.PORT || devConfig.port;
-var latestProgress = 0;
+} catch (e) {}
+let devConfig = Object.assign({}, require('./devConfig.defaults'), localDevConfig);
+let devPort = process.env.PORT || devConfig.port;
-module.exports = {
- devtool: 'eval-source-map',
- entry: {
- bundle: [
- 'sdc-app/sdc.app.jsx',
- `webpack-dev-server/client?http://localhost:${devPort}`,
- 'webpack/hot/only-dev-server'
- ],
- 'punch-outs': [
- 'sdc-app/punch-outs.js',
- `webpack-dev-server/client?http://localhost:${devPort}`,
- 'webpack/hot/only-dev-server'
- ],
- 'heat-validation': [
- 'sdc-app/heatValidation.app.jsx',
- `webpack-dev-server/client?http://localhost:${devPort}`,
- 'webpack/hot/only-dev-server'
- ]
- },
- resolve: {
- root: [path.resolve('.')],
- alias: {
- i18nJson: 'nfvo-utils/i18n/locale.json',
- 'nfvo-utils': 'src/nfvo-utils',
- 'nfvo-components': 'src/nfvo-components',
- 'sdc-app': 'src/sdc-app'
+let webpackCommon = require('./webpack.common');
+
+function getEntrySources(sources) {
+ for (let i in sources) {
+ if (sources.hasOwnProperty(i)) {
+ sources[i].push('webpack-dev-server/client?http://localhost:' + devPort);
+ sources[i].push('webpack/hot/only-dev-server');
}
- },
+ }
+ return sources;
+}
+
+let webpackDevConfig = Object.assign({}, webpackCommon, {
+ entry: getEntrySources(devConfig.bundles),
+ devtool: 'eval-source-map',
output: {
- path: path.join(__dirname, 'dist/dev'),
+ path: path.join(__dirname, 'dist'),
publicPath: `http://localhost:${devPort}/onboarding/`,
filename: '[name].js'
},
@@ -68,36 +35,14 @@ module.exports = {
port: devPort,
historyApiFallback: true,
publicPath: `http://localhost:${devPort}/onboarding/`,
- contentBase: path.join(__dirname, 'dist/dev'),
+ contentBase: path.join(__dirname, 'dist'),
hot: true,
- progress: true,
inline: true,
- debug: true,
stats: {
- colors: true
- }
- },
- module: {
- preLoaders: [
- {test: /\.(js|jsx)$/, loader: 'source-map-loader', exclude: /node_modules/}
- ],
- loaders: [
- {test: /\.(js|jsx)$/, loaders: ['react-hot', 'babel-loader', 'eslint-loader'], exclude: /node_modules/},
- {test: /\.(css|scss)$/, loaders: ['style', 'css?sourceMap', 'sass?sourceMap']},
-
- // required for font icons
- {test: /\.(woff|woff2)(\?.*)?$/, loader: 'url-loader?limit=16384&mimetype=application/font-woff' },
- {test: /\.(ttf|eot|otf)(\?.*)?$/, loader: 'file-loader' },
- {test: /\.(png|jpg|svg)(\?.*)?$/, loader: 'url-loader?limit=16384'},
-
- {test: /\.json$/, loaders: ['json']},
- {test: /\.html$/, loaders: ['html']}
- ]
- },
- eslint: {
- configFile: './.eslintrc',
- emitError: true,
- emitWarning: true
+ colors: true,
+ exclude: ['node_modules']
+ },
+ setup: proxyServer
},
plugins: [
new webpack.DefinePlugin({
@@ -105,18 +50,17 @@ module.exports = {
DEBUG: true
}),
new webpack.HotModuleReplacementPlugin(),
- new webpack.ProgressPlugin(function (percentage, msg) {
- if (percentage == 0) {
- latestProgress = 0;
- console.log(); //new line
- }
- var progressVal = (percentage * 100).toFixed(0);
- if (progressVal > latestProgress) {
- latestProgress = progressVal
- //process.stdout.clearLine();
- process.stdout.write(msg + ' ' + progressVal + '%\r');
+ new webpack.LoaderOptionsPlugin({
+ options: {
+ eslint: {
+ configFile: './.eslintrc',
+ emitError: true,
+ emitWarning: true
+ },
+ context: '/'
}
})
]
+});
-};
+module.exports = webpackDevConfig;