Notes/apps/desktop/electron-forge/sign-windows.cjs

32 lines
952 B
JavaScript
Raw Normal View History

2025-03-23 23:22:22 +02:00
const child_process = require("child_process");
const fs = require("fs");
const path = require("path");
2025-03-23 23:22:22 +02:00
module.exports = function (sourcePath) {
const { WINDOWS_SIGN_EXECUTABLE } = process.env;
if (!WINDOWS_SIGN_EXECUTABLE) {
console.warn("[Sign] Skip signing due to missing environment variable.");
return;
}
const destPath = path.resolve(path.basename(sourcePath));
try {
fs.copyFileSync(sourcePath, destPath);
} catch (e) {
console.error(`Unable to copy ${sourcePath} -> ${destPath}: ${e.message}`);
process.exit(1);
}
const command = `${WINDOWS_SIGN_EXECUTABLE} --executable "${destPath}"`;
2025-03-24 12:05:46 +02:00
console.log(`[Sign] ${command}`);
try {
child_process.execSync(command);
} catch (e) {
console.error("[Sign] Got error while signing " + e.output.toString("utf-8"));
process.exit(2);
} finally {
fs.rmSync(destPath);
}
2025-03-23 23:22:22 +02:00
}