const path = require('path'); const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry: path.join(__dirname, "src", "index.js"), output: { filename: 'main.js', path: path.resolve(__dirname, 'dist'), clean: true, }, resolve: { alias: { 'client': path.join(__dirname, '../pkg/'), 'react-dom': path.resolve('./node_modules/react-dom'), react: path.resolve('./node_modules/react') }, fallback: { "buffer": require.resolve("buffer"), }, extensions: ['*', '.js', '.jsx'], }, mode: "development", devServer: { static: { directory: path.join(__dirname, 'dist'), }, compress: true, port: 9000, client: { logging: 'none', progress: true, overlay: { errors: true, warnings: false, } }, }, module: { rules: [ { test: /\.(js|jsx)$/, exclude: /node_modules/, use: ["babel-loader"], }, { test: /\.css?$/, use: 'css-loader', }, ], }, plugins: [ new webpack.ProvidePlugin({ Buffer: ['buffer', 'Buffer'], }), new HtmlWebpackPlugin({ template: path.join(__dirname, "public", "index.html"), }), ], experiments: { asyncWebAssembly: true, topLevelAwait: true } };