UNPKG

@amplitude/ampli

Version:

Amplitude CLI

52 lines (51 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const chalk_1 = require("chalk"); const lodash_1 = require("lodash"); const base_1 = require("./base"); const { bold, red, cyan } = chalk_1.default; const branchInfo = (params) => { const { name, version, isCurrent, isDeleted } = params; const info = []; if (isCurrent) { info.push(bold('current')); } if (version) { info.push(`version ${bold(version)}`); } if (isDeleted) { info.push(red.bold('deleted in tracking plan')); } const openParen = !lodash_1.isEmpty(info) ? '(' : ''; const closeParen = !lodash_1.isEmpty(info) ? ')' : ''; return ` → ${name} ${openParen}${info.join(', ')}${closeParen}`; }; class BranchAction extends base_1.default { async run() { const settings = this.getSettings(); const orgId = settings.getOrgId(); const workspaceId = settings.getWorkspaceId(); const branchName = settings.getBranch(); const versionNumber = settings.getVersion(); const { branches } = await this.getOrgWorkspaceBranches(orgId, workspaceId); this.println(cyan('Branches:')); branches .forEach(b => { const isCurrent = (!branchName && b.default) || branchName === b.name; this.println(branchInfo({ name: b.name, version: isCurrent ? versionNumber : undefined, isCurrent, })); }); if (branchName && branches.every(b => b.name !== branchName)) { this.println(branchInfo({ name: branchName, version: versionNumber, isCurrent: true, isDeleted: true, })); } } } exports.default = BranchAction;