bolt.new / notarize.cjs
GamerC0der
Add application file
bf8b26e
const { notarize } = require('@electron/notarize');
exports.default = async function notarizing(context) {
const { electronPlatformName, appOutDir } = context;
if (electronPlatformName !== 'darwin') {
return;
}
// Skip notarization when identity is null (development build)
if (!context.packager.config.mac || context.packager.config.mac.identity === null) {
console.log('Skipping notarization: identity is null');
return;
}
const appName = context.packager.appInfo.productFilename;
const appBundleId = context.packager.config.appId;
try {
console.log(`Notarizing ${appBundleId} found at ${appOutDir}/${appName}.app`);
await notarize({
tool: 'notarytool',
appPath: `${appOutDir}/${appName}.app`,
teamId: process.env.APPLE_TEAM_ID,
});
console.log(`Done notarizing ${appBundleId}`);
} catch (error) {
console.error('Notarization failed:', error);
throw error;
}
};