process.env.NODE_ENV = process.env.NODE_ENV || “production”;
const path = require(“path”); const DotEnvPlugin = require(“dotenv-webpack”); const HtmlWebpackPlugin = require(“html-webpack-plugin”); const { config } = require(“@rails/webpacker”); const environment = require(“../../environment”);
Object.keys(environment.entry)
.filter((key) => !key.match(/^electron/)) .forEach((entry) => { environment.entry.delete(entry); });
const electronConfig = {
target: "electron-renderer", entry: { electron: path.resolve( "./", config.source_path, config.source_entry_path, "electron/renderer.js", ), }, output: { path: path.resolve(config.outputPath, "../", "packs-electron"), publicPath: "/packs-electron/", filename: "renderer.production.js", }, plugins: [ new DotEnvPlugin(), new HtmlWebpackPlugin({ title: "Electron App", template: path.resolve(config.outputPath, "../", "electron.html"), }), ],
};
environment.config.merge(electronConfig);
module.exports = environment.toWebpackConfig();