DocSpace-buildtools/web/ASC.Web.Editor/webpack/dev/webpack.dev.client.js

50 lines
1.4 KiB
JavaScript

const webpack = require("webpack");
const { merge } = require("webpack-merge");
const baseClientConfig = require("../webpack.base.client");
const path = require("path");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const pkg = require("../../package.json");
const homepage = pkg.homepage;
const clientConfig = {
mode: "development",
entry: {
client: [
"webpack-hot-middleware/client?reload=true&noInfo=true",
"./src/client/index.js",
],
},
output: {
devtoolModuleFilenameTemplate: (info) =>
path.resolve(info.absoluteResourcePath).replace(/\\/g, "/"),
},
devtool: "inline-cheap-module-source-map",
devServer: {
devMiddleware: {
publicPath: homepage,
},
static: {
directory: path.join(__dirname, "dist/client"),
publicPath: homepage,
},
port: 5013,
historyApiFallback: {
// Paths with dots should still use the history fallback.
// See https://github.com/facebook/create-react-app/issues/387.
disableDotRule: true,
index: homepage,
},
hot: true,
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
"Access-Control-Allow-Headers":
"X-Requested-With, content-type, Authorization",
},
},
plugins: [new CleanWebpackPlugin(), new webpack.HotModuleReplacementPlugin()],
};
module.exports = merge(baseClientConfig, clientConfig);