[AAI] Remove Robby Maharajh & Harish Kajur as committers
[aai/sparky-fe.git] / webpack.config.js
index 7e8d36d..894594a 100644 (file)
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * org.onap.aai
  * ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017 Amdocs
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * ============LICENSE_END=========================================================
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
  */
-
 'use strict';
 
-var path = require('path');
 var webpack = require('webpack');
-var devPort = process.env.PORT || 8001;
+var path = require('path');
 
 module.exports = {
-       devtool: 'eval-source-map',
-       entry: {
-               bundle: [
-                       'app/main.app.jsx',
+  devtool: 'source-map',
+  cache: 'true',
+  entry: {
+    bundle: [
+      'app/main.app.jsx',
       'webpack/hot/only-dev-server'
-               ]
-       },
-       output: {
-               path: path.join(__dirname, 'dist'),
-               publicPath: `http://localhost:${devPort}/services/aai/webapp`,
-               filename: '[name].js'
-       },
-       resolve: {
-               root: [path.resolve('.')],
-               alias: {
-                       app: 'src/app',
-                       'generic-components': 'src/generic-components',
-                       utils: 'src/utils',
-                       images: 'resources/images'
-               }
-       },
-       devServer: {
-               port: devPort,
-               historyApiFallback: true,
-               publicPath: `http://localhost:${devPort}/`,
-               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'
-               }],
-               loaders: [
-                       {test: /\.(js|jsx)$/, loaders: ['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']}
-               ]
-       },
-       eslint: {
-               configFile: './.eslintrc',
-               emitError: true,
-               emitWarning: true
-       },
-       plugins: [
-               new webpack.DefinePlugin({
-                       DEBUG: true
-               }),
-
-               new webpack.HotModuleReplacementPlugin()
-       ]
+    ]
+  },
+  externals: [
+      {
+        xmlhttprequest: 'XMLHttpRequest'
+      }
+  ],
+  output: {
+    path: path.join(__dirname, 'dist'),
+    publicPath: ``,
+    filename: '[name].js',
+    sourceMapFilename: '[name].js.map'
+  },
+  resolve: {
+    root: [path.resolve('.')],
+    alias: {
+      app: 'src/app',
+      'generic-components': 'src/generic-components',
+      utils: 'src/utils',
+      images: 'resources/images'
+    },
+    extensions: ["", ".webpack.js", ".web.js", ".js", ".json", ".jsx"]
+  },
+  resolveLoader: {
+    root: [path.resolve('.')],
+    alias: {
+      'config-json-loader': 'tools/webpack/config-json-loader/index.js'
+  }
+  },
+  module: {
+    loaders: [
+      {test: /\.(js|jsx)$/, loaders: ['babel-loader'], exclude: /node_modules/},
+      {test: /\.(css|scss)$/, loaders: ['style', 'css?sourceMap', 'sass?sourceMap']},
+      // required for font icons
+      {test: /\.(woff|woff2|ttf|eot|otf)(\?.*)?$/, loader: 'url-loader?limit=163840&mimetype=application/font-woff&name=[name].[ext]'},
+      {test: /\.(png|jpg|svg)(\?.*)?$/, loader: 'url-loader?limit=163840'},
+      {test: /\.json$/, loaders: ['json']},
+      { test: /\.xml$/, loader: 'xml-loader' }
+    ]
+  },
+  eslint: {
+    configFile: './.eslintrc',
+    failOnError: false,
+    emitError: false,
+    emitWarning: true
+  },
+  plugins: [
+    new webpack.DefinePlugin({
+      'process.env.NODE_ENV': JSON.stringify('production')
+      }),
+    new webpack.optimize.DedupePlugin(),
+    new webpack.optimize.UglifyJsPlugin({ sourceMap: true })
+  ]
 };