@electron-forge/maker-deb
Version:
Deb maker for Electron Forge
50 lines • 3.33 kB
JavaScript
import path from 'node:path';
import { MakerBase } from '@electron-forge/maker-base';
/**
* Converts the Node.js architecture value of the processor architecture
* into a string accepted by `electron-installer-debian`.
*
* @param nodeArch - Node.js architecture string
* @returns - electron-installer-debian architecture string
*/
export function debianArch(nodeArch) {
switch (nodeArch) {
case 'ia32':
return 'i386';
case 'x64':
return 'amd64';
case 'arm64':
return 'arm64';
case 'armv7l':
return 'armhf';
case 'mips64el':
return 'mips64el';
default:
throw new Error(`Unsupported architecture ${nodeArch}`);
}
}
export default class MakerDeb extends MakerBase {
name = 'deb';
defaultPlatforms = ['linux'];
requiredExternalBinaries = ['dpkg'];
isSupportedOnCurrentPlatform() {
return this.isInstalled('electron-installer-debian');
}
async make({ dir, makeDir, targetArch }) {
// @ts-expect-error: this package has no types
const { default: installer } = await import('electron-installer-debian');
const outDir = path.resolve(makeDir, 'deb', targetArch);
await this.ensureDirectory(outDir);
const { packagePaths } = await installer({
options: {},
...this.config,
arch: debianArch(targetArch),
src: dir,
dest: outDir,
rename: undefined,
});
return packagePaths;
}
}
export { MakerDeb };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFrZXJEZWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTWFrZXJEZWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sNEJBQTRCLENBQUM7QUFLckU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxRQUFtQjtJQUM1QyxRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssTUFBTTtZQUNULE9BQU8sTUFBTSxDQUFDO1FBQ2hCLEtBQUssS0FBSztZQUNSLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLEtBQUssT0FBTztZQUNWLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLEtBQUssUUFBUTtZQUNYLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLEtBQUssVUFBVTtZQUNiLE9BQU8sVUFBVSxDQUFDO1FBQ3BCO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLE9BQU8sUUFBUyxTQUFRLFNBQXlCO0lBQzdELElBQUksR0FBRyxLQUFLLENBQUM7SUFFYixnQkFBZ0IsR0FBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU5Qyx3QkFBd0IsR0FBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTlDLDRCQUE0QjtRQUMxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFnQjtRQUNuRCw4Q0FBOEM7UUFDOUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRXpFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV4RCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxFQUFFO1lBQ1gsR0FBRyxJQUFJLENBQUMsTUFBTTtZQUNkLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQzVCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsU0FBUztTQUNsQixDQUFDLENBQUM7UUFFSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFFRCxPQUFPLEVBQUUsUUFBUSxFQUFrQixDQUFDIn0=