UNPKG

@jwpkg/gitversion

Version:

Gitversion is a complete customizable git-based release management system

47 lines 3.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Executor = void 0; const console_1 = require("console"); const cross_spawn_extra_1 = require("cross-spawn-extra"); const process_1 = require("process"); class Executor { cwd; logger; constructor(cwd, logger) { this.cwd = cwd; this.logger = logger; } async exec(commandAndArgs, options) { const fullCommand = commandAndArgs.join(' '); const result = await (0, cross_spawn_extra_1.async)(commandAndArgs[0], commandAndArgs.splice(1), { cwd: options?.cwd ?? this.cwd, env: process.env, }); if (result.error) { this.logError(`${result.error}`, options); throw console_1.error; } if (result.exitCode !== 0) { this.logError(`Executing command non-zero exit code: ${result.exitCode}`, options); this.logError(`Executed command: [${fullCommand}]`, options); this.logError(`Error output: ${result.output.toString()}`, options); throw new Error('Non-zero exitcode'); } if (options?.normalizeOutput === false) { return process_1.stdout.toString(); } else { return result.stdout .toString() .replace(/\\r?\\n?$/, '') .trim(); } } logError(message, options) { if (options?.silent !== true) { this.logger.reportError(message); } } } exports.Executor = Executor; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9leGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBZ0M7QUFDaEMseURBQTZEO0FBQzdELHFDQUFpQztBQWVqQyxNQUFhLFFBQVE7SUFDQztJQUFxQjtJQUF6QyxZQUFvQixHQUFXLEVBQVUsTUFBbUI7UUFBeEMsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWE7SUFBSSxDQUFDO0lBRWpFLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBd0IsRUFBRSxPQUEwQztRQUM3RSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBQSx5QkFBZSxFQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hGLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHO1lBQzdCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztTQUNqQixDQUFDLENBQUM7UUFFSCxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLE1BQU0sZUFBSyxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLHlDQUF5QyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsV0FBVyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsZUFBZSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sZ0JBQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sTUFBTSxDQUFDLE1BQU07aUJBQ2pCLFFBQVEsRUFBRTtpQkFDVixPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztpQkFDeEIsSUFBSSxFQUFFLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFlLEVBQUUsT0FBOEI7UUFDdEQsSUFBSSxPQUFPLEVBQUUsTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFwQ0QsNEJBb0NDIn0=