diff --git a/desktop/forge.config.cjs b/desktop/forge.config.cjs --- a/desktop/forge.config.cjs +++ b/desktop/forge.config.cjs @@ -100,5 +100,18 @@ fs.copy('../web/typography.css', './assets/typography.css'), ]); }, + prePackage: async (forgeConfig, platform, arch) => { + if ( + arch === 'universal' && + (fs.existsSync('./out/Comm-darwin-x64') || + fs.existsSync('./out/Comm-darwin-arm64')) + ) { + throw new Error( + 'Due to a bug in @electron/universal, please first run ' + + '`yarn clean-build` or remove previous builds artifacts: ' + + '"out/Comm-darwin-x64" and/or "out/Comm-darwin-arm64"\n', + ); + } + }, }, }; diff --git a/desktop/package.json b/desktop/package.json --- a/desktop/package.json +++ b/desktop/package.json @@ -14,7 +14,8 @@ "dev": "ENV=dev electron-forge start", "package": "electron-forge package", "make": "electron-forge make", - "clean": "rm -rf assets/ && rm -rf dist/ && rm -rf out/ && rm -rf node_modules/" + "clean": "rm -rf assets/ && rm -rf dist/ && yarn clean-build && rm -rf node_modules/", + "clean-build": "rm -rf out/" }, "dependencies": { "@babel/runtime": "^7.20.1"