bitwarden-desktop/scripts/after-sign.js

36 lines
1.1 KiB
JavaScript

require('dotenv').config();
const { notarize } = require('electron-notarize');
const child = require('child_process');
exports.default = run;
async function run(context) {
console.log('## After sign');
// console.log(context);
const appleId = process.env.APPLEID;
const appName = context.packager.appInfo.productFilename;
const appPath = `${context.appOutDir}/${appName}.app`;
const macBuild = context.electronPlatformName === 'darwin';
if (macBuild) {
console.log('### Sign App w/ Safari Extension');
const proc = child.spawn('gulp', ['signMac']);
stdOutProc(proc);
await new Promise((resolve) => proc.on('close', resolve));
console.log('### Notarizing ' + appPath);
return await notarize({
appBundleId: 'com.bitwarden.desktop',
appPath: appPath,
appleId: appleId,
appleIdPassword: `@keychain:AC_PASSWORD`,
});
}
}
function stdOutProc(proc) {
proc.stdout.on('data', (data) => console.log(data.toString()));
proc.stderr.on('data', (data) => console.error(data.toString()));
}