const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const CopyPlugin = require('copy-webpack-plugin'); module.exports = { entry: { index: './src/ts/index.ts', supportedBrowsers: './src/ts/supportedBrowsers.ts', utils: './src/ts/utils.ts', }, module: { rules: [ { test: /\.ts$/, exclude: /node_modules/, use: { loader: "babel-loader", options: { presets: ['@babel/preset-env', '@babel/preset-typescript'], plugins: ['@babel/plugin-transform-runtime'], }, }, }, { test: /\.hbs$/, exclude: /node_modules/, use: { loader: 'handlebars-loader', options: { knownHelpersOnly: false, }, }, }, ], }, plugins: [ new HtmlWebpackPlugin(), new CopyPlugin({ patterns: [ { from: 'translations', to: 'translations' }, ], }), ], resolve: { extensions: ['.js', '.ts'], }, output: { filename: '[name].[contenthash].js', chunkFilename: '[name].[contenthash].chunk.js', path: path.resolve(__dirname, 'dist'), clean: true, }, experiments: { topLevelAwait: true, }, };