All files cli.js

100% Statements 57/57
100% Branches 10/10
100% Functions 2/2
100% Lines 57/57

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 571x 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 1x 1x 3x 2x 2x 2x 3x 3x 1x 1x 1x 1x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 1x 1x 1x 1x 1x 1x 1x 1x
"use strict"
import bag from 'bagofcli';
import Jenkins from 'nestor';
import p from 'path';
import querystring from 'querystring';
import NestorBuildLight from './nestorbuildlight.js';
 
const DIRNAME = p.dirname(import.meta.url).replace('file://', '');
 
function _run(args) {
 
  const buildLightOpts = {
    scheme        : args.scheme ? args.scheme.split(',') : undefined,
    map           : args.map ? querystring.parse(args.map, ',', '=') : undefined,
    usbled        : args.usbled,
    blinkOnFailure: args.blinkOnFailure
  };
 
  const jenkinsOpts = {
    job     : args.job,
    view    : args.view,
    schedule: args.schedule
  };
 
  const jenkins = new Jenkins(process.env.JENKINS_URL);
  jenkins.monitor(jenkinsOpts, function (err, result) {
    if (err) {
      console.error(err.message);
      process.exit(1);
    } else {
      const nestorBuildLight = new NestorBuildLight(buildLightOpts);
      nestorBuildLight.notify(result);
    }
  });
}
 
/**
 * Execute Nestor BuildLight CLI.
 */
function exec() {
 
  const actions = {
    commands: {
      run: { action: _run }
    }
  };
 
  bag.command(DIRNAME, actions);
}
 
const exports = {
  exec: exec
};
 
export {
  exports as default
};