From 0aaf74a3db067c719dea6713e055d194939177fc Mon Sep 17 00:00:00 2001 From: sanasol Date: Wed, 28 Jan 2026 15:14:59 +0100 Subject: [PATCH] fix: add verbose logging to notarize script for debugging Co-Authored-By: Claude Opus 4.5 --- scripts/notarize.js | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/scripts/notarize.js b/scripts/notarize.js index b8970ac..2ae3890 100644 --- a/scripts/notarize.js +++ b/scripts/notarize.js @@ -1,25 +1,50 @@ -const { notarize } = require('@electron/notarize'); +console.log('[Notarize] Script loaded'); + +let notarize; +try { + notarize = require('@electron/notarize').notarize; + console.log('[Notarize] @electron/notarize loaded successfully'); +} catch (err) { + console.error('[Notarize] Failed to load @electron/notarize:', err.message); + throw err; +} + const path = require('path'); exports.default = async function notarizing(context) { + console.log('[Notarize] afterSign hook called'); + console.log('[Notarize] Context:', JSON.stringify({ + platform: context.electronPlatformName, + appOutDir: context.appOutDir, + outDir: context.outDir + }, null, 2)); + const { electronPlatformName, appOutDir } = context; // Only notarize macOS builds if (electronPlatformName !== 'darwin') { - console.log('Skipping notarization: not macOS'); + console.log('[Notarize] Skipping: not macOS'); return; } - // Skip if credentials not provided (local builds) - if (!process.env.APPLE_ID || !process.env.APPLE_APP_SPECIFIC_PASSWORD || !process.env.APPLE_TEAM_ID) { - console.log('Skipping notarization: missing credentials (APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD, or APPLE_TEAM_ID)'); + // Check credentials + const hasAppleId = !!process.env.APPLE_ID; + const hasPassword = !!process.env.APPLE_APP_SPECIFIC_PASSWORD; + const hasTeamId = !!process.env.APPLE_TEAM_ID; + + console.log('[Notarize] Credentials check:', { hasAppleId, hasPassword, hasTeamId }); + + if (!hasAppleId || !hasPassword || !hasTeamId) { + console.log('[Notarize] Skipping: missing credentials'); return; } const appName = context.packager.appInfo.productFilename; const appPath = path.join(appOutDir, `${appName}.app`); - console.log(`Notarizing ${appPath}...`); + console.log('[Notarize] Starting notarization...'); + console.log('[Notarize] App path:', appPath); + console.log('[Notarize] Team ID:', process.env.APPLE_TEAM_ID); try { await notarize({ @@ -28,9 +53,10 @@ exports.default = async function notarizing(context) { appleIdPassword: process.env.APPLE_APP_SPECIFIC_PASSWORD, teamId: process.env.APPLE_TEAM_ID, }); - console.log('Notarization complete!'); + console.log('[Notarize] Notarization complete!'); } catch (error) { - console.error('Notarization failed:', error); + console.error('[Notarize] Notarization failed:', error.message); + console.error('[Notarize] Full error:', error); throw error; } };