const { notarize } = require('@electron/notarize'); let warned = false; exports.default = async function(context) { const { electronPlatformName, appOutDir } = context; const appId = context.packager.info.appInfo.id; if (electronPlatformName === 'darwin') { const appName = context.packager.appInfo.productFilename; const keychainProfile = process.env.NOTARIZE_KEYCHAIN_PROFILE; if (keychainProfile === undefined) { if (!warned) { console.log("*****************************************"); console.log("* NOTARIZE_KEYCHAIN_PROFILE is not set. *"); console.log("* This build will NOT be notarised. *"); console.log("*****************************************"); warned = true; } return; } console.log("Notarising macOS app. This may be some time."); return await notarize({ tool: "notarytool", appBundleId: appId, appPath: `${appOutDir}/${appName}.app`, keychainProfile, keychain: process.env.NOTARIZE_KEYCHAIN, }); } };