@process-engine/ci_tools
Version:
CI tools for process-engine.io
59 lines (57 loc) • 2.37 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.printHelp = exports.getShortDoc = exports.run = void 0;
const yargsParser = require("yargs-parser");
const parse_version_1 = require("../versions/parse_version");
const package_version_1 = require("../versions/package_version");
const COMMAND_NAME = 'get-version';
const DEFAULT_MODE = 'node';
const DOC = `
Returns the package version.
OPTIONS
--mode sets the package mode [dotnet, node, python] (default: node)
--major gets the major version segment (returns <X> for <X>.<Y>.<Z>)
--release-channel-name gets the release channel name (returns <name> for <X>.<Y>.<Z>-<name>.<number>)
--release-channel-number gets the release channel number (returns <number> for <X>.<Y>.<Z>-<name>.<number>)
`;
async function run(...args) {
const argv = yargsParser(args, { alias: { help: ['h'] }, default: { mode: DEFAULT_MODE } });
const mode = argv.mode;
const getMajor = argv.major;
const getReleaseChannelName = argv.releaseChannelName;
const getReleaseChannelNumber = argv.releaseChannelNumber;
if (getMajor) {
const majorVersion = await (0, package_version_1.getMajorPackageVersion)(mode);
console.log(majorVersion);
return true;
}
const packageVersion = await (0, package_version_1.getPackageVersion)(mode);
if (getReleaseChannelName) {
const parsedVersion = (0, parse_version_1.parseVersion)(packageVersion);
console.log(parsedVersion.releaseChannelName);
return true;
}
if (getReleaseChannelNumber) {
const parsedVersion = (0, parse_version_1.parseVersion)(packageVersion);
if (!parsedVersion.releaseChannelNumber) {
console.log(`Could not determine release channel number for version "${packageVersion}"`);
process.exit(1);
}
console.log(parsedVersion.releaseChannelNumber);
return true;
}
console.log(packageVersion);
return true;
}
exports.run = run;
function getShortDoc() {
return DOC.trim().split('\n')[0];
}
exports.getShortDoc = getShortDoc;
function printHelp() {
console.log(`Usage: ci_tools ${COMMAND_NAME} [--major] [--mode <MODE>]`);
console.log('');
console.log(DOC.trim());
}
exports.printHelp = printHelp;
//# sourceMappingURL=get-version.js.map
;