import { notarize } from '@electron/notarize'; export default async function notarizeIfConfigured(context) { const { electronPlatformName, appOutDir, packager } = context; if (electronPlatformName !== 'darwin') { return; } const appleId = process.env.APPLE_ID; const appleIdPassword = process.env.APPLE_APP_SPECIFIC_PASSWORD; const teamId = process.env.APPLE_TEAM_ID; if (!appleId || !appleIdPassword || !teamId) { console.log('[notarize] Skipped: APPLE_ID / APPLE_APP_SPECIFIC_PASSWORD / APPLE_TEAM_ID not set'); return; } const appName = packager.appInfo.productFilename; const appPath = `${appOutDir}/${appName}.app`; console.log(`[notarize] Submitting ${appPath}`); await notarize({ appPath, appleId, appleIdPassword, teamId, }); console.log('[notarize] Completed'); }