|
|
|
// Copyright 2020 Thomas Hintz
|
|
|
|
//
|
|
|
|
// This file is part of the Alpha Centauri Farming project.
|
|
|
|
//
|
|
|
|
// The Alpha Centauri Farming project is free software: you can
|
|
|
|
// redistribute it and/or modify it under the terms of the GNU General
|
|
|
|
// Public License as published by the Free Software Foundation, either
|
|
|
|
// version 3 of the License, or (at your option) any later version.
|
|
|
|
//
|
|
|
|
// The Alpha Centauri Farming project is distributed in the hope that
|
|
|
|
// it will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
|
|
// implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
|
|
// PURPOSE. See the GNU General Public License for more details.
|
|
|
|
//
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
|
|
// along with the Alpha Centauri Farming project. If not, see
|
|
|
|
// <https://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
const merge = require('webpack-merge');
|
|
|
|
const common = require('./webpack.common.js');
|
|
|
|
const path = require('path');
|
|
|
|
|
|
|
|
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
|
|
|
|
|
|
|
|
module.exports = function(env) {
|
|
|
|
return merge(common, {
|
|
|
|
mode: 'development',
|
|
|
|
devtool: 'inline-source-map',
|
|
|
|
devServer: {
|
|
|
|
port: 9000,
|
|
|
|
contentBase: './dist',
|
|
|
|
hot: true,
|
|
|
|
proxy: {
|
|
|
|
'/websocket': {
|
|
|
|
target: 'ws://localhost:8080',
|
|
|
|
ws: true
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
resolve: {
|
|
|
|
modules: [path.resolve(__dirname, 'src'),
|
|
|
|
path.resolve(__dirname, env.assets),
|
|
|
|
'node_modules']
|
|
|
|
},
|
|
|
|
plugins: [
|
|
|
|
new ReactRefreshWebpackPlugin()
|
|
|
|
],
|
|
|
|
module: {
|
|
|
|
rules: [
|
|
|
|
{
|
|
|
|
test: /\.jsx?$/,
|
|
|
|
exclude: /node_modules/,
|
|
|
|
use: [
|
|
|
|
{
|
|
|
|
loader: require.resolve('babel-loader'),
|
|
|
|
options: {
|
|
|
|
plugins: [require.resolve('react-refresh/babel')],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|