Files
threshold-ui/ui/desktop/electron-app/src/cli/index.js
T

22 lines
814 B
JavaScript

const { spawnSync } = require('../helpers/spawn-promise.js');
const { path } = require('./path.js');
module.exports = {
// Check boundary cli existence
exists: () => Boolean(path()),
// Returns JSON-formatted version information from the CLI
version: () => {
const command = ['-v'];
const rawOutput = spawnSync(command);
let gitRevision = /Git Revision:\s*(?<rev>.*)\n/.exec(rawOutput);
let versionNumber = /Version Number:\s*(?<ver>.*)\n/.exec(rawOutput);
if (gitRevision) gitRevision = gitRevision.groups.rev;
if (versionNumber) versionNumber = versionNumber.groups.ver;
const formatted = versionNumber
? `CLI Version: ${versionNumber}\nCLI Commit: ${gitRevision}`
: `CLI Commit: ${gitRevision}`;
return { gitRevision, versionNumber, formatted };
},
};