blob: ea598ba13be13aabade912cbf943bb5a350d54e6 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 webpack = require("webpack");
const { merge } = require("webpack-merge");
const commonPaths = require("./paths");
const commonConfig = require("./webpack.config.js");
const devConfig = merge(commonConfig, {
mode: "development",
devtool: "inline-source-map",
module: {
rules: [
{
test: /\.css$/,
use: ["style-loader", "css-loader"]
}
]
},
devServer: {
host: commonPaths.host,
port: commonPaths.port,
hot: true, // Explicit hot reload
open: false, // Prevent auto-opening browser
historyApiFallback: true,
allowedHosts: "all", // Security setting for v5
client: {
overlay: false // Restore pre-v5 behavior: errors in console only
},
proxy: [
{
context: ["/service", "/login", "/logout"],
target: `${commonPaths.proxyHost}:${commonPaths.proxyPort}`,
secure: false,
changeOrigin: true // Better proxy handling
}
]
}
});
module.exports = devConfig;