All files / makers/linux flatpak.js

75% Statements 9/12
25% Branches 1/4
100% Functions 2/2
75% Lines 9/12
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-flatpak';
import path from 'path';
import pify from 'pify';
 
import { ensureFile } from '../../util/ensure-output';
 
function flatpakArch(nodeArch) {
  switch (nodeArch) {
    case 'ia32': return 'i386';
    case 'x64': return 'x86_64';
    case 'armv7l': return 'arm';
    // arm => arm
    default: return nodeArch;
  }
}
 
export default async (dir, appName, targetArch, forgeConfig, packageJSON) => { // eslint-disable-line
  const arch = flatpakArch(targetArch);
  const outPath = path.resolve(dir, '../make', `${packageJSON.name}_${packageJSON.version}_${arch}.flatpak`);
 
  await ensureFile(outPath);
  const flatpakDefaults = {
    arch,
    dest: path.dirname(outPath),
    src: dir,
  };
  const flatpakConfig = Object.assign({}, forgeConfig.electronInstallerFlatpak, flatpakDefaults);
 
  await pify(installer)(flatpakConfig);
  return [outPath];
};