29 lines
825 B
JavaScript
29 lines
825 B
JavaScript
const path = require("path");
|
|
const { notarize } = require("@electron/notarize");
|
|
|
|
exports.default = async function notarizing(context) {
|
|
const { electronPlatformName, appOutDir } = context;
|
|
if (electronPlatformName !== "darwin") return;
|
|
|
|
const appleId = process.env.APPLE_ID;
|
|
const appleIdPassword = process.env.APPLE_ID_PASSWORD;
|
|
const teamId = process.env.APPLE_TEAM_ID;
|
|
|
|
if (!appleId || !appleIdPassword || !teamId) {
|
|
console.log("[notarize] Skipped: APPLE_ID / APPLE_ID_PASSWORD / APPLE_TEAM_ID not set.");
|
|
return;
|
|
}
|
|
|
|
const appName = context.packager.appInfo.productFilename;
|
|
const appPath = path.join(appOutDir, `${appName}.app`);
|
|
|
|
console.log(`[notarize] Notarizing ${appPath}`);
|
|
await notarize({
|
|
tool: "notarytool",
|
|
appPath,
|
|
appleId,
|
|
appleIdPassword,
|
|
teamId
|
|
});
|
|
};
|