All files / makers/linux deb.js

69.23% Statements 9/13
20% Branches 1/5
100% Functions 2/2
69.23% Lines 9/13
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32              1x   1x               1x 1x   1x 1x         1x   1x 1x    
import installer from 'electron-installer-debian';
import path from 'path';
import pify from 'pify';
 
import { ensureFile } from '../../util/ensure-output';
 
function debianArch(nodeArch) {
  switch (nodeArch) {
    case 'ia32': return 'i386';
    case 'x64': return 'amd64';
    case 'armv7l': return 'armhf';
    case 'arm': return 'armel';
    default: return nodeArch;
  }
}
 
export default async (dir, appName, targetArch, forgeConfig, packageJSON) => { // eslint-disable-line
  const arch = debianArch(targetArch);
  const outPath = path.resolve(dir, '../make', `${packageJSON.name}_${packageJSON.version}_${arch}.deb`);
 
  await ensureFile(outPath);
  const debianDefaults = {
    arch,
    dest: path.dirname(outPath),
    src: dir,
  };
  const debianConfig = Object.assign({}, forgeConfig.electronInstallerDebian, debianDefaults);
 
  await pify(installer)(debianConfig);
  return [outPath];
};