aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/webpack.config.dev.js
diff options
context:
space:
mode:
Diffstat (limited to 'FrontEnd/webpack.config.dev.js')
-rw-r--r--FrontEnd/webpack.config.dev.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/FrontEnd/webpack.config.dev.js b/FrontEnd/webpack.config.dev.js
new file mode 100644
index 00000000..937ab3fb
--- /dev/null
+++ b/FrontEnd/webpack.config.dev.js
@@ -0,0 +1,53 @@
+const path = require("path");
+const webpack = require("webpack");
+const ReactRefreshWebpackPlugin = require("@pmmmwh/react-refresh-webpack-plugin");
+
+const config = require("./webpack.common");
+
+config.mode("development");
+
+config.module
+ .rule("ts")
+ .use("babel")
+ .options({
+ plugins: ["react-refresh/babel"],
+ });
+
+config.module
+ .rule("js")
+ .use("babel")
+ .options({
+ plugins: ["react-refresh/babel"],
+ });
+
+config.module
+ .rule("css")
+ .use("style")
+ .before("css")
+ .loader("style-loader")
+ .end();
+
+config.module
+ .rule("sass")
+ .use("style")
+ .before("css")
+ .loader("style-loader")
+ .end();
+
+config.devtool("eval-cheap-module-source-map");
+
+config.resolve.set("fallback", {
+ querystring: require.resolve("querystring-es3"),
+});
+
+config.devServer
+ .contentBase(path.resolve(__dirname, "public/"))
+ .host("0.0.0.0")
+ .port(3000)
+ .historyApiFallback(true)
+ .hotOnly(true);
+
+config.plugin("hot").use(webpack.HotModuleReplacementPlugin);
+config.plugin("react-refresh").use(new ReactRefreshWebpackPlugin());
+
+module.exports = config.toConfig();