summaryrefslogtreecommitdiffstats
path: root/usecaseui-holmes/src/main/webapp/config/webpack.common.js
diff options
context:
space:
mode:
Diffstat (limited to 'usecaseui-holmes/src/main/webapp/config/webpack.common.js')
-rw-r--r--usecaseui-holmes/src/main/webapp/config/webpack.common.js115
1 files changed, 115 insertions, 0 deletions
diff --git a/usecaseui-holmes/src/main/webapp/config/webpack.common.js b/usecaseui-holmes/src/main/webapp/config/webpack.common.js
new file mode 100644
index 00000000..ba0ed8e5
--- /dev/null
+++ b/usecaseui-holmes/src/main/webapp/config/webpack.common.js
@@ -0,0 +1,115 @@
+/* Copyright 2017 ZTE Corporation.
+ *
+ *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.
+ */
+const ContextReplacementPlugin = require('webpack/lib/ContextReplacementPlugin');
+const CheckerPlugin = require('awesome-typescript-loader').CheckerPlugin;
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin');
+
+const webpack = require('webpack');
+const helpers = require('./helpers');
+const path = require('path');
+
+
+
+
+
+module.exports = {
+ entry: {
+ 'main': './alarm/main.browser.ts',
+ 'vendor': './alarm/vendor.ts',
+ 'polyfills': './alarm/polyfills.browser.ts'
+ },
+ resolve: {
+
+ extensions: ['.js', '.ts', '.json'],
+ },
+ module: {
+
+ rules: [
+ {
+ test: /\.ts$/,
+ use: [
+
+ {
+ loader: 'awesome-typescript-loader',
+ options: {
+ }
+ },
+ {
+ loader: 'angular2-template-loader'
+ }
+ ],
+ exclude: [/\.(spec|e2e)\.ts$/]
+ },
+
+ {
+ test: /\.json$/,
+ use: 'json-loader'
+ },
+ {
+ test: /\.css$/,
+ use: ['to-string-loader', 'css-loader?sourceMap'],
+ include: helpers.root('alarm', 'app'),
+ exclude: [helpers.root('alarm/assets'), helpers.root('public')]
+ },
+ {
+ test: /\.html$/,
+ use: 'raw-loader',
+ include: [helpers.root('alarm/app')],
+ exclude: [helpers.root('alarm/index.html')]
+ },
+
+
+ {
+ test: /\.(png|jpe?g|gif|ico|svg)$/,
+ include: [helpers.root('public')
+ ],
+ use: 'file-loader?name=assets/images/[name].[hash].[ext]'
+ },
+
+
+ {
+ test: /\.(eot|woff2?|svg|ttf)([\?]?.*)$/,
+ include: [helpers.root('public', 'thirdparty')
+ ],
+ use: 'file-loader?name=assets/fonts/[name].[hash].[ext]'
+ }
+
+ ],
+
+ },
+
+ plugins: [
+
+ new CheckerPlugin(),
+
+ new ContextReplacementPlugin(
+ /angular(\\|\/)core(\\|\/)alarm(\\|\/)linker/,
+ helpers.root('alarm'),
+ {
+ }
+ ),
+
+ new HtmlWebpackPlugin({
+ template: 'alarm/index.html',
+ }),
+
+ new webpack.optimize.CommonsChunkPlugin({
+ name: ['main', 'vendor', 'polyfills']
+ }),
+
+ ]
+};