@jasonscheirer/electron-forge-maker-msix
Version:
An `electron-forge` maker for MSIX that supports `electron-forge` v6 and can be used as a replacement for `electron-builder`. Supports code-signing.
43 lines • 1.67 kB
JavaScript
import { sign } from '@electron/windows-sign';
import fs from 'fs-extra';
import { log } from './run';
export const codesign = async (config, outPath) => {
if (config.codesign) {
try {
if ((await fs.stat(outPath)).isDirectory()) {
log(`Signing directory ${outPath}`);
await sign({
...config.codesign,
appDirectory: outPath,
hashes: ['sha256'],
});
}
else {
log(`Signing file ${outPath}`);
await sign({
...config.codesign,
files: [outPath],
hashes: ['sha256'],
});
}
}
catch (error) {
console.error('Failed to codesign using @electron/windows-sign. Check your config and the output for details!', error);
throw error;
}
// Setup signing. If these variables are set, app-builder-lib will actually
// codesign.
if (!process.env.CSC_LINK && config.codesign.certificateFile) {
log(`Setting process.env.CSC_LINK to ${config.codesign.certificateFile}`);
process.env.CSC_LINK = config.codesign.certificateFile;
}
if (!process.env.CSC_KEY_PASSWORD && config.codesign.certificatePassword) {
log('Setting process.env.CSC_KEY_PASSWORD to the passed password');
process.env.CSC_KEY_PASSWORD = config.codesign.certificatePassword;
}
}
else {
log("Skipping code signing, if you need it set 'config.codesign'");
}
};
//# sourceMappingURL=sign.js.map