const HtmlWebpackPlugin = require('html-webpack-plugin'); //installed via npm const path = require('path'); module.exports = { entry: './src/index.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js', globalObject: `typeof self !== 'undefined' ? self : this`, }, module: { rules: [ { test: /\.scss$/, use: [ { loader: "style-loader" }, { loader: "css-loader" }, { loader: "sass-loader" }, ], }, { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'], plugins: [ '@babel/plugin-transform-runtime', [ '@babel/plugin-proposal-class-properties', { loose: true }, ], ], }, }, }, { test: /\.worker\.js$/, use: { loader: 'worker-loader' }, }, ], }, plugins: [ new HtmlWebpackPlugin({ template: './src/index.html' }), ], devServer: { contentBase: path.join(__dirname, 'dist'), compress: true, port: 8080, hot: true, } };