const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const FaviconsWebpackPlugin = require('favicons-webpack-plugin'); const {CleanWebpackPlugin} = require('clean-webpack-plugin'); module.exports = { entry: './src/script.js', output: { filename: 'main.js', path: path.resolve(__dirname, 'dist'), }, devServer: { open: true, }, module: { rules: [ { test: /\.css$/i, use: [MiniCssExtractPlugin.loader, 'css-loader'], }, { test: /\.(png|jpe?g|gif)$/i, use: [ { loader: 'file-loader', }, ], }, ], }, plugins: [ new CleanWebpackPlugin(), new HtmlWebpackPlugin({ template: './public/index.html', filename: 'index.html', favicon: './public/favicon.ico', }), new MiniCssExtractPlugin(), new FaviconsWebpackPlugin({ logo: './public/icon-512x512.png', manifest: './public/manifest.json', }), ], };