Notes/apps/desktop/electron-forge/sign-windows.cjs
2025-05-01 20:45:04 +03:00

36 lines
1.0 KiB
JavaScript

const child_process = require("child_process");
const fs = require("fs");
const path = require("path");
function sign(sourcePath) {
const { WINDOWS_SIGN_EXECUTABLE } = process.env;
if (!WINDOWS_SIGN_EXECUTABLE) {
console.warn("[Sign] Skip signing due to missing environment variable.");
return;
}
try {
const command = `${WINDOWS_SIGN_EXECUTABLE} --executable "${sourcePath}"`;
console.log(`[Sign] ${command}`);
child_process.execSync(command);
} catch (e) {
console.error("[Sign] Got error while signing " + e.output.toString("utf-8"));
printSigningErrorLogs();
process.exit(2);
}
}
function printSigningErrorLogs() {
const logLocation = path.join(path.dirname(WINDOWS_SIGN_EXECUTABLE), "ev_signer_trilium.err.log");
if (!fs.existsSync(logLocation)) {
console.warn("[Sign] No debug log file found.");
return;
}
const logContent = fs.readFileSync(logLocation, "utf-8");
console.error("[Sign] Debug log content:\n" + logContent);
}
module.exports = sign;