All files / util rebuild.js

100% Statements 14/14
100% Branches 0/0
100% Functions 5/5
100% Lines 10/10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23          3x 3x 3x   3x 3x   3x 10x     5x 5x   3x      
import rebuild from 'electron-rebuild';
 
import asyncOra from '../util/ora-handler';
 
export default async (buildPath, electronVersion, platform, arch) => {
  await asyncOra('Preparing native dependencies', async (rebuildSpinner) => {
    const rebuilder = rebuild(buildPath, electronVersion, arch);
    const { lifecycle } = rebuilder;
 
    let found = 0;
    let done = 0;
 
    const redraw = () => {
      rebuildSpinner.text = `Preparing native dependencies: ${done} / ${found}`; // eslint-disable-line
    };
 
    lifecycle.on('module-found', () => { found += 1; redraw(); });
    lifecycle.on('module-done', () => { done += 1; redraw(); });
 
    await rebuilder;
  });
};