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