const { FusesPlugin } = require('@electron-forge/plugin-fuses'); const { FuseV1Options, FuseVersion } = require('@electron/fuses'); module.exports = { packagerConfig: { asar: { unpack: 'build/exe/**/*', }, executableName: 'reticulum-meshchatx', name: 'Reticulum MeshChatX', appBundleId: 'com.sudoivan.reticulummeshchatx', icon: 'electron/build/icon', // osxSign: {}, // Uncomment and configure for macOS signing // osxNotarize: { ... }, // Uncomment and configure for macOS notarization }, rebuildConfig: {}, makers: [ { name: '@electron-forge/maker-squirrel', config: { name: 'reticulum_meshchatx', }, }, { name: '@electron-forge/maker-zip', platforms: ['darwin'], }, { name: '@electron-forge/maker-deb', config: { options: { maintainer: 'Sudo-Ivan', homepage: 'https://git.quad4.io/RNS-Things/MeshChatX', categories: ['Network'], }, }, }, { name: '@electron-forge/maker-rpm', config: {}, }, { name: '@electron-forge/maker-flatpak', config: { options: { categories: ['Network'], runtime: 'org.freedesktop.Platform', runtimeVersion: '23.08', sdk: 'org.freedesktop.Sdk', base: 'org.electronjs.Electron2.BaseApp', baseVersion: '23.08', }, }, }, ], plugins: [ { name: '@electron-forge/plugin-auto-unpack-natives', config: {}, }, // Fuses are used to enable/disable various Electron functionality // at package time, before code signing the application new FusesPlugin({ version: FuseVersion.V1, [FuseV1Options.RunAsNode]: false, [FuseV1Options.EnableCookieEncryption]: true, [FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false, [FuseV1Options.EnableNodeCliInspectArguments]: false, [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true, [FuseV1Options.OnlyLoadAppFromAsar]: true, }), ], };