Files
MeshChatX/forge.config.js

74 lines
2.0 KiB
JavaScript

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: '24.08',
sdk: 'org.freedesktop.Sdk',
base: 'org.electronjs.Electron2.BaseApp',
baseVersion: '24.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,
}),
],
};