const HtmlWebpackPlugin = require("html-webpack-plugin") const HardSourceWebpackPlugin = require("hard-source-webpack-plugin") module.exports = [ { mode: "production", entry: "./src/electron.ts", target: "electron-main", module: { rules: [ { test: /\.ts$/, include: /src/, resolve: { extensions: [".ts", ".js"], }, use: [{ loader: "ts-loader" }], }, ], }, output: { devtoolModuleFilenameTemplate: "[absolute-resource-path]", path: __dirname + "/dist", filename: "electron.js", }, node: { __dirname: false, }, plugins: [new HardSourceWebpackPlugin()], }, { mode: "production", entry: "./src/preload.ts", target: "electron-preload", module: { rules: [ { test: /\.ts$/, include: /src/, resolve: { extensions: [".ts", ".js"], }, use: [{ loader: "ts-loader" }], }, ], }, output: { path: __dirname + "/dist", filename: "preload.js", }, plugins: [new HardSourceWebpackPlugin()], }, { mode: "production", entry: "./src/index.tsx", target: "web", devtool: "source-map", performance: { hints: false, }, module: { rules: [ { test: /\.ts(x?)$/, include: /src/, resolve: { extensions: [".ts", ".tsx", ".js"], }, use: [{ loader: "ts-loader" }], }, ], }, output: { path: __dirname + "/dist", filename: "index.js", }, plugins: [ new HardSourceWebpackPlugin(), new HtmlWebpackPlugin({ template: "./src/index.html", }), ], }, ]