UNPKG

@electron-forge/maker-rpm

Version:

Rpm maker for Electron Forge

50 lines • 3.47 kB
import path from 'node:path'; import { MakerBase } from '@electron-forge/maker-base'; function renameRpm(dest, _src) { return path.join(dest, '<%= name %>-<%= version %>-<%= revision %>.<%= arch === "aarch64" ? "arm64" : arch %>.rpm'); } /** * Converts the Node.js architecture value of the processor architecture * into a string accepted by `electron-installer-redhat`. * * @param nodeArch - Node.js architecture string * @returns - electron-installer-redhat architecture string */ export function rpmArch(nodeArch) { switch (nodeArch) { case 'ia32': return 'i386'; case 'x64': return 'x86_64'; case 'arm64': return 'aarch64'; case 'armv7l': return 'armv7hl'; default: throw new Error(`Unsupported architecture ${nodeArch}`); } } export default class MakerRpm extends MakerBase { name = 'rpm'; defaultPlatforms = ['linux']; requiredExternalBinaries = ['rpmbuild']; isSupportedOnCurrentPlatform() { return this.isInstalled('electron-installer-redhat'); } async make({ dir, makeDir, targetArch }) { // @ts-expect-error - this package has no types const { default: installer } = await import('electron-installer-redhat'); const outDir = path.resolve(makeDir, 'rpm', targetArch); await this.ensureDirectory(outDir); const { packagePaths } = await installer({ ...this.config, arch: rpmArch(targetArch), src: dir, dest: outDir, rename: renameRpm, }); return packagePaths; } } export { MakerRpm }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFrZXJScG0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTWFrZXJScG0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sNEJBQTRCLENBQUM7QUFLckUsU0FBUyxTQUFTLENBQUMsSUFBWSxFQUFFLElBQVk7SUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNkLElBQUksRUFDSiwyRkFBMkYsQ0FDNUYsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLFFBQW1CO0lBQ3pDLFFBQVEsUUFBUSxFQUFFLENBQUM7UUFDakIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxRQUFRLENBQUM7UUFDbEIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxTQUFTLENBQUM7UUFDbkI7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE9BQU8sT0FBTyxRQUFTLFNBQVEsU0FBeUI7SUFDN0QsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUViLGdCQUFnQixHQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTlDLHdCQUF3QixHQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFbEQsNEJBQTRCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQWdCO1FBQ25ELCtDQUErQztRQUMvQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFekUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXhELE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxTQUFTLENBQUM7WUFDdkMsR0FBRyxJQUFJLENBQUMsTUFBTTtZQUNkLElBQUksRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3pCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsU0FBUztTQUNsQixDQUFDLENBQUM7UUFDSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFFRCxPQUFPLEVBQUUsUUFBUSxFQUFrQixDQUFDIn0=