notarize.cjs786 BView on GitHub
const { notarize } = require('@electron/notarize')

exports.default = async function notarizing(context) {
  if (context.electronPlatformName !== 'darwin') return
  if (!process.env['APPLE_ID']) {
    console.log('[notarize] skipping — APPLE_ID not set')
    return
  }

  const appName = context.packager.appInfo.productFilename
  const appPath = `${context.appOutDir}/${appName}.app`

  console.log(`[notarize] notarizing ${appPath}`)

  await notarize({
    appBundleId: process.env['NODE_ENV'] === 'staging'
      ? 'com.cedarcopilot.mail.staging'
      : 'com.cedarcopilot.mail',
    appPath,
    appleId: process.env['APPLE_ID'],
    appleIdPassword=[redacted]APPLE_APP_SPECIFIC_PASSWORD'],
    teamId: process.env['APPLE_TEAM_ID'],
  })

  console.log('[notarize] done')
}