diff options
Diffstat (limited to 'openecomp-ui/webpack.config.js')
-rw-r--r-- | openecomp-ui/webpack.config.js | 130 |
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; |