They say that this was fixed but it's still breaking on mine I have been working on it for so long and can't figure out what it is.
forge.config.ts
import type { ForgeConfig } from '@electron-forge/shared-types';
import { MakerSquirrel } from '@electron-forge/maker-squirrel';
import { MakerZIP } from '@electron-forge/maker-zip';
import { MakerDeb } from '@electron-forge/maker-deb';
import { MakerRpm } from '@electron-forge/maker-rpm';
import { MakerWix } from '@electron-forge/maker-wix';
import { MakerDMG } from '@electron-forge/maker-dmg';
import { VitePlugin } from '@electron-forge/plugin-vite';
import path from 'path';
const config: ForgeConfig = {
packagerConfig: {
ignore: [
/\.vite/,
/\.out/,
/vite\.renderer/,
/vite\..*/,
/README\.MD/,
/package-lock\..*/,
/project\.json/,
/\.env.*/,
/\.gitignore/,
/\.browserslistrc/,
/\.eslintrc\.json/,
/forge.*/,
],
name: 'name',
executableName: 'executableName',
icon: path.join(__dirname, 'assets', 'logo.icns'),
appBundleId: 'bundleName',
win32metadata: {
CompanyName: 'CompanyName',
FileDescription: 'FileDescription',
OriginalFilename: 'OriginalFilename',
ProductName: 'ProductName',
InternalName: 'InternalName',
},
osxNotarize: {
teamId: <teamId>,
appleId: process.env.APPLE_USERNAME || '',
appleIdPassword: process.env.APPLE_ID_PASSWORD || '',
},
osxSign: {
identity: '<identity>',
},
},
rebuildConfig: {},
makers: [
new MakerZIP({}, ['darwin', 'win32']),
new MakerDMG(
{
background: path.join(__dirname, 'assets', 'dmg-background.png'),
icon: path.join(__dirname, 'assets', 'logo.icns'),
format: 'ULFO',
iconSize: 80,
contents: [
{
x: 152,
y: 165,
type: 'file',
path: path,
name: name,
},
{ x: 388, y: 165, type: 'link', path: '/Applications', name: 'Applications' },
],
additionalDMGOptions: {
window: {
size: { width: 540, height: 352 },
},
},
},
['darwin']
),
new MakerDeb(
{
options: {
name: 'name',
icon: path.join(__dirname, 'assets', 'logo.png'),
productName: 'productName',
bin: 'bin',
},
},
['linux']
),
new MakerSquirrel(
{
name: 'name',
exe: 'exe',
certificateFile: path.join(__dirname, 'windows-certificate.pfx'),
certificatePassword: process.env.SHELL_WINDOWS_CODESIGN_CERTIFICATE_PASSWORD || '',
setupIcon: path.join(__dirname, 'assets', 'logo.ico'),
setupExe: 'exe',
},
['win32']
),
new MakerWix(
{
language: 1033,
manufacturer: '',
icon: path.join(__dirname, 'assets', 'logo.png'),
},
[]
),
new MakerRpm(
{
options: {},
},
[]
),
],
plugins: [
new VitePlugin({
build: [
{
// `entry` is just an alias for `build.lib.entry` in the corresponding file of config`.
entry: 'src/main.ts',
config: 'vite.main.config.ts',
},
{
entry: 'src/preload-main.ts',
config: 'vite.preload.config.ts',
},
{
entry: 'src/preload-alerts.ts',
config: 'vite.preload.config.ts',
},
],
renderer: [
{
name: 'main_window',
config: 'vite.renderer.config.ts',
},
],
}),
],
publishers: [
{
name: '@electron-forge/publisher-electron-release-server',
config: {
baseUrl: process.env.VITE_MAIN_ERS_SERVER_URL ?? '',
username: process.env.SHELL_ERS_USERNAME ?? '',
password: process.env.SHELL_ERS_PASSWORD ?? '',
flavor: process.env.VITE_MAIN_ERS_FLAVOR ?? 'stable',
},
},
],
};
export default config;
**Package.json**
{
"name": "",
"productName": "",
"version": "0.0.34",
"description": "",
"main": "dist/main.js",
"author": "W",
"license": "MIT",
"scripts": {
"start": "electron-forge start",
"package": "electron-forge package",
"make": "electron-forge make",
"test": "electron-forge import",
"make-beta": "VITE_MAIN_ERS_FLAVOR=beta electron-forge make",
"publish": "electron-forge publish && npm run sentry:sourcemaps",
"publish-beta": "VITE_MAIN_ERS_FLAVOR=beta electron-forge publish && npm run sentry:sourcemaps",
"sentry:sourcemaps": "sentry-cli sourcemaps inject --org weave-u5 --project electron-desktop-client ./dist && sentry-cli sourcemaps upload --org weave-u5 --project electron-desktop-client ./dist"
},
"devDependencies": {
"@electron-forge/cli": "^7.1.0",
"@electron-forge/maker-deb": "^7.1.0",
"@electron-forge/maker-dmg": "^7.1.0",
"@electron-forge/maker-rpm": "^7.1.0",
"@electron-forge/maker-squirrel": "^7.1.0",
"@electron-forge/maker-wix": "^7.1.0",
"@electron-forge/maker-zip": "^7.1.0",
"@electron-forge/plugin-vite": "^7.1.0",
"@electron-forge/publisher-electron-release-server": "^7.1.0",
"@electron-forge/shared-types": "^7.1.0",
"@sentry/vite-plugin": "^2.9.0",
"electron": "^27.1.0"
},
"dependencies": {
"@doyensec/electronegativity": "^1.10.3",
"@sentry/electron": "^4.14.0",
"electron-squirrel-startup": "^1.0.0",
"update-electron-app": "^2.0.1"
}
}
Also I am using Electron Release Server
To be able to release flavors under stable and beta so that I can control the versions are end users are on.
Breaks on all Operating systems