Files
farm/webpack.dev.js

66 lines
2.1 KiB
JavaScript
Raw Normal View History

2020-02-05 18:04:50 -08:00
// 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');
2020-08-28 09:35:02 -07:00
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
2020-02-05 18:04:50 -08:00
module.exports = function(env) {
return merge(common, {
mode: 'development',
devtool: 'inline-source-map',
2020-08-28 09:21:40 -07:00
devServer: {
port: 9000,
contentBase: './dist',
2020-08-28 09:35:02 -07:00
hot: true,
2020-08-28 09:21:40 -07:00
proxy: {
'/websocket': {
target: 'ws://localhost:8080',
ws: true
},
},
},
2020-02-05 18:04:50 -08:00
resolve: {
modules: [path.resolve(__dirname, 'src'),
path.resolve(__dirname, env.assets),
'node_modules']
},
2020-08-28 09:35:02 -07:00
plugins: [
new ReactRefreshWebpackPlugin()
],
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
use: [
{
loader: require.resolve('babel-loader'),
options: {
plugins: [require.resolve('react-refresh/babel')],
},
},
],
},
],
},
2020-02-05 18:04:50 -08:00
});
}