const HtmlWebpackPlugin = require('html-webpack-plugin'); const UglifyJSPlugin = require('uglifyjs-webpack-plugin'); const CopyPlugin = require('copy-webpack-plugin'); let config = { devtool: 'source-map', mode: 'production', target: "electron-renderer", entry: { index: "./src/renderer/index.js", serial: "./src/renderer/handler.js", about: "./src/renderer/about.js", esptools: "./src/renderer/esptools.js", update: "./src/renderer/update.js" }, output: { path: __dirname + "/dist/renderer/", filename: "[name].js" }, optimization: { minimize: false, // minimizer: [ // new UglifyJSPlugin({ // parallel: true, // sourceMap: true // }) // ], splitChunks: { chunks: 'all', minSize: 30000, minChunks: 1, maxAsyncRequests: 5, maxInitialRequests: 3, name: 'lib.min' }, runtimeChunk: { name: 'lib.min' } }, plugins: [ new HtmlWebpackPlugin({ filename: "index.html", template: "./src/renderer/assets/template.ejs", chunks: ['lib.min', 'index'] }), new HtmlWebpackPlugin({ filename: "serialport.html", template: "./src/renderer/assets/template.ejs", chunks: ['lib.min', 'serial'] }), new HtmlWebpackPlugin({ filename: "aboutus.html", template: "./src/renderer/assets/aboutus.ejs", title: "About Us", chunks: ['lib.min', 'about'] }), new HtmlWebpackPlugin({ filename: "esptools.html", template: "./src/renderer/assets/esptools.ejs", title: "Esptools", chunks: ['lib.min', 'esptools'] }), new HtmlWebpackPlugin({ filename: "update.html", template: "./src/renderer/assets/update.ejs", title: "Update", chunks: ['lib.min', 'update'] }), new CopyPlugin({ patterns:[ { from: __dirname + "/src/renderer/cocoblockly-x/", to: "cocoblockly-x/" }, { from: __dirname + "/src/renderer/assets/upload_error.json" }] }), new HtmlWebpackPlugin({ filename: "upload.html", template: "./src/renderer/assets/template.ejs", chunks: ['lib.min', 'upload'] }), new CopyPlugin({ patterns:[ { from: __dirname + "/src/static/common/ccrb.key" }] }), new CopyPlugin({ patterns:[ { from: __dirname + "/src/static/common/ccrb.crt" }] }) ] }; module.exports = config;