1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
/* eslint-disable */
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: ['./src/index'],
mode: process.env.NODE_ENV || 'development',
//devtool: false,
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
exclude: /node_modules/, // should work without exclude
test: /\.js$/,
use: ['babel-loader'],
},
{
include: /node_modules\/react-lifecycles-compat/, // should work without exclude
test: /\.js$/,
use: ['babel-loader'],
},
{
include: /node_modules\/react-dom/,
test: /\.jsx?$/,
use: {
loader: 'react-hot-loader/webpack',
options: {
noRegister: true,
cacheBreaker: 1,
},
},
},
],
},
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
alias: {
// 'react-dom': '@hot-loader/react-dom',
// react: path.resolve(path.join(__dirname, './node_modules/react')),
// 'react-hot-loader': path.resolve(
// path.join(__dirname, './node_modules/react-hot-loader'),
// ),
// 'babel-core': path.resolve(
// path.join(__dirname, './node_modules/@babel/core'),
// ),
},
},
plugins: [
new HtmlWebpackPlugin({
// uncomment this line to test RHL in "secure" env
// template: "index_csp.html",
}),
new webpack.NamedModulesPlugin(),
],
};
|