31 lines
835 B
JavaScript
31 lines
835 B
JavaScript
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');
|
|
}
|