66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| const webpack = require("webpack");
 | |
| const { merge } = require("webpack-merge");
 | |
| const FriendlyErrorsPlugin = require("friendly-errors-webpack-plugin");
 | |
| const HtmlWebpackPlugin = require("html-webpack-plugin");
 | |
| const helpers = require("./helpers");
 | |
| const commonConfig = require("./webpack.config.common");
 | |
| const environment = require("./env/dev.env");
 | |
| const MiniCSSExtractPlugin = require("mini-css-extract-plugin");
 | |
| 
 | |
| let webpackConfig = merge(commonConfig(true), {
 | |
|   mode: "development",
 | |
|   devtool: "eval-cheap-module-source-map",
 | |
|   output: {
 | |
|     path: helpers.root("dist"),
 | |
|     publicPath: "/",
 | |
|     filename: "js/[name].bundle.js",
 | |
|   },
 | |
|   optimization: {
 | |
|     concatenateModules: true,
 | |
|     splitChunks: {
 | |
|       chunks: "initial",
 | |
|     },
 | |
|   },
 | |
|   plugins: [
 | |
|     new webpack.EnvironmentPlugin(environment),
 | |
|     new FriendlyErrorsPlugin(),
 | |
|     new MiniCSSExtractPlugin({
 | |
|       filename: "css/[name].css",
 | |
|     }),
 | |
|   ],
 | |
|   devServer: {
 | |
|     compress: true,
 | |
|     historyApiFallback: true,
 | |
|     host: "0.0.0.0",
 | |
|     hot: true,
 | |
|     overlay: true,
 | |
|     stats: {
 | |
|       normal: true,
 | |
|     },
 | |
|     proxy: {
 | |
|       "/api": {
 | |
|         target: "http://localhost:30030",
 | |
|         changeOrigin: true,
 | |
|       },
 | |
|       "/socket.io": {
 | |
|         target: "ws://localhost:30030",
 | |
|         changeOrigin: false,
 | |
|         ws: true,
 | |
|       },
 | |
|     },
 | |
|     writeToDisk: false,
 | |
|   },
 | |
| });
 | |
| 
 | |
| webpackConfig = merge(webpackConfig, {
 | |
|   plugins: [
 | |
|     new HtmlWebpackPlugin({
 | |
|       template: "frontend/templates/Index.html",
 | |
|     }),
 | |
|   ],
 | |
| });
 | |
| 
 | |
| module.exports = webpackConfig;
 |