const webpack = require("webpack");
const CopyWebpackPlugin = require("copy-webpack-plugin");
const TerserPlugin = require('terser-webpack-plugin');
+const proxyConf = require('../../proxy.conf');
+
+const policies = require('./policies.json');
// const __dirname = (path => path.replace(/^([a-z]\:)/, c => c.toUpperCase()))(process.__dirname());
context: path.resolve(__dirname, "src"),
entry: {
- configurationApp: ["./plugin.tsx"]
+ configurationApp: ["./pluginConfiguration.tsx"]
},
devtool: env === "release" ? false : "source-map",
output: {
path: distPath,
filename: "[name].js",
- library: "[name]",
+ library: "configurationApp",
libraryTarget: "umd2",
chunkFilename: "[name].js"
},
use: [{
loader: "babel-loader"
}]
+ },{
+ //don't minify images
+ test: /\.(png|gif|jpg|svg)$/,
+ use: [{
+ loader: 'url-loader',
+ options: {
+ limit: 10,
+ name: './images/[name].[ext]'
+ }
+ }]
}]
},
manifest: require(path.resolve(frameworkPath, "app-manifest.json")),
sourceType: "umd2"
}),
- new CopyWebpackPlugin([{
- from: "assets",
- to: path.resolve(distPath, "assets")
- }]),
- ...(env === "release") ? [
+ ...(env === "release" ? [
new webpack.DefinePlugin({
"process.env": {
NODE_ENV: "'production'",
from: 'index.html',
to: distPath
}]),
- ]
+ ])
],
+ watchOptions: {
+ ignored: /node_modules/
+ },
+
devServer: {
- public: "http://localhost:3100",
contentBase: frameworkPath,
compress: true,
stats: {
colors: true
},
- proxy: {
- "/oauth2/": {
- target: "http://localhost:3000",
- secure: false
- },
- "/database/": {
- target: "http://localhost:3000",
- secure: false
- },
- "/restconf/": {
- target: "http://localhost:3000",
- secure: false
- },
- "/help/": {
- target: "http://localhost:3000",
- secure: false
- },
- "/websocket/": {
- target: "http://localhost:3000",
- ws: true,
- changeOrigin: true,
- secure: false
- }
- }
+ before: function(app, server, compiler) {
+ app.get('/oauth/policies',(_, res) => res.json(policies));
+ },
+ proxy: proxyConf,
}
}];
}